What tool should I use to move my Ubuntu 22.04 LTS installation to a new SSD? I think in the past DParted was used by a lot of people? Are there better tools now?
Ubuntu Version: 22.04 LTS
Desktop Environment: GNOME
Problem Description:
Back in January 2025 I started using Ubuntu 22.04 running from an external HDD connected through a eSATA port. I’m ready to replace my internal Windows 10 HDD with an new SSD and move my Ubuntu 22.04 installation onto the SSD. What tool should I use? I have both a network drive and a USB drive I can copy a disk image to.
If you used LVM for the disk structure it’s as easy as adding it to the volume group then running pvmove. If not then my suggestion is to mount the drive in your existing installation with the partition structure you want. Then rsync the entire / drive to the new mountpoint excluding /run, /sys, /proc, and /dev along with your mountpoint. Then once it’s done update the fstab with the proper UUID’s. Should be that simple really. Depends on your personal comfort level with what I’ve described.
You could do it with timeshift as well, just restore a backup to the new mounted drive. Still would need to do the fstab though.
EDIT Depending on if there is any extensive customization done outside of your /home directory it may be easier to just run the installer / debootstrap 22.04 to the new drive and copy your home directory. That would clean out any cruft as well.
If your partitions are not in LVM, you can boot the Ubuntu live USB (“Try Ubuntu”) and use GParted to copy the partitions to your SSD. If you’re not going to immediately delete the old partitions after copying, make sure you change the UUIDs to avoid duplicate UUIDs. GParted has the ability to change a UUID.
You’ll need to update UUIDs in your migrated system in two places:
As jmgibson81 said, /etc/fstab
Your GRUB configuration. In a running Ubuntu system, this is generated by sudo update-grub. To update it in your non-running migrated system, you could:
Mount the migrated system’s partitions in the same hierarchy as they would be in the running system. For example you could mount the new system’s / partition at the live system’s /mnt directory, then mount the new system’s /boot/efi in /mnt/boot/efi, and so on.
chroot into the new system (for which I would use arch-chroot, which you can install in the live USB by running sudo apt install arch-install-scripts), and in the chroot shell, run update-grub as root.
While you could alternatively use rsync to migrate your system to new partitions, that method requires some detailed knowledge of which options are required for a true copy. Other methods may be easier to get right.
Gparted, as mentioned by @halogen2, is a very useful utility for copying partitions.
Generally, you use it in a “Try Ubuntu” live session.
As long as both disks are not attached simultaneously, there is no need to change the UUIDs.
I use Gparted regularly to back up partitions to an external disk.
Then, I swap the disks in my PC to check that the copy boots.
Both disks are never attached at the same time, therefore UUID conflict is avoided.
Another advantage of using the copy function of Gparted is:-
You do not have to copy source partition no. 1 to target partition no. 1
Example with terminal outputs
My installation of Ubuntu 24.04 has 4 partitions as below
mark@gmktec:~$ sudo parted -l
[sudo] password for mark:
Model: CT500P3SSD8 (nvme)
Disk /dev/nvme0n1: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 1075MB 1074MB fat32 boot, esp
2 1075MB 44.0GB 42.9GB ext4
3 44.0GB 76.2GB 32.2GB ext4
4 76.2GB 194GB 118GB ext4
mark@gmktec:~$
I copy the partitions above to a disk, which also has Windows 11
The copied partitions are now nos. 5, 6, 7 and 8 .
mark@gmktec:~$ sudo parted -l
[sudo] password for mark:
Model: Lexar SSD NM610PRO 1TB (nvme)
Disk /dev/nvme0n1: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 106MB 105MB fat32 EFI system partition boot, esp
2 106MB 240MB 134MB Microsoft reserved partition msftres
3 240MB 214GB 214GB ntfs Basic data partition msftdata
4 214GB 216GB 2011MB ntfs msftdata
5 216GB 217GB 1074MB fat32 boot, esp
6 217GB 260GB 42.9GB ext4
7 260GB 292GB 32.2GB ext4
8 292GB 411GB 118GB ext4
mark@gmktec:~$
Both Ubuntu 24.04 and Windows 11 boot successfully (even with two ESPs on one disk)
Do you have a separate /home partition or partition for personal data? Are both windows 10 and Ubuntu UEFI? If so, you need to copy that partition also or as suggested above, just reinstall from the iso/usb and copy any data from the old to the new.
I am in the group that suggests new clean install of latest LTS or 24.04 and restore from your normal backup. Good way to confirm your backup has everything you need to restore system when you still have old drive to find anything missing.
New install & restore from backup should only take about an hour. Install now to SSD can be less than 10 min. Depending on how many apps you have added & how much data you have, downloading apps & copying data should not take long unless you have very slow internet.
Just to be clear … your external backup disk is not the disk you swap to check if the copy works? Else both would be attached at the same time during backup?
More information about my system.
I miss spoke, I’m running 24.04 LTS not 22.04.
My laptop doesn’t support UEFI.
I will not have my existing 24.04 disk and the new SSD mounted at the same time.
Yes, both disks are available (not mounted) during the Gparted copy process.
Source disk is in the PC and target disk is in an enclosure attached via usb-c.
The critical part of this procedure is to invoke Gparted during a “Try Ubuntu” live session.
After the copy has completed, I power off and remove all disks.
Then I insert the target disk in the PC to check the copy i.e. boot a normal session and login as user