Nvme disk not found at boot after install

Dear team,
I wanted to install Manjaro Linux (version KDE_210) in my HP Spectre 360 laptop, as the Live USB is working perfectly.
For this I have removed the Secure boot functionality in the BIOS, and It’s using UEFI boot

During the installation process from the Live Usb, I can see all partitions of my single nvme SSD (I’m dual/triple booting Windows, Fedora and Manjaro), I then select one specific to install Manjaro on it.

Everything goes well, then I reboot. I see the Grub menu
, then select Manjaro, and I’m immediatly going to the emergency shell with the error:
mount: /new_root: can’t find UUID-86f47de-676e-471d-ac22-a921d94c8814.

I’ve checked and the uuid is correct.

At the emergency prompt, a ls /dev shows the nvme ssd drive and partition is not recognized:
and a mesg | grep nvme kernel didn’t load any nvme module.

Please note that from the same Grub menu, if I select Fedora then it just works.

Any idea on how I can fix that ?

Don’t have a real answer to why that is happening, but maybe try to install a different edition of Manjaro?

Or maybe install Manjaro via Architect? Or maybe try to install Manjaro via Architect and instead of selecting GRUB, select rEFInd instead when you get to that section.

I didn’t know about this version, I’ll try that.

Before, as I can chroot into manjaro using my Fedora, I will update to the latest version, maybe that will work.

Try to switch to an older LTS kernel like 5.4 if the one installed is giving you problems.

I can install from chroot or do I need to install from architect?
I’ll have access only later today

You can install any package from chroot just fine. For kernel management a special tool exists to account for all packages needed:

$ sudo mhwd-kernel -i linux54
1 Like

Maybe unrelated, but a similar problem was solved here:

switch off ‘fast boot’ in the ‘bios’ of the pc.

I managed to install kernel linux54 and linux512 as well, it was more difficult than just running the mhwd-kernel script as it asssumed the kernel version in chroot is the one installed in the host.
Manjaro installed kernel 510 whereas fedora is running with 58, hence he couldn’t find any modules.

Anyway, I tried with linux54 and linux512 and it failed the same.
My nvme disk is mounted as Raid, and I’ve seen in some comments that I would need to install raid option for mkinitcpio. So I added mdam_udev hook and mdmon binaries
I updated /etc/mkinitcpio.conf and run the mkinitcpio command, but still no luck. No differences when booting

Regards,

Regards,

Thanks for the suggestion, I don’t have this “fast boot” option in Bios. As well, some comments asked to change nvme disks from raid to ahci mode in bios, but I don’t have this option neither…
And the boot works with the same Grub for Fedora.

I compared the working initramfs files from Fedora to the non-working one from Manjaro, and saw that the nvme module is NOT included in manjaro.

Any idea on how to include it ?

I found out how to include nvme module, now eveything works. Thanks for the suggestions.

I just had to modify /etc/mkinitcpio.conf with:

MODULES="crc32c-intel vmd" # Added vmd here
BINARIES=(mdmon) # Added mdmon here
 #Added mdadm_udev dmraid lvm2 here
HOOKS="base udev autodetect modconf block mdadm_udev dmraid lvm2 keyboard keymap filesystems"

then

mkinitcpio -P

to rebuild the initfs files, and it just works !
I’m not sure hooks and binaries changes are needed, as it’s only when I added “vmd” in MODULES that it suddenly booted properly.
Regards

2 Likes

I met the same problem when installing Manjaro Cinnamon 21.0.4 in Lenovo laptop.
ideapad 3-15ITL6 Laptop, model: 82H800B7TW

kernel module used by NVMe disk are listed below.
0000:00:0e.0 RAID bus controller: Intel Corporation Volume Management Device NVMe RAID Controller
	Subsystem: Intel Corporation Device 7270
	Kernel driver in use: vmd
	Kernel modules: vmd
10000:e1:00.0 Non-Volatile memory controller: Sandisk Corp Device 5008 (rev 01)
	Subsystem: Sandisk Corp Device 5008
	Kernel driver in use: nvme

Steps to solve this problem are listed below.
Don’t reboot your laptop,
after the installation process is finished from the Live Usb.
Instead, follow instructions below to add missing kernel module to initramfs to avoid this problem.

Say /dev/nvme0n1p5 is where your rootfs located.
[manjaro-cinnamon ~]# mount /dev/nvme0n1p5 /mnt/
[manjaro-cinnamon ~]# cd /mnt/
[manjaro-cinnamon mnt]# mount -t proc proc proc/
[manjaro-cinnamon mnt]# mount -t sysfs sys sys/
[manjaro-cinnamon mnt]# mount -o bind /dev dev/
[manjaro-cinnamon mnt]# chroot . /bin/bash
[manjaro-cinnamon /]# nano /etc/mkinitcpio.conf

Then, modify /etc/mkinitcpio.conf with:
# Added crc32c-intel vmd to MODULES
MODULES="crc32c-intel vmd" 
# Added mdmon to BINARIES
BINARIES=(mdmon) 
#Added mdadm_udev dmraid lvm2 to HOOKS
HOOKS="base udev autodetect modconf block mdadm_udev dmraid lvm2 keyboard keymap filesystems fsck"

Then, rebuild initramfs.
[manjaro-cinnamon /]# mkinitcpio -P
[manjaro-cinnamon /]# exit
[manjaro-cinnamon mnt]# umount /mnt/dev 
[manjaro-cinnamon mnt]# umount /mnt/sys 
[manjaro-cinnamon mnt]# umount /mnt/proc 
[manjaro-cinnamon mnt]# cd
[manjaro-cinnamon ~]# umount /mnt 
[manjaro-cinnamon ~]# sync
reboot your laptop.

reference

2 Likes

It works. Thank you @macarthur628

Closed due to necro-bumping