NVMe Drive won't boot after being cloned from a 2.5 SSD

I retried again from stratch using the new dracut stuff,

In Clonezilla I nothing these yellow lines

When I shut-down and remove the old SSD, when I reboot, the boot menu appears, I select the most recent fedora and then it quickly shows the fedora loading window and then drops to this.

I really don’t know what else to do or what I’m missing.

I’ve read so many articles/forums and I think I’m more confused than before :smiley:

Why does something that appears simple be so difficult and time-consuming

One of those messages seems to indicate that you may be booting with legacy boot and the drive does not have a ‘bios boot’ partition. Are you booting normally with uefi or legacy (AKA CSM or MBR) boot? I also see a line about running grub2-install (which is only used on legacy boot systems) and another about run-ntfsreloc_part which I have never previously seen and wonder where it comes from since with a cloned OS that should not be required.

I would suggest that you first remove the partitions on the nvme drive and make sure it has a GPT partition table but nothing else, then do as suggested.

  1. boot from the original SSD drive and make sure it is fully updated with dnf upgrade --refresh. One should be able to make the changes you indicated to /etc/dracut.conf.d/nvme.conf then run dnf reinstall kernel*6.3.8* and dracut should automatically add that driver to the in-use initramfs for the next boot to use.

EDIT: Step 2 may not be required if one does step 1 fully.

  1. Perform the needed steps to ensure the initramfs has the drivers for nvme. I have not needed to do so since when I switched from SSD to NVME I also did a new clean install.
    The steps you listed above seem reasonable – ending with the sudo dracut --force to create the new initramfs image containing that driver. The --no-hostonly option to dracut tells it to add all the available drivers into the initramfs image and makes it a bit larger than may be needed, but also should handle the driver issue with nvme. It would seem that --no-hostonly and --add-drivers nvme would be essentially duplicating effort – the first adds all available drivers and the second adds a specific driver.
  2. Once done then boot to live media or to a ddrescue image and use ddrescue as suggested above to clone one partition at a time from the SSD to the nvme. By using ddrescue it is a straight bit for bit copy and uses no other utilities in the process. It will create an exact image of the existing partition on the new device.

Once that is done then (while booted from a live image) check that the partitions on the nvme seem proper. lsblk -f may work to show the partitions and the formatting as well as the UUIDs while sudo fdisk -l will show the partition tables.

If all seems proper except the duplicated UUIDs then it may be possible to disconnect the SSD and boot normally.

NOTE:
On my systems I always wish to avoid problems between UEFI and MBR booting so as much as possible I disable legacy boot so the system never can boot in an unanticipated mode.

1 Like

Thanks again @computersavvy I’m learning a lot.

I’ve actually decided to start afresh and do a fresh install on the NVMe. The old SSD also had a Win 11 partition and some other stuff, so decided a nice fresh install was probably best.

This is working well :slight_smile: and Fedora is blazingly fast on a NVme2!

and I’ve still got the old SSD available now if as a backup and if I ever need to get into Windows.

Many thanks again and I feel when I need to do this again I’m so much more aware of the pitfalls etc