Can’t boot - device not found

Hi, I just updated and on restart I have this error message

in most cases this is caused by an incomplete kernel image rebuild, caused a aborted update or installation e.t.c. so //encrypted// device can not be accessed caused by missing filesystemsupport.
You will need to chroot:

what needs to open LUKS container first, then if arch-chroot into installed system rerun a full system update, and rerun mkinitcpio // mkinitcpio -P from inside arch-chroot.

2 Likes

I haven’t withdrawn that post what

it means bodymechanic withdrew his own post for some reason … just a bot message

1 Like

TLDR: Ok I’m having trouble at the mkinitcpio part

[root@archiso /]# mkinitcpio
==> ERROR: '/lib/modules/5.7.8-arch1-1' is not a valid kernel module directory

so here’s what I did:

[liveuser@eos-2020.07.15 Desktop]$ sudo fdisk -l
Disk /dev/sda: 931.53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 860 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 24CDB60C-C2DB-564A-865E-A9E36CE4C83B

Device      Start        End    Sectors   Size Type
/dev/sda1    4096     618495     614400   300M EFI System
/dev/sda2  618496 1953520064 1952901569 931.2G Linux filesystem


Disk /dev/loop0: 1.65 GiB, 1756057600 bytes, 3429800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdc: 7.63 GiB, 8178892800 bytes, 15974400 sectors
Disk model: innostor        
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7e19f6b6

Device     Boot Start     End Sectors  Size Id Type
/dev/sdc1  *        0 3644927 3644928  1.8G  0 Empty
/dev/sdc2         164  131235  131072   64M ef EFI (FAT-12/16/32)
[liveuser@eos-2020.07.15 Desktop]$ 

So my luks partition is /dev/sda2 so I need to open it with cryptsetup so I did

[liveuser@eos-2020.07.15 Desktop]$ sudo cryptsetup open /dev/sda2 luksrecoverytarget --type luks
Enter passphrase for /dev/sda2: 
[liveuser@eos-2020.07.15 Desktop]$ sudo mkdir /mnt/recoverytarget
[liveuser@eos-2020.07.15 Desktop]$ sudo mount /dev/mapper/luksrecoverytarget /mnt/recoverytarget/
[liveuser@eos-2020.07.15 Desktop]$ 

now from what I understand from https://discovery.endeavouros.com/system-rescue/arch-chroot-for-efi-uefi-systems/2021/03/
I’m not obligated to mount my boot partition (in case I don’t have one) and I must mount my efi partition but what is what in my case ?
To me it seems that my boot partition is /dev/sda1 because it says so in the flags but it’s the only partition in efi so I’m not really sure so each time I tried something I did the following

[liveuser@eos-2020.07.15 Desktop]$ sudo mount /dev/sda1 /mnt/recoverytarget/boot/efi/

and then I went as root into arch-chroot, did the upgrade and tried mkinitcpio which fails and then type in mkinitcpio -P which seems successful. I tried reinstalling linux after reading stuff in forums but it did not help.

[liveuser@eos-2020.07.15 Desktop]$ sudo su
[root@archiso Desktop]# arch-chroot /mnt/recoverytarget/
[root@archiso /]# pacman -Syu
:: Synchronizing package databases...
 core is up to date
 extra is up to date
 community is up to date
:: Starting full system upgrade...
 there is nothing to do
[root@archiso /]# mkinitcpio
==> ERROR: '/lib/modules/5.7.8-arch1-1' is not a valid kernel module directory
[root@archiso /]# mkinitcpio -P
==> Building image from preset: /etc/mkinitcpio.d/linux-hardened.preset: 'default'
  -> -k /boot/vmlinuz-linux-hardened -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-hardened.img
==> Starting build: 5.11.10-hardened1-1-hardened
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: xhci_pci
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: /boot/initramfs-linux-hardened.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux-hardened.preset: 'fallback'
  -> -k /boot/vmlinuz-linux-hardened -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-hardened-fallback.img -S autodetect
==> Starting build: 5.11.10-hardened1-1-hardened
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: xhci_pci
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: /boot/initramfs-linux-hardened-fallback.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'default'
  -> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts.img
==> Starting build: 5.10.26-1-lts
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: xhci_pci
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: /boot/initramfs-linux-lts.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux-lts.preset: 'fallback'
  -> -k /boot/vmlinuz-linux-lts -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-lts-fallback.img -S autodetect
==> Starting build: 5.10.26-1-lts
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: xhci_pci
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: /boot/initramfs-linux-lts-fallback.img
==> Image generation successful
==> 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: 5.11.10-arch1-1
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: xhci_pci
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-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: 5.11.10-arch1-1
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: xhci_pci
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
[root@archiso /]# 

then clean-up

[root@archiso /]# 
exit
[root@archiso Desktop]# sudo umount /mnt/recoverytarget/boot/efi 
[root@archiso Desktop]# sudo umount /mnt/recoverytarget 
[root@archiso Desktop]# sudo cryptsetup close luksrecoverytarget 
[root@archiso Desktop]# 

After rebooting same error as before.

