Today I got around to upgrade my old Ryzen PC. I gave it a new SSD to replace the old one, because the old one had a smaller capacity. I decided to purchase an NVMe one, Lexar NM620. I chose this one because while there was a Western Digital blue one, it was also a QLC SSD, which you don't want to buy if you want the SSD to last a while.
However, when I tried cloning the drive from the old SATA drive to the new NVMe drive, an error came up when booting into Windows: INACCESSIBLE_BOOT_DRIVE, in Blue Screen of Death. I didn't know what happened. Later, I cloned the old SATA to a new SATA drive and it booted just the same. I tried installing a fresh Windows on the NVMe, then cloned the partition containing Windows on the Sata drive to the NVMe. Same problem.
So I looked up the Internet for this type of error occurring on Clonezilla. Turned out, I wasn't alone in this regard. According to this Superuser post, because I installed Windows on a SATA drive first, it will boot with the SATA driver in (StorAHCI), without the NVMe driver (StorNVMe). I need to change Windows in the SATA drive to boot from NVMe, so they load the NVMe driver in first, using this command:
sc.exe config stornvme start= boot
This will activate the Windows' built-in NVMe driver during the early boot phase. Once that's done, I cloned the system to the NVMe SSD. It worked and the system worked normally afterward.
Much difficulty cloning drives like this, I wonder if things are easier when cloning happens on Linux. But then I remember you have to modify /etc/fstab, GRRUB configurations or else the system won't boot. So nevermind. Just wonder if I have to load NVMe driver on Linux before booting as well.
: ^)
Reference