Luks decryption error & unable to update grub

After the 2023-03-31 stable update, I haven’t been able to successfully decrypt my computer - I am able to enter the password and see “Slot 0 unlocked,” but the next screen has this message:

ERROR: device '/dev/mapper/luks-abef77a4-387a-428d-bba5-639b3dedd393' not found.
Skipping fsck.
mount: /new_root: no filesystem type specified.
You are now being dropped into an emergency shell.
sh: can't access tty: job control turned off
[rootfs]#

Over the last ~year and a half, I’ve periodically tried to fix it following the suggestions in this thread but being a beginner with Manjaro, I’m still struggling and looking for some more guided assistance in troubleshooting.

So far what I’ve done is use the live USB and enter chroot:

sudo cryptsetup luksOpen /dev/nvme0n1p2 root
*password*
sudo mount /dev/mapper/root /mnt
sudo manjaro-chroot /mnt /usr/bin/bash

I tried to follow this thread for troubleshooting - I checked /etc/default/grub to make sure GRUB_ENABLE_CRYPTODISK=y was not commented out

GNU nano 7.2                   /etc/default/grub                              
GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_TIMEOUT_STYLE=menu
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet cryptdevice=UUID=abef77a4387a428dbba5639b3ded>
GRUB_CMDLINE_LINUX=""

# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
GRUB_SAVEDEFAULT=true

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="cryptodisk part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
GRUB_ENABLE_CRYPTODISK=y

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

I also opened /boot/grub/grub.cfg to check that the UUIDs match and commented out the dashes in these 5 sections of the file:

cryptomount -u abef77a4387a428dbba5639b3dedd393
set root='cryptouuid/abef77a4387a428dbba5639b3dedd393'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint='cryptouuid/abef77a4387a428dbb>
else
  search --no-floppy --fs-uuid --set=root c231a719-de78-47a0-928e-31d8804b83fb
cryptomount -u abef77a4387a428dbba5639b3dedd393
set root='cryptouuid/abef77a4387a428dbba5639b3dedd393'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint='cryptouuid/abef77a4387a428dbb>
else
  search --no-floppy --fs-uuid --set=root c231a719-de78-47a0-928e-31d8804b83fb
fi
cryptomount -u abef77a4387a428dbba5639b3dedd393
        set root='cryptouuid/abef77a4387a428dbba5639b3dedd393'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint='cryptouuid/abef77a438>
        else
          search --no-floppy --fs-uuid --set=root c231a719-de78-47a0-928e-31d88>
        fi
        linux   /boot/vmlinuz-5.15-x86_64 root=/dev/mapper/root ro  quiet crypt>
        initrd  /boot/intel-ucode.img /boot/initramfs-5.15-x86_64.img
cryptomount -u abef77a4387a428dbba5639b3dedd393
                set root='cryptouuid/abef77a4387a428dbba5639b3dedd393'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint='cryptouuid/ab>
                else
                  search --no-floppy --fs-uuid --set=root c231a719-de78-47a0-92>
                fi
                linux   /boot/vmlinuz-5.15-x86_64 root=/dev/mapper/root ro  qui>
                initrd  /boot/intel-ucode.img /boot/initramfs-5.15-x86_64.img

cryptomount -u abef77a4387a428dbba5639b3dedd393
                set root='cryptouuid/abef77a4387a428dbba5639b3dedd393'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint='cryptouuid/ab>
                else
                  search --no-floppy --fs-uuid --set=root c231a719-de78-47a0-92>
                fi
                linux   /boot/vmlinuz-5.15-x86_64 root=/dev/mapper/root ro  qui>
                initrd  /boot/initramfs-5.15-x86_64-fallback.img

After making those updates to the grub.cfg file, I try to run sudo update-grub but get this error

[manjaro /]# sudo update-grub
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.15-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.15-x86_64.img
Found initrd fallback image: /boot/initramfs-5.15-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
ERROR: mkdir /var/lock/dmraid
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

Here is lsblk -f

[manjaro /]# lsblk -f
NAME        FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
loop0                                              
loop1                                              
loop2                                              
loop3                                              
sda                                                
`-sda1                                             
sdb                                                
|-sdb1                                             
`-sdb2                                             
nvme0n1                                            
|-nvme0n1p1                                        
`-nvme0n1p2                                        
  `-root                             509.9G    39% /
