Zainstalowałem najnowszą wersję ArchLinux (2014.06.01) na MacBooku Pro 8,1 (15 ", jeśli ma to znaczenie sprzętowe) podwójnego uruchamiania z OSX, postępując zgodnie z instrukcjami w oficjalnej instrukcji instalacji . Jednak przy ponownym uruchomieniu do nowo zainstalowanego systemu, umieszcza mnie w powłoce odzyskiwania:
ERROR: device 'UUID=<snip>' not found. Skipping fsck.
ERROR: Unable to find root device 'UUID=<snip>'.
You are being dropped to a recovery shell
Type 'exit' to try and continue booting
sh: can't access tty: job control turned off
[rootfs /]#
(Usunąłem UUID, ponieważ nie chciałem go wpisywać, ale jest taki sam jak ten podany mi przez blkid
(z dysku instalacyjnego) dla partycji, na której jest zainstalowany ArchLinux)
Inne internetowych źródła sugerują, jest to spowodowane przestarzałym pacman
, udev
, filesystem
lub linux
opakowaniu. Opisują jednak ten problem dopiero po aktualizacji jądra z działającego systemu, a nie nowej instalacji. Wymusiłem ponowną instalację tych pakietów ze arch-chroot
środowiska podczas rozruchu na dysk instalacyjny, ale to nie zmieniło sytuacji.
Zamiast tego trochę eksperymentów z moimi grub.cfg
pokazuje, że cokolwiek narzeka, to root
parametr linux
polecenia wybierającego, którego vmlinuz
pliku użyć. Rzeczywiście, zmiana root=UUID=<snip>
na root=LABEL=ArchLinux
lub root=/dev/sda8
(oba opisują, gdzie jest zainstalowany ArchLinux i na pewno z powodzeniem korzystałem z drugiej wersji z inną dystrybucją) daje odpowiednio Unable to find root device 'LABEL=ArchLinux'
i Unable to find root device '/dev/sda8'
. Co więcej, GRUB wydaje się być w stanie znaleźć partycję na podstawie UUID, tylko jądro Linuksa skarży się, że nie zostało znalezione, ponieważ początkowy ramdysk jest poprawnie załadowany (tj. Nie jest to błąd GRUB, jak opisano tutaj, ale raczej błąd linux) .
Na marginesie: powłoka odzyskiwania jest poważnie ograniczona, a standardowe wyjście nie działa poprawnie. Niemniej jednak ls
działa, a lista plików pokazuje podstawowy (tymczasowy) system plików, ale wydaje się, że brakuje wszystkich urządzeń dyskowych /dev
. Nie wiem jednak, czy jest to część błędu, czy nie.
Jest to podobne, ale nie takie samo, jak Linux nie znajduje systemu plików root podczas uruchamiania , ponieważ partycja była od początku ext4 . Nie jest to dokładnie to samo, ale być może istotne jest to, że nie można uruchomić ArchLinux na Macbooku 7.1 - spada do powłoki odzyskiwania , jednak tam spada do ramfs
powłoki zamiast rootfs
powłoki i komunikaty o błędach różnią się.
Wystąpił podobny problem, ale z inną konfiguracją. Używam ArchLinux na maszynie wirtualnej, a moim programem ładującym jest syslinux. Użyłem twojej sztuczki, zmieniając kolejność haków jądra, ale nadal skończyłem w powłoce rootfs.
Co ustalona problem dla mnie było zmienić
APPEND
linię w moimsyslinux.cfg
zdo
Możesz łatwo dołączyć
PARTUUID
do niegosyslinux.cfg
za pomocą polecenia, np.blkid | grep sda1 | awk '{ print $7 }' >> /boot/syslinux/syslinux.cfg
Zakładając, że twoja partycja root to/dev/sda1
Następnie możesz użyć swojego ulubionego edytora tekstu, aby przenieść linię na odpowiednie miejsce.
EDYCJA: Właśnie rozpoznałem, że numer kolumny w małym skrypcie awk może się różnić, więc lepiej przyjrzyj się wynikowi przed włożeniem go do
syslinux.cfg
źródło