Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I have a slightly older Fedora install that has been upgraded to Fedora 32.
Current kernel 5.8.17-200.fc32.x86_64
Logical volumes set up, separate /home /swap and /, all underlying partitions are EXT4
Grub2 installed in the MBR in my msdos partitioned 1TB SATA SSD
I just acquired a new 1TB NVME drive, and want to move my Fedora installation to the NVME from my SATA drive. As I use LVMs, I thought this would be relatively simple- Create a partition on the new drive, adopt it into the volume group, pvmove all my logical volumes over, remove the SATA drive from the volume group, and install Grub2 to the new drive.
However, this has not been the case. This failed miserably, and my system would not boot. I booted up a liveUSB, pvmoved all my volumes back to the old drive, and booting from Grub on either the SATA or on the NVME drive works fine. As soon as I move one volume to the NVME, boot fails. I found that strange, and so I shut down, booted the LiveUSB again, and just straight up used dd to copy the entirety of the SATA drive to the NVME one. This resulted in the exact same issue booting as before.
I added rd.break=initqueue to get into a shell in the initramfs, and found that the NVME drive was not showing up in /dev. Strange, it seems that my initramfs did not get NVME support built in. So I booted to my old drive, created a new initramfs manually specifying for the nvme module to be loaded, copied that over and tried again. Also did not work.
I tried using the --no-hostonly argument as well adn rebuilt the initramfs again, but I still cannot see the nvme drive in the initramfs. I installed a fresh install of Fedora 33 on the NVME drive, and it booted just fine. However, the auto-setup used GPT and EFI boot, instead of a legacy BIOS/Grub2.
My question at this point, is if there is an issue getting my system to build in nvme support to the initramfs correctly, or if there is a known issue when booting NVMEs that have been set up as a BIOS/msdos disk. I am not super interested in converting to use EFI boot at this time, and would like to be able to get my current system running off the NVME drive if possible.
Thank you.
**edit**
It appears that I cannot figure out how to edit my signature. I am running a new rig- Ryzen 7 1700X, MSI X470 Gaming Plus, 32GB DDR4-3400, RX 5700XT, 1TB Samsung 860 Evo SATA, 1TB SK Hynix Gold P31 NVME, Fedora 32
Last edited by bplis*; 11-12-2020 at 01:38 AM.
Reason: Additional info
Did you try booting vmlinuz-0-rescue...UUID... and initramfs-0-rescue...UUID... like all my Fedoras have?
I had a similar experience on switch from SSD to NVME with both using GPT/UEFI. IIRC I solved the missing nvme support by booting something else, then chrooting into Fedora to build a new initramfs.
My rescue is from... like Fedora 22 I think? I have had the same install and just upgraded, repeatedly, since Fedora... 17? The rescue one will not even try to boot, fails right away.
Regardless, I tried rebuilding my initramfs as explained above, which *should* have included the nvme driver module.
Rescue initramfs from F22 may be too old to have had nvme support. I expect rebuild should have worked, but I don't see you used chroot to do it, which is what worked for me.
If you want to try a shortcut, send me your current kernel version via private message and I'll install that version kernel with lvm forced into it and provide a URL for you to download it. It still might not work because it's from an Intel only PC, but mine needs a kernel upgrade anyway. I can also do one for F33.
I don't need to chroot, as I am booted into the system. I have everything operating fine on the SATA SSD.
Update/solved-
The rescue initramfs wouldn't boot either. But after some more digging, I found that I have both the nvme and nvme_core kernels module loaded when fully booted. I modified my Dracut settings to include nvme_core as well as nvme, and rebuilt it again. This time, it worked!
For anyone that needs to do this from the command-line, this appears to be the simplest solution. Please note that this will only update the current kernel, so you will not be able to boot into any older ones without doing the same for them as well, and maually specifying the kernel versions by hand. Int he future, kernel updates from dnf *should* auto-include the module now, but I will update you as to whether that is actually the case.
I don't need to chroot, as I am booted into the system. I have everything operating fine on the SATA SSD.
Update/solved-
The rescue initramfs wouldn't boot either. But after some more digging, I found that I have both the nvme and nvme_core kernels module loaded when fully booted. I modified my Dracut settings to include nvme_core as well as nvme, and rebuilt it again. This time, it worked!
For anyone that needs to do this from the command-line, this appears to be the simplest solution. Please note that this will only update the current kernel, so you will not be able to boot into any older ones without doing the same for them as well, and maually specifying the kernel versions by hand. Int he future, kernel updates from dnf *should* auto-include the module now, but I will update you as to whether that is actually the case.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.