nvme1n1                                            
`-nvme1n1p1            

Any help troubleshooting would be much appreciated!

since you can open your encrypted root volume
you can have a look at /etc/fstab

Is this a UEFI system or is this a BIOS install without an EFI partition?

Your posted output of
lsblk -f
doesn’t look right - it normally shows several columns:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
along with every column filled in - it’s pretty much empty in your output

you don’t need to be in chroot for this - just from the live system booted

Perhaps you just “forgot” to mount the EFI partition - which could be /dev/nvme0n1p1

What is on there?

You are a very patient person, having waited that long … :slightly_smiling_face:

By now it is probably easier to back up your data from /home and start again.

But let’s try it anyway - why not …

Thank you @Nachlese for your response!

Here is /etc/fstab

# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=F694-A9AE                            /boot/efi      vfat    umask=0077 0 2
/dev/mapper/luks-abef77a4-387a-428d-bba5-639b3dedd393 /              ext4    de>

Hmm, I’m not sure if it’s a UEFI or BIOs, is there a way I can check? When I first built this computer I had Windows on it momentarily, and then overwrote that with Ubuntu and then Manjaro, but I’m not sure if when I made those switches I didn’t reformat the partitions correctly?

Here is lsblk -f from live USB

[manjaro@manjaro ~]$ lsblk -f
NAME FSTYPE FSVER LABEL             UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
loop0
     squash 4.0                                                                0   100% /run/miso/sfs/livefs
loop1
     squash 4.0                                                                0   100% /run/miso/sfs/mhwdfs
loop2
     squash 4.0                                                                0   100% /run/miso/sfs/desktopfs
loop3
     squash 4.0                                                                0   100% /run/miso/sfs/rootfs
sda                                                                                     
└─sda1
                                                                                        
sdb  iso966 Jolie MANJARO_XFCE_2304 2023-10-15-11-55-04-00                     0   100% /run/miso/bootmnt
├─sdb1
│    iso966 Jolie MANJARO_XFCE_2304 2023-10-15-11-55-04-00                              
└─sdb2
     vfat   FAT12 MISO_EFI          DE4F-2104                                           
nvme0n1
                                                                                        
├─nvme0n1p1
│    vfat   FAT32 NO_LABEL          F694-A9AE                                           
└─nvme0n1p2
     crypto 1                       abef77a4-387a-428d-bba5-639b3dedd393                
  └─root
     ext4   1.0                     c231a719-de78-47a0-928e-31d8804b83fb  509.9G    39% /mnt
nvme1n1
                                                                                        
└─nvme1n1p1

^ I was hoping eventually I could figure it out myself, but realized it was definitely time to ask for help :smiling_face_with_tear: If I need to start over I am ok with that, would also just appreciate some direction on how to do that cleanly

From the content of /etc/fstab it seems to be an UEFI installation

So, to properly chroot, you’d need to do this:
(I changed the name from “root” to “encrypted” - it seems to be more transparent
the name is arbitrary anyway)

sudo cryptsetup open /dev/nvme0n1p2 encrypted
sudo mount /dev/mapper/encrypted /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
manjaro-chroot /mnt /bin/bash



I don’t quite know why you’d get:

since it is an ext4 file system

before chroot,
after you have opened the encrypted volume, but before mounting it,
you could do a file system check:
sudo e2fsck -v /dev/mapper/encrypted

When in chroot, check the contents of /etc/mkinitcpio.conf
the HOOKS line
grep ^HOOKS /etc/mkinitcpio.conf

there might be some keyword missing from it

Also check the grub config, especially this one line:
grep ^GRUB_CMDLINE_LINUX_DEFAULT /etc/default/grub

I don’t know if it is a good idea to try to run an update at this point -
since the system is very much out of date by now.
I do not recommend it.
Don’t.
It would likely create more problems that are more easily solved later on.

But:
mkinitcpio -P
and
update-grub

should, theoretically, get you a bootable system in the state it was back then

post output from running the above commands
(the two grep commands and the next two)

Thank you! Here is the output:

[manjaro /]# grep ^HOOKS /etc/mkinitcpio.conf
HOOKS="base udev autodetect modconf block keyboard keymap consolefont encrypt filesystems fsck"
[manjaro /]# grep ^GRUB_CMDLINE_LINUX_DEFAULT /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet cryptdevice=UUID=abef77a4387a428dbba5639b3dedd393:luks-abef77a4-387a-428d-bba5-639b3dedd393 root=/dev/mapper/luks-abef77a4-387a-428d-bba5-639b3dedd393 apparmor=1 security=apparmor udev.log_priority=3"

mkinitcpio -P:

[manjaro /]# mkinitcpio -P
==> Building image from preset: /etc/mkinitcpio.d/linux515.preset: 'default'
  -> -k /boot/vmlinuz-5.15-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.15-x86_64.img
==> Starting build: '5.15.108-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [encrypt]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-5.15-x86_64.img'
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux515.preset: 'fallback'
  -> -k /boot/vmlinuz-5.15-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.15-x86_64-fallback.img -S autodetect
==> Starting build: '5.15.108-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'qla2xxx'
==> WARNING: Possibly missing firmware for module: 'qed'
==> WARNING: Possibly missing firmware for module: 'qla1280'
==> WARNING: Possibly missing firmware for module: 'bfa'
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [encrypt]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-5.15-x86_64-fallback.img'
==> Image generation successful

update-grub:

[manjaro /]# update-grub
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.15-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.15-x86_64.img
Found initrd fallback image: /boot/initramfs-5.15-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
ERROR: mkdir /var/lock/dmraid
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

Hm - it looks totally normal.

exit
to exit chroot

and reboot to try and see whether something changed for the better … :slightly_smiling_face:

If not better - go back to booting from USB
open encrypted volume and do a file system check on it - but that this is an issue here is unlikely

also check:
grep GRUB_ENABLE_CRYPTODISK /etc/default/grub
once in chroot again

Unfortunately I get the same message on reboot :pensive:

ERROR: device '/dev/mapper/luks-abef77a4-387a-428d-bba5-639b3dedd393' not found.
Skipping fsck.
mount: /new_root: no filesystem type specified.
You are now being dropped into an emergency shell.
sh: can't access tty: job control turned off
[rootfs]#

File system check

[manjaro@manjaro ~]$ sudo e2fsck -v /dev/mapper/encrypted
e2fsck 1.47.0 (5-Feb-2023)
/dev/mapper/encrypted: clean, 2043771/61030400 files, 98239308/244112184 blocks

Grep

[manjaro /]# grep GRUB_ENABLE_CRYPTODISK /etc/default/grub
GRUB_ENABLE_CRYPTODISK=y
GRUB_ENABLE_CRYPTODISK=y

… this is really just a guess and it feels like recommending to use magic, but worth a try because it’s easy to do:

I have an encrypted system and this line, commented by default, exists only once.
Actually, it looks like this:

grep GRUB_ENABLE_CRYPTODISK /etc/default/grub
#GRUB_ENABLE_CRYPTODISK=y
GRUB_ENABLE_CRYPTODISK=y

comment one of the two in your file
a # in front of the line

nano /etc/default/grub
to edit

update-grub
afterwards



oh, no - I just saw:

What is that “root” with UUID c231a719-de78-47a0-928e-31d8804b83fb
and why is it already mounted to /mnt ?

Sorry about that, I ran lsblk -f before while still having the cryptodrive mounted to root (which afterwards you suggested we rename to encrypted)

This is the output before mounting anything

[manjaro@manjaro ~]$ lsblk -f
NAME FSTYPE FSVER LABEL             UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
loop0
     squash 4.0                                                                0   100% /run/miso/sfs/livefs
loop1
     squash 4.0                                                                0   100% /run/miso/sfs/mhwdfs
loop2
     squash 4.0                                                                0   100% /run/miso/sfs/desktopfs
loop3
     squash 4.0                                                                0   100% /run/miso/sfs/rootfs
sda                                                                                     
└─sda1
                                                                                        
sdb  iso966 Jolie MANJARO_XFCE_2304 2023-10-15-11-55-04-00                     0   100% /run/miso/bootmnt
├─sdb1
│    iso966 Jolie MANJARO_XFCE_2304 2023-10-15-11-55-04-00                              
└─sdb2
     vfat   FAT12 MISO_EFI          DE4F-2104                                           
nvme0n1
                                                                                        
├─nvme0n1p1
│    vfat   FAT32 NO_LABEL          F694-A9AE                                           
└─nvme0n1p2
     crypto 1                       abef77a4-387a-428d-bba5-639b3dedd393                
nvme1n1
                                                                                        
└─nvme1n1p1

I also commented out one of the two GRUB_ENABLE_CRYPTODISK=Y lines and updated grub

[manjaro /]# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.15-x86_64.img
Found initrd fallback image: /boot/initramfs-5.15-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
ERROR: mkdir /var/lock/dmraid
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
done
[manjaro /]# 

I’m not sure if this makes a difference, but the second instance of GRUB_ENABLE_CRYPTODISK=Y wasn’t alongside the first, but rather at the end of the file here, which I think I remember having edited in the past when trying to follow the troubleshooting threads:

# Uncomment to ensure that the root filesystem is mounted read-only so that
# systemd-fsck can run the check automatically. We use 'fsck' by default, which
# needs 'rw' as boot parameter, to avoid delay in boot-time. 'fsck' needs to be
# removed from 'mkinitcpio.conf' to make 'systemd-fsck' work.
# See also Arch-Wiki: https://wiki.archlinux.org/index.php/Fsck#Boot_time_check>
GRUB_ROOT_FS_RO=true
GRUB_ENABLE_CRYPTODISK=Y

I currently wonder why it says:

     crypto 1                       abef77a4-387a-428d-bba5-639b3dedd393   

for you

while for my luks encrypted partitions, it always looks like this:

vda                                                                                                        
├─vda1 vfat        FAT32                               D38B-A3B7                                           
└─vda2 crypto_LUKS 1                                   f7db3f2e-e5c8-46a5-9310-05d68cb41a5f

crypto_LUKS vs just: crypto

I do not know the significance of it, I just notice the difference.

If the partition is for some reason encrypted using luks2 instead of luks1, Grub can’t decrypt it.

Maybe more tomorrow - of from someone else in the meantime.



This should be commented unless you use sd- (systemd) hooks in /etc/mkinitcpio.conf - which you don’t.

update-grub after you changed it


cat /etc/fstab again - or just check for yourself that it is complete
because what you posted of it was cut short
if it actually looks like that, then we may have found the problem:


Check your BIOS / UEFI settings, make sure you are booting in UEFI mode.

Before running a full system update in chroot,
try reinstalling the kernel if you still have it in cache

ls /var/cache/pacman/pkg/linux515*.zst

pacman -U /var/cache/pacman/pkg/linux515...

mkinitcpio -P

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

Thanks! I commented out #GRUB_ROOT_FS_R0=true

This does seem to be the complete output for cat /etc/fstab

[manjaro /]# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=F694-A9AE                            /boot/efi      vfat    umask=0077 0 2
/dev/mapper/luks-abef77a4-387a-428d-bba5-639b3dedd393 /              ext4    defaults,noatime 0 1

[manjaro /]# pacman -U /var/cache/pacman/pkg/linux515-5.15.167-1-x86_64.pkg.tar.zst
loading packages...
resolving dependencies...
looking for conflicting packages...

Packages (1) linux515-5.15.167-1

Total Installed Size:  104.98 MiB
Net Upgrade Size:        0.33 MiB

:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring                     [######################] 100%
(1/1) checking package integrity                   [######################] 100%
(1/1) loading package files                        [######################] 100%
(1/1) checking for file conflicts                  [######################] 100%
(1/1) checking available disk space                [######################] 100%
:: Running pre-transaction hooks...
(1/2) Creating Timeshift snapshot before upgrade...
==> skipping timeshift-autosnap due skipRsyncAutosnap in /etc/timeshift-autosnap.conf set to TRUE.
(2/2) Removing linux initcpios...
:: Processing package changes...
(1/1) upgrading linux515                           [######################] 100%
:: Running post-transaction hooks...
(1/5) Arming ConditionNeedsUpdate...
(2/5) Updating module dependencies...
(3/5) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux515.preset: 'default'
  -> -k /boot/vmlinuz-5.15-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.15-x86_64.img
==> Starting build: '5.15.167-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [encrypt]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-5.15-x86_64.img'
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux515.preset: 'fallback'
  -> -k /boot/vmlinuz-5.15-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.15-x86_64-fallback.img -S autodetect
==> Starting build: '5.15.167-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'qla2xxx'
==> WARNING: Possibly missing firmware for module: 'qed'
==> WARNING: Possibly missing firmware for module: 'qla1280'
==> WARNING: Possibly missing firmware for module: 'bfa'
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [encrypt]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-5.15-x86_64-fallback.img'
==> Image generation successful
(4/5) Refreshing PackageKit...
Error connecting: Could not connect: No such file or directory
error: command failed to execute correctly
(5/5) Updating Grub-Bootmenu
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.15-x86_64.img
Found initrd fallback image: /boot/initramfs-5.15-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
done

[manjaro /]# mkinitcpio -P
==> Building image from preset: /etc/mkinitcpio.d/linux515.preset: 'default'
  -> -k /boot/vmlinuz-5.15-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.15-x86_64.img
==> Starting build: '5.15.167-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [encrypt]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-5.15-x86_64.img'
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux515.preset: 'fallback'
  -> -k /boot/vmlinuz-5.15-x86_64 -c /etc/mkinitcpio.conf -g /boot/initramfs-5.15-x86_64-fallback.img -S autodetect
==> Starting build: '5.15.167-1-MANJARO'
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: 'qla2xxx'
==> WARNING: Possibly missing firmware for module: 'qed'
==> WARNING: Possibly missing firmware for module: 'qla1280'
==> WARNING: Possibly missing firmware for module: 'bfa'
  -> Running build hook: [keyboard]
  -> Running build hook: [keymap]
  -> Running build hook: [consolefont]
==> WARNING: consolefont: no font found in configuration
  -> Running build hook: [encrypt]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: '/boot/initramfs-5.15-x86_64-fallback.img'
==> Image generation successful
[manjaro /]# 


[manjaro /]# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.15-x86_64.img
Found initrd fallback image: /boot/initramfs-5.15-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
grub-probe: error: cannot find a GRUB drive for /dev/sdb1.  Check your device.map.
Adding boot menu entry for UEFI Firmware Settings ...
Root filesystem isn't btrfs
If you think an error has occurred, please file a bug report at "https://github.com/Antynea/grub-btrfs"
done

Unfortunately I’m still getting the same error message at boot-up :pensive: Do any ideas come to mind? Or if we’ve exhausted things to try, I can try moving on toa new install of Manjaro. I so appreciate all of your help so far!

No further ideas from me.
Perhaps someone else can see what was overlooked.

Even if it booted, because it is so old, next would be a huge update equivalent to replacing nearly every single file and with likely quite some work involved.

Save your data from /home and start over with a recent ISO is my recommendation.

These warnings refer to your Manjaro Installer on /dev/sdb and can be safely ignored; as can the BTRFS message, as you’re not using it.

I’d like to see some system information; the output of:

inxi --admin --verbosity=8 --filter --no-host --width

This will give a better appreciation of the hardware used.

After all this time and with an equally aged Manjaro installation, it’s difficult to predict complications that may ensue even if you are able to finally login (and subsequently attempt updates).

I’m glad you’re OK with starting over. I think for the sake of your sanity it might be best to do just that. :wink:

If you decide to take this route, and as I have no experience to offer regarding the ramifications of re-using a previously encrypted disk, I’d suggest this clarity is needed before continuing. Others with better knowledge on this should likely be consulted; @linux-aarhus perhaps.

I recommend downloading the latest full Manjaro Installer, in preparation for a new installation. Make sure to verify it for consistency against the provided checksum. Using a Ventoy USB instead of re-writing an ISO image to USB is a popular choice. Just ask, if you’d like more information on Ventoy.

A suggestion only; Perhaps opt to not setup luks during installation; I understand it can be done manually later with relative ease. In this way you can focus on having a solid, stable system before adding the extra complication of encryption.

Regards.

Thanks so much for your help @Nachlese, I’ll follow your advice and save data from /home

Thanks also @soundofthunder, agreed that it probably makes the most sense at this point to move forward with the new installation. Appreciate the tip about not setting up luks during the new installation! Do you have a resource you use for setting up Ventoy USB?

I have a second unformatted nvme SSD installed, so I was thinking of searching the forum for guidance on doing a new install there? And then in the future I could look into how to wipe/re-use the previously encrypted disk

As it happens:

Create a Ventoy USB (ISO Launcher)

Boot with a Ventoy USB, and ISO files are automatically listed in the Ventoy menu, and can be booted directly. A 32GB capacity USB should allow ample space to store several ISOs of your choice; an 8GB capacity USB might hold one, or two ISO’s; do the math.


Installing Ventoy

Ventoy is available from the official Manjaro extra repository:

sudo pacman -S ventoy


Create a Ventoy USB (for MSDOS/MBR mode) booting:

sudo sh ventoy -i -r 100 -S -L VOLUME /dev/sdX

Create a Ventoy USB (for UEFI/GPT mode) booting:

sudo sh ventoy -i -r 100 -S -g -L VOLUME /dev/sdX

Usage highlights:

  • Enable -s or disable -S Secure Boot.
  • Substitute VOLUME for a volume label name to use.
  • Substitute /dev/sdX for the location of your USB device.
  • Preserve some space on the target device (example allows 100mb).
Ventoy Usage (type `ventoy`)

Type ventoy (without arguments) to see usage information:

Usage:  Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX  
 CMD:  
  -i  install Ventoy to sdX (fails if disk already installed with Ventoy)  
  -I  force install Ventoy to sdX (no matter if installed or not)  
  -u  update Ventoy in sdX  
  -l  list Ventoy information in sdX  
  
 OPTION: (optional)  
  -r SIZE_MB  preserve some space at the bottom of the disk (only for install)  
  -s/-S       enable/disable secure boot support (default is enabled)  
  -g          use GPT partition style, default is MBR (only for install)  
  -L          Label of the 1st exfat partition (default is Ventoy)  
  -n          try non-destructive installation (only for install)

Updating the Ventoy USB:

Update the Ventoy system on an existing Ventoy USB;
ensure the updated Ventoy version is available in Manjaro; and then:

sudo ventoy -u /dev/sdX
  • The Ventoy USB update process is non-destructive.

See also: Ventoy (GitHub); Ventoy (Home).


The easiest would be to physically remove the old disk for the time being (or at least disconnect the cables and secure them so they don’t accidentally touch something they shouldn’t).

Attach the new NVMe, and install using a freshly downloaded Manjaro ISO of your choice (I usually favour a full ISO) – boot into the Manjaro live environment (choose Manjaro via the Ventoy USB menu). Calamares (the actual installer) is fairly straightforward, though there are choices to be made throughout.

You will be presented with a choice of Partitioning Methods; most likely these:


  • Erase Disk

This method as it may suggest allows to erase the intended disk entirely and proceed to install Manjaro. Options to configure swap space are given via a dropdown control; the size of a swap partition is automatically calculated depending upon which option you choose.

The choice reduces to whether or not you wish to use hibernation; With Hibernation will create a swap partition slightly larger than the amount of system RAM; Without Hibernation, approximately half that amount.

Installation will continue, creating an $EFI partition and a single partition for everything else.


  • Manual Partitioning

If you are comfortable manually setting up partitions, this is the most versatile approach. It allows to specifically create the partitions you need/want. For example, I always prefer to have a separate /home partition for easier maintenance going forward.

This also means specifying partition sizes, so careful consideration is needed. For example, I might create these partitions according to my needs:

  • ESP – 300 MB (recommended default)
  • SWAP – Equal to my system RAM (plus maybe 5% extra)
  • / (root) – Generally, 100 GB (or greater) suits me.
  • /home – The remainder of space available.
  • or, sometimes I might add additional partition(s) for a special purpose (such as housing Virtual Machines)

It’s not too complicated but it does require attention to detail and careful decision making.

I hope this was helpful.

Regards.

Thanks so much, I was able to get a new install working on my other disk

Really appreciate all of the assistance from you both!!

2 Likes