11

I updated archlinux with "pacman -Syu" and then when I've restart, the system can't start. This is the report:

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

In that shell my keyboard doesn't work.

I'm trying with a livecd of archlinux: mounting the partitions and using chroot. I check the uuid of the root partition in "/etc/fstab". It's my 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

And it's the result of "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

I've updated the system again with "pacman -Syu" and I tried to make "mkinitcpio -p linux", but it haven't solved the problem (in spite of the result of the command it's ok). This is the report:

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

I tried to change the order of HOOKS in "/etc/mkinitcpio.conf". But it doesn't work. This is the current order:

base udev block autodetect modconf filesystems keyboard fsck

"uname -r" returns:

4.11.7-1-ARCH

"pacman -Q linux" returns:

linux 4.11.9-1

The file of warrning "/lib/modules/4.11.9-1-ARCH/modules.devnam" exists.

I tried to install and use "linux-lts" but the result it's the same. I use grub and I tried to reconfigure it too.

What can I do?

2
  • 3
    /boot wasn't mounted when you ran the upgrade; hence the missing modules. Chroot in, make sure everything is correctly mounted and re-run the update. Commented Jul 10, 2017 at 0:49
  • That's the problem... I can't undertand how I did not realize. Thank you so much, jasonwryan. Commented Jul 10, 2017 at 2:04

2 Answers 2

13

I just forgot mount boot (thank you, jasonwryan).

The solution to this problem, in my case was:

  1. Use a livecd to mount all partitions and use chroot.
  2. Update:

    pacman -Syu

  3. Regenerate initramfs using:

    mkinitcpio -p linux

  4. If you use grub:

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

  5. Restart.

3
  • 4
    FYI use arch-chroot on arch instead of simply chroot Commented Apr 3, 2018 at 14:28
  • As an addition to this answer: in case the fallback initramfs works and you use it for repair, use /boot/grub/grub.cfg. Then you also don't have to arch-chroot or flash your USB if you wiped it. (or lost it :) Commented May 30, 2019 at 14:58
  • Works for me as well. Thanks mate. Commented Oct 12, 2019 at 4:22
-1

Here is what worked for me (antergos, dual booted with windows 10). It's a slight modification of the above answer.

  1. Use a live usb to mount root and boot partitions. The commands for these are here. In this case, my boot partition was the the EFI-boot (fat) partition.
  2. Update:

    pacman -Syu

  3. Regenerate initramfs using:

    mkinitcpio -p linux

  4. If you use grub:

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

  5. Restart.

1
  • 1
    Yes, your answer is a few words longer than Lifka's answer. Aside from some verbosity, what have you added to make your post stand out as a new, different answer? Commented Dec 19, 2018 at 14:03

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.