Aside question: Is it possible the failed update might come from an aur install ?

regenerating grub is needed also:
grub-mkconfig -o /boot/grub/grub.cfg (from arch-chroot again)
It could be also something else, p.e. you do change something for mkinitcpio.conf or inside grub settings, or removal of needed packages.

I’ve got this error.

[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux-lts
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux-lts.img
Found fallback initrd image(s) in /boot: initramfs-linux-lts-fallback.img
Found linux image: /boot/vmlinuz-linux-hardened
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux-hardened.img
Found fallback initrd image(s) in /boot: initramfs-linux-hardened-fallback.img
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
done
[root@archiso /]# 

I restarted and I’ve got the same error.

Possible…

If you have AUR packages installed you did not update them.

That command only updates packages from the official repositories. If you need to update AUR packaged use yay. Or your AUR helper of choice.

I did all aur update and updated grub and now I’ve got this error.

Did you change the filesystem type on root? Return just lsblk and sudo parted -l That is the letter l not the number 1…

I don’t think I did no.

[liveuser@eos-2020.07.15 Desktop]$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0   1.7G  1 loop /run/archiso/sfs/airootfs
sda      8:0    0 931.5G  0 disk 
├─sda1   8:1    0   300M  0 part 
└─sda2   8:2    0 931.2G  0 part 
sdc      8:32   1   7.6G  0 disk /run/archiso/bootmnt
├─sdc1   8:33   1   1.8G  0 part 
└─sdc2   8:34   1    64M  0 part 
[liveuser@eos-2020.07.15 Desktop]$ sudo parted -l
Model: ATA Samsung SSD 860 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      2097kB  317MB   315MB   fat32              boot, esp
 2      317MB   1000GB  1000GB


Model: IS917 innostor (scsi)
Disk /dev/sdc: 8179MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 2      84.0kB  67.2MB  67.1MB  primary  fat16        esp


[liveuser@eos-2020.07.15 Desktop]$ sudo fdisk -l
Disk /dev/sda: 931.53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: Samsung SSD 860 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 24CDB60C-C2DB-564A-865E-A9E36CE4C83B

Device      Start        End    Sectors   Size Type
/dev/sda1    4096     618495     614400   300M EFI System
/dev/sda2  618496 1953520064 1952901569 931.2G Linux filesystem


Disk /dev/loop0: 1.65 GiB, 1756057600 bytes, 3429800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdc: 7.63 GiB, 8178892800 bytes, 15974400 sectors
Disk model: innostor        
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7e19f6b6

Device     Boot Start     End Sectors  Size Id Type
/dev/sdc1  *        0 3644927 3644928  1.8G  0 Empty
/dev/sdc2         164  131235  131072   64M ef EFI (FAT-12/16/32)
[liveuser@eos-2020.07.15 Desktop]$ 

Sorry you will have to wait for someone else. It is telling you it can’t mount new root. Not sure what happened with old root…either way I don’t see a root partition at all? If you are trying to encrypt everything including root i would look into what went wrong with that proceedure.

Could you show the output of command:

lsblk -fm

and can you arch-chroot to /dev/sda2 and show the output of:

cat /boot/grub/grub.cfg | eos-sendlog
cat /etc/fstab | eos-sendlog

or is it already encrypted?

Edit: here is something to read:
https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system
https://wiki.archlinux.org/index.php/Data-at-rest_encryption

Mr. @wayne had some technical problems writing his contribution here, so he contacted me. The following is his post, hope it helps:

Hey, I can’t reply on the thread you made so I’m messaging you directly. I’ve been using EndeavourOS for a long time already but I still consider myself a noob. I think I got the solution to your problem. I’ve been having the same issue for more than three weeks already and I was able to solve it awhile ago. I would boot Linux Mint and Timeshift back to a restore point if the linux update doesn’t boot me in. The new kernel updates seem to have a problem booting the encrypted drives, both the LTS and regular kernel.

My /home and / is separated and encrypted. I’ve been browsing a lot in the forums on Arch and Endeavour, I stumbled upon something about the HOOKS. So this is what worked for me:

Note: This was done after the Timeshift restore, which is before updating the whole system.

  1. Enter this in your terminal.
sudo nano /etc/mkinitcpio.conf
  1. Comment out the current HOOKS being used and paste the code below and save.
HOOKS=(base udev autodetect keyboard keymap consolefont modconf block encrypt lvm2 filesystems fsck)
sudo pacman -Sy lvm2
sudo pacman -Syu

And that’s it, that solved the problem. But now it asks me to input the password to the encrypted drives again, but at least everything seems fine. You might need to do the mkinitcpio -P or grub-mkconfig -o /boot/grub/grub.cfg but I know the update does that for you. Good Luck!

1 Like

2021-04-08_10-48

if EndeavourOS is on /dev/sda2 and its ESP on /dev/sda1 the UUIDS do not match.

The output of:

cat /boot/grub/grub.cfg | eos-sendlog
cat /etc/fstab | eos-sendlog

what @manuel ask for will give the proof for this.

1 Like