Totally off topic from what I normally blog, but thought it might be useful to some people.
I’ve just migrated my home PC from a SATA SSD to an NVMe drive, and had some fun as there were some things I didn’t know about when I started.
Mostly this was because I was going from an old style MBR partition table, to a GPT/EFI setup
- Make sure your PC is capable of booting NVMe
Mine wasn’t (although I had done some research on this before I started. Running an Asus P8Z77-V LK which doesn’t have an M.2 slot at all, led me to see whether it was possible to add a PCIe adapter. This *is* possible, however the BIOS doesn’t support NVMe boot out of the box, and a modified one is needed. See this forum post for more details - Purchase a PCIe NVMe adapter if you need one. I bought one of these very cheaply
- Purchase an NVMe SSD. I bought a Samsung 970 Evo Plus as they have good performance and reputedly better legacy boot support. I’m not sure if that made a difference to the migration.
- Create a Windows Recovery/Boot USB and a GParted Boot USB
- Install the hardware, making sure the PCIe adapter is in a slot supporting x4 lanes
- Make sure your PC is not in the middle of doing some updates. Mine was and this seemed to screw over the registry somehow, requiring a lot of wailing and gnashing of teeth before a partial recovery point restore got things working again
- Shut down the PC and boot from the GParted Boot USB
- Create a GPT partition table on the new drive
- Create a 100MB EFI partition and a 128MB MSFT partition at the start of the drive with FAT32. Mark the EFI partition as ‘Boot’
- Clone the Windows partition from the SSD to the new drive
- Power down the PC and disconnect the old SATA drive
- Switch back on with the Windows Boot USB connected
- Use this post to build the EFI boot configuration (I did a lot of this the hard way….)
- Remove the USB and go into the BIOS and temporarily turn off Secure Boot, and configure the necessary setting for the PC to boot UEFI from the PCIe storage device
- Boot up – it may fail and have to boot into safe mode once to sort out the boot device in windows
- Once it is booting into windows successfully, go back into the BIOS and turn Secure Boot back on.