업데이트 후 Archlinux를 시작할 수 없습니다: uuid를 찾을 수 없습니다

업데이트 후 Archlinux를 시작할 수 없습니다: uuid를 찾을 수 없습니다

"pacman -Syu"로 Archlinux를 업데이트한 후 재부팅했는데 시스템이 부팅되지 않았습니다. 보고서는 다음과 같습니다.

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

내 키보드가 해당 셸에서 작동하지 않습니다.

나는 Archlinux의 livecd:mount 파티션을 사용하고 chroot를 사용하려고 합니다. "/etc/fstab"에서 루트 파티션의 uuid를 확인했습니다. 이것은 내 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

이것은 "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

다시 "pacman -Syu"로 시스템을 업데이트하고 "mkinitcpio -p linux"를 만들어 보았지만 문제가 해결되지 않았습니다(명령 결과는 좋았지만). 보고서는 다음과 같습니다.

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

"/etc/mkinitcpio.conf"에서 HOOKS의 순서를 변경해 보았습니다. 그러나 이것은 작동하지 않습니다. 현재 순서는 다음과 같습니다.

base udev block autodetect modconf filesystems keyboard fsck

"uname -r"은 다음을 반환합니다.

4.11.7-1-ARCH

"pacman -Q linux"는 다음을 반환합니다.

linux 4.11.9-1

경고 파일 "/lib/modules/4.11.9-1-ARCH/modules.devnam"이 존재합니다.

"linux-lts"를 설치하고 사용해 보았지만 결과는 동일합니다. 나는 grub을 사용하고 재구성도 시도했습니다.

어떡해?

답변1

방금 부팅을 설치하는 것을 잊어버렸습니다(감사합니다, jasonwryan).

내 경우에는 이 문제에 대한 해결책은 다음과 같습니다.

  1. livecd를 사용하여 모든 파티션을 마운트하고 chroot를 사용하십시오.
  2. 고쳐 쓰다:

    팩맨슈

  3. 다음 명령을 사용하여 initramfs를 다시 생성합니다.

    mkinitcpio -p 리눅스

  4. 그럽을 사용하는 경우:

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

  5. 재시작.

답변2

이것이 저에게 효과적이었습니다(antergos, Windows 10을 사용한 이중 부팅). 이것은 위의 답변을 약간 수정한 것입니다.

  1. 라이브 USB를 사용하여 루트 및 부팅 파티션을 마운트합니다. 이러한 명령은여기. 이 경우 내 부팅 파티션은 EFI 부팅(FAT) 파티션입니다.
  2. 고쳐 쓰다:

    팩맨슈

  3. 다음 명령을 사용하여 initramfs를 다시 생성합니다.

    mkinitcpio -p 리눅스

  4. 그럽을 사용하는 경우:

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

  5. 재시작.

관련 정보