I have used dd before to clone hard drive's but I'm now attempting to clone an entire hard drive consisting of 3 partitions to another drive.

My partitions are named nvme0n1p1 to 3, I tried leaving the last number of but dd doesn't accept that, it requires one of the partition names.

What is the best approach to do this? Do I first have to create 3 partitions on the target disk or is there an easier way?

The nvme0n1p3 is the largest partition holding all the data, I guess the others are boot partitions (512m and 732M) or something, do I even need to clone them?


If the disk is of equal or larger size, you should be fine. This clones the disk as-is:

dd if=/dev/nvme0n1 of=/dev/target conv=sync status=progress

It's unclear what you want to achieve though. You may have trouble if your OS (and I'm assuming you are cloning a disk containing an OS as you mentioned boot partitions) you are cloning detects the disk differently (Windows HAL or Linux' fstab entries).


As you mentioned Ubuntu, check that your /etc/fstab and your boot-loader use UUIDs to mount your filesystems. In that case, it should just work (tm).

  • Yes, that's what I'm trying. I have a new hard drive for my laptop and I want to clone the old one with Ubuntu on it to the new one. But I think I just realized my error from your example, I tried to use 'if=/dev/nvme0n1p' io 'if=/dev/nvme0n1'. Which of course makes more sense. I'll try it out. – dazz Feb 14 at 13:03

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.