Не вдається запустити archlinux після оновлення. Неможливо знайти uuid


10

Я оновив archlinux з "pacman -Syu", і тоді, коли я перезавантажуюсь, система не може запуститися. Це звіт:

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

У цій оболонці моя клавіатура не працює.

Я намагаюся з livecd Archlinux: монтажу розділів та використання chroot. Я перевіряю uuid кореневого розділу в "/ etc / fstab". Це мій 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

Я спробував змінити порядок HOOKS у "/etc/mkinitcpio.conf". Але це не працює. Це поточне замовлення:

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не був змонтований під час запуску оновлення; звідси відсутні модулі. Переконайтесь, переконайтесь, що все правильно встановлено, і повторно запустіть оновлення.
jasonwryan

У цьому проблема ... Я не можу перейнятися тим, як не усвідомлював. Дякую тобі, язонрюряне.
Ліфка

Відповіді:


10

Я просто забув Mount Boot (спасибі, Jasonwryan).

У моєму випадку рішення цієї проблеми було:

  1. Використовуйте livecd для монтажу всіх розділів та використання chroot.
  2. Оновлення:

    pacman -Syu

  3. Відновити initramfs за допомогою:

    mkinitcpio -p linux

  4. Якщо ви користуєтеся крупою:

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

  5. Перезапустити.


3
FYI використовуйте arch-chrootарку, а не простоchroot
Nepoxx

Як додаток до цієї відповіді: якщо fallback initramfsробота працює, і ви використовуєте її для ремонту, використовуйте /boot/grub/grub.cfg. Тоді вам також не доведеться arch-chrootабо спалахувати ваш USB, якщо ви його витерли. (або втратили його :)
Linux4win

Працює і для мене. Дякую, друже.
Марцін

0

Ось що для мене працювало (antergos, подвійний завантажений з Windows 10). Це незначна модифікація вищевказаної відповіді.

  1. Використовуйте живий usb для монтажу кореневих та завантажувальних розділів. Команди для них є тут . У цьому випадку моїм завантажувальним розділом був розділ завантаження EFI (жир).
  2. Оновлення:

    pacman -Syu

  3. Відновити initramfs за допомогою:

    mkinitcpio -p linux

  4. Якщо ви користуєтеся крупою:

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

  5. Перезапустити.


1
Так, ваша відповідь на кілька слів довша за відповідь Ліфки. Що, окрім деякого багатослів’я, що ви додали, щоб ваша публікація виділялася як нова, інша відповідь?
G-Man каже: "Відновіть Моніку"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.