Nie można uruchomić Archlinux po aktualizacji: Nie można znaleźć UUID

10

Zaktualizowałem archlinux za pomocą „pacman -Syu”, a następnie po ponownym uruchomieniu systemu nie można uruchomić. To jest raport:

Warning: /lib/modules/4.11.9-1-ARCH/modules.devname not found - ignoring
version 232
Error: device 'UUID=b5a9a977-e9a7-4d3d-96a9-dcf9c3a9010d' not found. Skipping fsck.
Error: can't find UUID=b5a9a977-e9a7-4d3d-96a9-dcf9c3a9010d 
You are now being dropped into a emergency shell.
Can't access tty: job control turned off

W tej powłoce moja klawiatura nie działa.

Próbuję z archivux na żywo: montowanie partycji i używanie chroot. Sprawdzam identyfikator UUID partycji root w „/ etc / fstab”. To mój fstab:

# /dev/sda2 UUID=b5a9a977-e9a7-4d3d-96a9-dcf8c3a9010d   /           ext4        rw,relatime,data=ordered    0 1  
# /dev/sda1 UUID=FBA9-977B          /boot       vfat        rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2  
# /dev/sda4 UUID=a43b8426-c93a-4f32-99c8-9dd5cf645373   /home       ext4        rw,relatime,data=ordered    0 2  
# /dev/sda3 UUID=9eec735e-3157-4e0e-a5c6-ef3a7c674201   none        swap        defaults    0

I to wynik „lsblk -f”

NAME   FSTYPE   LABEL       UUID                                 MOUNTPOINT
loop0  squashfs                                                  /run/archiso/sfs/airootfs
sda                                                              
├─sda1 vfat                 FBA9-977B                            
├─sda2 ext4                 b5a9a977-e9a7-4d3d-96a9-dcf8c3a9010d /mnt
├─sda3 swap                 9eec735e-3157-4e0e-a5c6-ef3a7c674201 
└─sda4 ext4                 a43b8426-c93a-4f32-99c8-9dd5cf645373 /mnt/home

Zaktualizowałem system ponownie za pomocą „pacman -Syu” i próbowałem zrobić „mkinitcpio -p linux”, ale to nie rozwiązało problemu (pomimo wyniku polecenia jest w porządku). To jest raport:

==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 4.11.9-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [block]
  -> Running build hook: [block]
WARNING: Possubly missing firmware for module: aic94xx
WARNING: Possubly missing firmware for module: wd719x
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 4.11.9-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [block]
WARNING: Possubly missing firmware for module: aic94xx
WARNING: Possubly missing firmware for module: wd719x
  -> Running build hook: [modconf]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful

Próbowałem zmienić kolejność HAKI w „/etc/mkinitcpio.conf”. Ale to nie działa. To jest bieżące zamówienie:

base udev block autodetect modconf filesystems keyboard fsck

„uname -r” zwraca:

4.11.7-1-ARCH

Zwraca „pacman -Q linux”:

linux 4.11.9-1

Plik ostrzeżenia „/lib/modules/4.11.9-1-ARCH/modules.devnam” istnieje.

Próbowałem zainstalować i używać „linux-lts”, ale rezultat jest taki sam. Używam gruba i też próbowałem go przekonfigurować.

Co mogę zrobić?

Lifka
źródło
3
/bootnie został zamontowany po uruchomieniu aktualizacji; stąd brakujące moduły. Chroot, upewnij się, że wszystko jest poprawnie zamontowane i ponownie uruchom aktualizację.
jasonwryan
To jest problem ... Nie mogę zrozumieć, jak nie zdawałem sobie sprawy. Dziękuję bardzo, JasonWryan.
Lifka,

Odpowiedzi:

10

Właśnie zapomniałem zamontować boot (dziękuję, JasonWryan).

Rozwiązaniem tego problemu w moim przypadku było:

  1. Użyj livecd, aby zamontować wszystkie partycje i użyj chroot.
  2. Aktualizacja:

    pacman -Syu

  3. Zregeneruj initramfs używając:

    mkinitcpio -p linux

  4. Jeśli używasz grub:

    grub-mkconfig -o /mnt/boot/grub/grub.cfg

  5. Uruchom ponownie

Lifka
źródło
3
FYI używam arch-chrootna łuku zamiast po prostuchroot
Nepoxx
Jako dodatek do tej odpowiedzi: w przypadku, gdy fallback initramfsdziała i używasz go do naprawy, użyj /boot/grub/grub.cfg. Nie musisz też arch-chrootczy flashować USB, jeśli go wyczyściłeś. (lub go zgubiłem :)
Linux4win
Działa również dla mnie. Dzięki stary.
Marcin
0

Oto, co zadziałało dla mnie (antergo, podwójnie uruchamiany z Windows 10). To niewielka modyfikacja powyższej odpowiedzi.

  1. Użyj aktywnego usb do zamontowania partycji root i boot. Polecenia dla nich są tutaj . W tym przypadku moją partycją rozruchową była partycja EFI-boot (gruba).
  2. Aktualizacja:

    pacman -Syu

  3. Zregeneruj initramfs używając:

    mkinitcpio -p linux

  4. Jeśli używasz grub:

    grub-mkconfig -o /boot/grub/grub.cfg

  5. Uruchom ponownie

Flamand
źródło
1
Tak, twoja odpowiedź jest o kilka słów dłuższa niż odpowiedź Lifki. Oprócz pewnej gadatliwości, co dodałeś, aby twój post wyróżniał się jako nowa, inna odpowiedź?
G-Man mówi „Przywróć Monikę”