I bought a 500GB SSD to replace my 500GB HDD. Now I want to clone the HDD to the SSD before I replace the HDD drive with the SSD. I have a mixture of Windows 10 and Linux partitions on the HDD. What is the best way to clone it to the SSD?

My Linux partitions are an ext4 and a swap.

The SSD can only be connected to a USB port for cloning.

  • If both OSes are installed in UEFI mode as they should be for any 10 years old or newer machine then any good cloning software can do it (e.g. Clonezilla). After cloning disconnect the old drive and adjust UEFI > Boot settings if needed. May 19 at 9:49
  • The edited answer addresses your edit. You can also do the reverse, i.e., install the new blank SSD drive where it'll be and put the old HDD in a the external USB bay/enclosure. May 19 at 9:58
  • Please notice that there will be problems, in the target drive is smaller than the source drive, because the tail end cannot be written. it is not enough to check the nominal sizes, check the sizes at the byte level. If smaller you must shrink the last partition so that its tail end will be within the target drive. If GPT (guid partition table) you must also fix the backup partition table unless the drive sizes are exactly the same (at the byte level). See details at this link
    – sudodus
    May 19 at 12:27

1 Answer 1

  • As with all these actions: making a backup is mandatory.
  • If this is a notebook with only 1 bay: get an external drive bay and put the ssd into the bay and connect it to your system. You can do without but it is a bit more risky: if the ssd falls onto the ground it might damage.
  • If this is a system with more bays: add it.
  • Mount it. Make sure using lsblk before and after mounting the ssd to make 100% sure you pick the correct devices.

Now if you feel like going on an adventure (and yeah some of us are going to gniffle):

  • use the ddcommand to copy data from your system to the ssd.

    sudo dd if=source of=destination status=progress

    where source is your system (probably /dev/sda) and destination your ssd (/dev/sdb?). Make sure using lsblk before and after connecting the ssd to make 100% sure you pick the correct devices.

  • but I would suggest using clonezilla as dd -will- -without- -questioning- destroy your current system if you mess up the command.

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.