Migration Solution

I am still confused about the best way to approach this so I am seeking advice.

I am just about to migrate my desktop system from a very old, slow HDD to a new Sata 3 SSD. I know it is not the “latest greatest” option but the motherboard will not use the latest m2/nvme type options.

My System/home/swap is on a 500GB HDD and I want to move it to a 500GB SSD. I have an external 500GB HDD to copy/clone to.

My plan is to copy the original HDD to the external drive, then restore this to the new SSD. I can do this by booting into a USB system (Puppy Linux) which gives me access to all the files/directories. By doing this I can access fstab and identify the new UUIDs etc and make the changes needed to use the new SSD as my main system. Can I just then lose the old HDD?

I’ve been using Linux for years but never done a migration. I don’t want to do a fresh install, I want to keep what I have built up. Any commands and advice would be appreciated.

I am thinking Clonezilla, not just a backup. Whatever it is, it needs to be bootable and keep permissions etc. Is this possible?

Sure, there are options:

  • You can use rsync to make an exact clone as described here.
  • You can use disk cloning software to clone the partition/drive. A couple of options are clonezilla or redo may be easier to use.

One complexity that might come up in a cloning situation is if your SSD is actually smaller than your HDD. In theory they are both 500GB but in practice? :person_shrugging:

1 Like

Thanks for the reply. I normally use rsync for backing up things but the description does seem complicated to migrate. I am happy using Clonezilla, I have that on a USB drive already. As far as I can tell the HDD & SSD are the same size but I do understand that fine details can change this. So you reckon make a copy via Clonezilla to external HDD, then format SSD to identical fs (ext4) then restore to the SSD will work? Obviously sort out the UUID stuff in the fstab after?

I might be mistaken, but won dd clone an entire disk to another one just in one go?
All included, partition table, boot sector, UUIDs …

1 Like

So does that make dd the same as Clonezilla et al? Not sure :man_shrugging:

I don’t really know what Clonezilla uses “under the hud” but here is what ArchWiki says about cloning with dd:

https://wiki.archlinux.org/title/Dd#Disk_cloning_and_restore

The important factor here is as mentioned by @dalto that the disks are of the same size.

If you are not sure, I guess you could also shrink your system disk somewhat before DD-ing and later on use Gparted or something to extend the partitions on the cloned disk to fill up the whole of it.

1 Like

From what I can gather I can clone using dd or clonezilla but in order to get things fully working I need to lsblk to find out UUIDs and other stuff, and then check mounts and grub and all that stuff. It might “just work” but the whole thing is still in bits. I’ll check it all out & thanks for the heads up, the knowledge is appreciated.
I love Linux & EndeavourOS but I have to say when I was a MacOS user (long time ago) there was a program called Super Duper that took all the pain out of this. However I suspect it used rsync as it’s main work.
What I would like to see is a simple guide to migrate from old computers to newer ones. Not just for me but for everyone.
I’ll do the upgrade & report back. As always, backup first! :grin: :purple_heart:

2 Likes

Use partclone instead of clonezilla.

https://wiki.archlinux.org/title/Partclone

Easy to clone systems using it, either to a new disk or different partition.

Am I right in assuming there's no painless way to migrate one's installation to a new disk? - #13 by otherbarry

Partclone supports many file systems.

ls /usr/bin | grep partclone
partclone.btrfs
partclone.chkimg
partclone.dd
partclone.exfat
partclone.ext2
partclone.ext3
partclone.ext4
partclone.ext4dev
partclone.extfs
partclone.f2fs
partclone.fat
partclone.fat12
partclone.fat16
partclone.fat32
partclone.hfs+
partclone.hfsp
partclone.hfsplus
partclone.imager
partclone.info
partclone.minix
partclone.nilfs2
partclone.ntfs
partclone.ntfsfixboot
partclone.ntfsreloc
partclone.reiserfs
partclone.restore
partclone.vfat
partclone.xfs

Partclone is what I use for my system image backups. Simply to backup, simple to restore.

Whatever you do, practice your process in a VM first … make all your mistakes there.

2 Likes

Maybe Rescuezilla is worth a look too. That’s what I use for save/restore images.

1 Like

I’ve copied an install by copying files from a partition to another partition many times.
Used simple cp -a for that. I assume rsync is OK too.

After copying, you will need to adjust some things:

In fact once I copied an EndeavourOS install to another machine (desktop to laptop). Then I had to adjust some drivers (GPU driver in particular) as well. But all in all, it worked.

1 Like

Thanks for all the replies guys. That gives me a few things to look at before I proceed. I’ve marked this thread as solved just to keep things tidy. :grin:

1 Like

Actually it’s Guid and UEFI if that makes a difference. I’m not aware that makes a difference to fstab and UUIDs. That is more of a file system thing. Fstab is about identities I think. Please feel free to correct me if I am wrong.

You’re right, fstab is the same.
Was just figuring out the link to the proper grub instructions.

1 Like

My solution:

Migration

I keep all my personal data on 2 external HDDs. One for data, one for stuff I find in the bay. And reinstalling our fave OS is a pleasure, no? So I do it with love and joy in my heart.

My personal data is all backed up of course. I don’t wish to reinstall because what I have is so heavily tweaked/customized I really don’t want to go through redoing it all. It’s far from being a basic EnOS setup. I have those on 2 other machines but this one is my primary desktop.

1 Like

Okeeee… :wink:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.