The title pretty much speaks for itself… I have a linux install that I’ve spent a considerable time configuring, which is unfortunately installed on a drive that’s starting to show signs of dying.
My question is: how, if there is a way, can I migrate said linux install over to a different drive, while preserving all the configurations and such.
EDIT: Thank you to everyone who commented! I made the transfer, using dd and it went mostly smoothly, even if it did take a while.
Clonezilla Is what I normally use for cloning drives, including my boot drive. You flash it to a USB drive then.
Maybe look up a Youtube guide first but I’ve never had issues with it.
Clonezilla is amazing, you ‘just’ need a disposable thumb drive (it gets wiped) and an external hard drive (to save the temporary clone file).
I’m glad you got it sorted with dd.
One thing people don’t often realize about dd is that it copies all the data from one drive to the other, including uuids that were written when the old drives filesystem were created.
For that reason it excels at cloning one’s boot disk, because when the old drive gets removed from the pc, the clone drives os says at some point during the boot process “okay, let’s mount the filesystem with uuid ABC123 at /“ and it works.
Dd is also not the best tool for cloning disk that you intend to leave hooked up because if you do it’ll put the poor host os in a “I’m seein’ double here, four spidermen!” Type situation.
I was also one of those people who didn’t realize that it copied UUIDs. I only figured that out, because I imagined that I’d have to update the fstab to point to the UUIDs of the partitions on the new drive.
I used dd recently to upgrade the drive in a Steam Deck. Easy and worked perfectly.
Assuming the new drive is an equal size or larger: Boot from a USB drive and use dd to clone the old drive to the new one. Then, remove the old drive and boot from the new one. You’ll also need to resize the partitions on the new drive if it’s larger.
Yeah, but… how. I’m a bit terrified of dd and have only really used it to make images of drives before…
Linux is pretty forgiving. You don’t even need to use dd, if you know what you are doing you can create a totally new partitioning format and just copy the files. Since getting the fstab just right in that case is more error prone, just using dd is simpler. If using dd, don’t worry, you can resize partition afterwards.
You can partition your drive identically and rsync your directorys over. Rsync will keep all softlinks and hardlinks. You made need to reinstall grub tho.
If it were me, I’d do a fresh minimal install of the same OS, boot to the livecd and then delete pretty much everything except for /etc and /boot. I’d then cp -ar all my files from the failing drive and then manually merge /etc back. I say manually merge because most things would get replaced by my old files, but I’d manually modfify my fstab to keep the new partition information and add my extra mounts after it. Maybe that’s just me though. You can also just dd and then resize partitions if necessary.