I built a new system with a fresh install of Fedora 29 on an nvme drive.
I added a second nvme drive and installed Windows 10 and configured it to run in qemu/kvm.
At this point, everything works as I expect - boot to Linux on one nvme drive, run Windows 10 in a VM from the second nvme drive.
I pulled the nvme boot drive out of the system I’m replacing and figured I’d pop it into the last remaining nvme slot, mount it somewhere, and just copy data over or maybe boot it into a VM as well…but after installing it and powering up, the system won’t boot.
It starts to boot…and then hangs on the fedora boot screen before dropping into a dracut prompt informing me that /dev/mapper/fedora-[root, home, swap] cannot be found. If I remove the third drive, boots fine.
NVME 1 (New Linux) has GRUB is installed and that is what the BIOS boots from (1st in boot order)
NVME 2 (Windows) has the Windows Boot Manager. I can boot from this drive if I select it from the BIOS. (GRUB on NVME 1 is unaware of this drive and Windows does not appear in the GRUB boot menu from NVME 1).
NVME 3 (Old Linux) also has GRUB installed as it was the boot drive from my old machine. This drive does not show up in the GRUB menu that loads from NVME 1.
Are you suggesting that maybe GRUB from my boot drive (NVME 1) is searching the Old drive I added (NVME 3)? Any ideas on how I can confirm this…and maybe how I could fix it if that is in fact true?
Don’t suppose that third drive has LVMs named like that on the first drive? Can’t remember the details of what happened when I tried that, but things were definitely confused with multiple LVs with the same name.
I’d try booting off a Linux USB stick with just the third drive attached, and rename the volume group.
Had a similar issue on Fedora 29. Added the second nvm m.2 ssd. Fedora would stall. Turns out I had an additional entry in /etc/fstab that caused all the trouble - this line about the new device. I removed the entry, rebooted and boom desktop.
Drive is working fine, I managed to pass it through my win 10 vm.
Booted into old setup (NVME 3 in my example above)
Renamed the VG:
$ vgrename fedora griffey # griffey was the name of the old machine…
Edited /etc/fstab and /etc/default/grub
Regenerated initramfs (just in case - not sure if this was required or not…)
$ dracut --regenerate-all --force
Make a new GRUB config. I first tried this:
$ grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
but I got some errors about not being about to map to /dev/mapper/fedora-… drives so I rebooted to the grub prompt, pressed e and changed fedora to griffey for that boot config and then re-ran the grub2-mkconfig command once it was booted. There was probably a better way to handle this last part but it worked and now the original drive is still bootable with /dev/mapper/griffey-… in place of /dev/mapper/fedora-….
Popped NVME 3 with the newly renamed VG into the new machine and it booted right up. I was then able to create mount points and access all my data exactly how I’d wanted to. Can also boot it right up into a VM if I want and use it just as before.