Test 1:

dd if=/dev/sdb of=/dev/sdc

/dev/sdb is a bootable OS HDD, /dev/sdc is another HDD, after executed the above dd command, the /dev/sdc become bootable.

Test 2:

dd if=/dev/sdb of=/dev/sdc

/dev/sdb is a bootable OS HDD, /dev/sdc is a PCIe NVME SSD, after excuted the above command, the /dev/sdc can not boot.

Similar issue: dd copy a HDD to USB but fail to boot?

In the above case, the OS needs to install usb-storage driver to initramfs; is there any driver needed to install for a NVME SSD?

  • 1
    Can your system firmware (BIOS or UEFI) detect the SSD as a bootable device? If not, then you cannot load a bootloader from it. Adding a driver would be a Catch-22 problem: you cannot load the driver from the NVMe SSD, because you need the driver to access it! – telcoM Aug 10 '18 at 14:33
  • If I installed OS from CDROM ( not from dd copy ) to this PCIe NVME SSD, it can boot. – Mark Aug 13 '18 at 5:06
  • Is the copied HDD configured to be bootable with the classic BIOS style, or with UEFI style? The NVMe SSD might be bootable using UEFI style only. And if your next question is "how to change an OS boot style from BIOS to UEFI?", then it depends on the OS in question. – telcoM Aug 13 '18 at 7:29
  • I think you point out the problem, it is not related to dd, the root cause is the PCIe SSD can't boot in legacy mode. – Mark Aug 14 '18 at 1:59
  • Since these comments will eventually expire, I wrote an actual answer based on things I mentioned in the comments above. Please mark the answer as accepted if it helped you. – telcoM Aug 14 '18 at 14:55

The PCIe NVMe SSDs I've seen are either not bootable at all, or only bootable using UEFI.

If you're using legacy BIOS-style boot, and a PCIe SSD does not appear as a bootable device, it's a pretty good clue that the PCIe SSD does not support legacy-style booting.

If you can get to the bootloader, but fail to start the OS, then the problem is a missing driver; but if you cannot even get to the bootloader, the problem is that the system firmware (BIOS or UEFI) does not support that device as a bootable disk.

UEFI-style boot requires a GPT partition table and an EFI System Partition (ESP), so a straight clone of partitions from a MBR-partitioned disk to a GPT-partitioned one isn't enough. But if you can add the ESP and then replace the bootloader, e.g. from a traditional BIOS-based GRUB to an UEFI version of GRUB, that might be enough to get an existing Linux/Unix installation cloned & converted from legacy to UEFI boot.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.