ArchLinux - ERROR: Unable to find root device /dev/sda1 ...
Die Tage habe ich mir ein virtuelles ArchLinux aufgesetzt und nach der Installation erstmal mit Patches versorgt und VMware Tools installiert. Offensichtlich ist dabei etwas schief gelaufen - der nächste Boot führte nämlich ins Nirvana:
1ERROR: Unable to find root device /dev/sda1 ...
2You are being dropped to a recovery shell
3 Type 'exit' to try and continue booting
4sh: can't access tty; job control turned off
5[rootfs /]#
Das Problem ist: Beim Aktualisieren ist (warum auch immer) udev deinstalliert worden. Beim Aktualisieren des Kernels wurde udev also nicht berücksichtigt und somit auch irgendein Treiber vergessen.
Die Lösung: Um das Problem zu beheben muss mithilfe der ArchLinux CD in das System "gechrootet" und udev und der Linux-Kernel (re-)installiert werden - hierfür wird natürlich eine Verbindung zum Internet benötigt (die auch noch hergestellt werden muss):
1# km
2...
3# mount /dev/sda1 /mnt
4# swapon /dev/sda2
5# mount --bind /dev /mnt/dev
6# mount --bind /tmp /mnt/tmp
7# mount -t proc proc /mnt/proc
8# mount -t sysfs none /mnt/sys
9# chroot /mnt /bin/bash
10# ip link set eth0 up
11# dhcpcd eth0
12# pacman -S udev
13# pacman -S linux
Nach einem Reboot sollte das Ganze wieder funktionieren - alternativ kann es auch helfen, das benötigte Controller-Modul in die /etc/mkinitcpio.conf
aufzunehmen. Bei VMware VMs ist das wahrscheinlich (Workstation 7+, IDE-Konfiguration) ata_piix
:
1# vim /etc/mkinitcpio.conf
2...
3MODULES="ata_piix"
In dem Fall müsste der Kernel auch neu gebaut werden:
1# pacman -S linux