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


10

"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

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

나는 파티션을 마운트하고 chroot를 사용하여 archlinux의 livecd로 노력하고 있습니다. "/ 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을 사용하고 그것을 재구성하려고 시도했다.

어떡해?


3
/boot업그레이드를 실행할 때 마운트되지 않았습니다. 따라서 누락 된 모듈. Chroot in, 모든 것이 올바르게 마운트되었는지 확인하고 업데이트를 다시 실행하십시오.
jasonwryan

그게 문제 야 .. 내가 어떻게 몰랐는지 이해할 수 없어. 고마워요, Jasonwryan.
Lifka

답변:


10

방금 마운트 부팅을 잊었습니다 (감사합니다, Jasonwryan).

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

  1. livecd를 사용하여 모든 파티션을 마운트하고 chroot를 사용하십시오.
  2. 최신 정보:

    팩맨-수

  3. 다음을 사용하여 initramfs를 재생성하십시오.

    mkinitcpio -p 리눅스

  4. grub을 사용하는 경우 :

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

  5. 재시작.


3
참고 arch-chroot로 단순히 아치 대신에 사용chroot
Nepoxx

이 답변에 덧붙여서 : fallback initramfs작품과 수리에 사용하는 경우을 사용하십시오 /boot/grub/grub.cfg. 그런 다음 arch-chrootUSB를 닦은 경우에도 USB 를 사용 하거나 플래시 하지 않아도됩니다 . (또는 잃어 버렸다 :)
Linux4win

나에게도 효과가 있습니다. 고마워 친구
Marcin

0

여기 나를 위해 일한 것이 있습니다 (antergos, Windows 10으로 이중 부팅). 위의 답변이 약간 수정되었습니다.

  1. 라이브 USB를 사용하여 루트 및 부팅 파티션을 마운트하십시오. 이에 대한 명령은 여기에 있습니다 . 이 경우 부팅 파티션은 EFI 부팅 (지방) 파티션이었습니다.
  2. 최신 정보:

    팩맨-수

  3. 다음을 사용하여 initramfs를 재생성하십시오.

    mkinitcpio -p 리눅스

  4. grub을 사용하는 경우 :

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

  5. 재시작.


1
예, 귀하의 답변은 Lifka의 답변보다 몇 단어 더 깁니다. 몇 가지 자세한 내용 외에도 게시물을 새롭고 다른 답변으로 부각시키기 위해 무엇을 추가 했습니까?
G-Man, 'Reinstate
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.