Não é possível iniciar o archlinux após a atualização: Não é possível encontrar o uuid

10

Atualizei o archlinux com "pacman -Syu" e, quando reinicio, o sistema não pode ser iniciado. Este é o relatório:

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

Nesse shell, meu teclado não funciona.

Estou tentando com um livecd do archlinux: montar as partições e usar o chroot. Verifico o uuid da partição raiz em "/ etc / fstab". É o meu 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

E é o resultado de "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

Atualizei o sistema novamente com "pacman -Syu" e tentei criar "mkinitcpio -p linux", mas ele não resolveu o problema (apesar do resultado do comando, está ok). Este é o relatório:

==> 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

Tentei mudar a ordem dos HOOKS em "/etc/mkinitcpio.conf". Mas isso não funciona. Esta é a ordem atual:

base udev block autodetect modconf filesystems keyboard fsck

"uname -r" retorna:

4.11.7-1-ARCH

"pacman -Q linux" retorna:

linux 4.11.9-1

O arquivo de warning "/lib/modules/4.11.9-1-ARCH/modules.devnam" existe.

Eu tentei instalar e usar "linux-lts", mas o resultado é o mesmo. Eu uso o grub e tentei reconfigurá-lo também.

O que eu posso fazer?

Lifka
fonte
3
/bootnão foi montado quando você executou a atualização; daqui os módulos ausentes. Faça o chroot, verifique se tudo está montado corretamente e execute a atualização novamente.
jasonwryan
Esse é o problema ... não consigo entender como não percebi. Muito obrigado, jasonwryan.
Lifka

Respostas:

10

Acabei de esquecer o mount boot (obrigado, jasonwryan).

A solução para esse problema, no meu caso, foi:

  1. Use um livecd para montar todas as partições e use chroot.
  2. Atualizar:

    pacman -Syu

  3. Gere novamente o initramfs usando:

    mkinitcpio -p linux

  4. Se você usa o grub:

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

  5. Reiniciar.

Lifka
fonte
3
FYI usar arch-chrootem arco ao invés de simplesmentechroot
Nepoxx
Como complemento a esta resposta: caso fallback initramfsfuncione e você o utilize para reparo, use /boot/grub/grub.cfg. Então você também não precisa fazer o arch-chrootflash do seu USB se o limpou. (ou perdi :)
#
Funciona para mim também. Obrigado companheiro.
Marcin
0

Aqui está o que funcionou para mim (antergos, dual boot com o Windows 10). É uma ligeira modificação da resposta acima.

  1. Use um usb ativo para montar partições raiz e de inicialização. Os comandos para estes estão aqui . Nesse caso, minha partição de inicialização era a partição EFI-boot (fat).
  2. Atualizar:

    pacman -Syu

  3. Gere novamente o initramfs usando:

    mkinitcpio -p linux

  4. Se você usa o grub:

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

  5. Reiniciar.

Fleming
fonte
1
Sim, sua resposta é algumas palavras mais longa que a resposta de Lifka. Além de alguma verbosidade, o que você adicionou para destacar sua postagem como uma resposta nova e diferente?
G-Man Diz 'Reinstate Monica'