Moving data from HDD to SSD

I’m going to upgrade to a SATA III SSD from an HDD in my laptop, and I just want to know if there’s anything special I have to do with my Fedora system before cloning the HDD, such as configuration with device files and things like that. Answers are greatly appreciated, as always.

Let’s see how your HD you want to exchange look’s like:

inxi -DP in Terminal and post the output here.

Here’s the output of inxi -DP on my machine:

Drives: Local Storage: total: 931.51 GiB used: 61.69 GiB (6.6%)
ID-1: /dev/sda vendor: Toshiba model: HDWL110 size: 931.51 GiB
Partition: ID-1: / size: 262.71 GiB used: 61.37 GiB (23.4%) fs: btrfs dev: /dev/sda7
ID-2: /boot size: 18.44 GiB used: 243.8 MiB (1.3%) fs: ext4 dev: /dev/sda6
ID-3: /boot/efi size: 96 MiB used: 83.8 MiB (87.3%) fs: vfat dev: /dev/sda2
ID-4: /home size: 262.71 GiB used: 61.37 GiB (23.4%) fs: btrfs dev: /dev/sda7

Personally, I would create the necessary partitions on the new drive, the vfat and ext4 sized the same as you list, then snapshot my /home subvolume to my new SSD as well as create two more subvolumes that I would mount at / and /var (in the advanced blivet GUI for the disk setup) to have for the installation. Your /home subvolume should remain intact. I have also done the dd route and imaged a 1TB HDD to a 1TB SSD with no issues.

What’s better, though? Using dd to image the HDD or creating the partitions and moving everything over manually?

1 Like

dd will copy every block, whether in use or not; creating partitions and copying content “manually” only copies what’s in use. If your HDD is relatively full, dd is likely quite a bit faster. But your SDD will likely appreciate it if you don’t write to every block even when you have no content using that block. And if the destination file system type is BTRFS I’d definitely copy file by file. Consider using rsync, by the way, if you want to keep using the HDD while moving the files in the background.

1 Like

If you are using btrfs filesystem then copy files individually will be better.

For BTRFS, I will use btrfs send/receive.

1 Like

Well, dd will be slower than other methods. Imaging an entire disk verbatim is a lengthy process if you care to ensure accuracy.
I personally would check this link out https://docs.fedoraproject.org/en-US/fedora/f35/install-guide/install/Installing_Using_Anaconda/#sect-installation-gui-manual-partitioning. The basic steps are what I describe above, though this uses the custom menu instead of advanced.