Không thể bắt đầu archlinux sau khi cập nhật: Không thể tìm thấy uuid


10

Tôi đã cập nhật archlinux với "pacman -Syu" và sau đó khi tôi khởi động lại, hệ thống không thể khởi động. Đây là báo cáo:

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

Trong cái vỏ đó, bàn phím của tôi không hoạt động.

Tôi đang thử với một bản lưu trữ của archlinux: gắn các phân vùng và sử dụng chroot. Tôi kiểm tra uuid của phân vùng gốc trong "/ etc / fstab". Đó là fstab của tôi:

# /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

Và đó là kết quả của "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

Tôi đã cập nhật lại hệ thống với "pacman -Syu" và tôi đã cố gắng tạo "mkinitcpio -p linux", nhưng nó vẫn không giải quyết được vấn đề (mặc dù kết quả của lệnh là ok). Đây là báo cáo:

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

Tôi đã cố gắng thay đổi thứ tự của HOOKS trong "/etc/mkinitcpio.conf". Nhưng nó không hoạt động. Đây là thứ tự hiện tại:

base udev block autodetect modconf filesystems keyboard fsck

Trả về "uname -r":

4.11.7-1-ARCH

"pacman -Q linux" trả về:

linux 4.11.9-1

Tệp cảnh báo "/lib/modules/4.11.9-1-ARCH/modules.devnam" tồn tại.

Tôi đã cố gắng cài đặt và sử dụng "linux-lts" nhưng kết quả vẫn như vậy. Tôi sử dụng grub và tôi cũng cố gắng cấu hình lại nó.

Tôi có thể làm gì?


3
/bootkhông được gắn kết khi bạn chạy nâng cấp; do đó các mô-đun bị thiếu. Chroot, đảm bảo mọi thứ được gắn chính xác và chạy lại bản cập nhật.
jasonwryan

Đó là vấn đề ... Tôi không thể hiểu và làm thế nào tôi không nhận ra. Cảm ơn bạn rất nhiều, jasonwryan.
Lifka

Câu trả lời:


10

Tôi chỉ quên mount boot (cảm ơn bạn, jasonwryan).

Giải pháp cho vấn đề này, trong trường hợp của tôi là:

  1. Sử dụng một livecd để gắn kết tất cả các phân vùng và sử dụng chroot.
  2. Cập nhật:

    pacman -Syu

  3. Tạo lại initramfs bằng cách sử dụng:

    mkinitcpio -p linux

  4. Nếu bạn sử dụng grub:

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

  5. Khởi động lại.


3
FYI sử dụng arch-chroottrên vòm thay vì đơn giảnchroot
Nepoxx

Như một bổ sung cho câu trả lời này: trong trường hợp các fallback initramfscông trình và bạn sử dụng nó để sửa chữa, sử dụng /boot/grub/grub.cfg. Sau đó, bạn cũng không phải arch-chroothoặc flash USB nếu bạn xóa nó. (hoặc mất nó :)
Linux4win

Làm việc cho tôi là tốt. Cảm ơn bạn đời.
Marcin

0

Đây là những gì làm việc cho tôi (antergos, khởi động kép với windows 10). Đó là một sửa đổi nhỏ của câu trả lời trên.

  1. Sử dụng một usb trực tiếp để gắn kết phân vùng root và boot. Các lệnh cho những điều này là ở đây . Trong trường hợp này, phân vùng khởi động của tôi là phân vùng EFI-boot (chất béo).
  2. Cập nhật:

    pacman -Syu

  3. Tạo lại initramfs bằng cách sử dụng:

    mkinitcpio -p linux

  4. Nếu bạn sử dụng grub:

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

  5. Khởi động lại.


1
Vâng, câu trả lời của bạn dài hơn một vài từ so với câu trả lời của Lifka. Ngoài một số chi tiết, bạn đã thêm gì để làm cho bài đăng của bạn nổi bật như một câu trả lời mới, khác biệt?
G-Man nói 'Phục hồi Monica'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.