warning: /lib/modules/3.17.1-1-ARCH/modules.devname not found -- ignoring ERROR: Unable to find root device 'UUID of root device'. You are being dropped to a recovery shell Type 'exit' to try continue booting sh: can't access tty; job control turned off [rootfs /]#
カーネルのダウングレードとか試したが、結局udev (systemd)とmkinitcpioの再インストールとカーネルのイメージを作りなおすことで解決。Arch Linuxには、よくある症状っぽい。以下、修復手順。
Live CDを作成
Arch Linuxの公式サイトからOSをダンロードして、CDなどにイメージとして書き込む。書き込みソフトはBraseroなどを使うと簡単。「イメージとして書き込む」を選択して、OSのイメージファイルを選択して、書き込み開始。Live CDからArch Linuxの起動
Live CDをセットして、BiosからCDをブートしてx86_64のArch Linuxを起動する。起動しなくなったLinuxが存在するrootパーティションをマウントする。例えば/mnt/archにマウントする。
# mkdir /mnt/arch # mount /dev/sda3 /mnt/arch
/bootや/varが別のパーティションに存在する場合は、マウントする。自分の環境では、/bootが/dev/sda2に存在するので、
# mount /dev/sda2 /mnt/arch/boot
さらに、APIファイルシステムをマウントする。
# cd /mnt/arch # mount -t proc proc proc/ # mount --rbind /sys sys/ # mount --rbind /dev dev/
ファイルシステムのマウントができたら、chrootする。
# chroot /mnt/arch /bin/bash
必要であれば、dhcpdを起動する。
# dhcpcd eth0 または、 # dhcpd enp3s0
カーネルイメージの作り直し
chrootができたら、カーネルイメージの作り直す。イメージを作る前に、udevとmkinitcpioを再インストールする。# pacman -Syy # pacman -Syu # pacman -S udev #これでsystemdが再インストールされる。 # pacman -S mkinitcpio # pacman -S linux # mkinitcpio -p linux
カーネルイメージの作り直しが成功したら、chroot環境を抜けだし再起動する。
# exit # cd / # umount --recursive /mnt/arch/ # reboot
自分の環境では、これでOSが起動するようになった。Arch Linuxが起動しなくなるのは、アップデートの時に、カーネルイメージがうまくできなかったり、udevとかmkinitcpioがうまくアップデートされなかった時に起きるらしい。
参考:
[1]Change root
[2]Unable to find root device - after updating
[3]Repairing Broken Arch Linux
スポンサーリンク
0 件のコメント:
コメントを投稿