Copy Your Linux Install to a Different Partition or Drive
on July 9, 2009
If you need to move your Linux installation to a different hard drive or partition (and keep it working) and your distro uses grub this tech tip is what you need.
To start, get a live CD and boot into it. I prefer Ubuntu for things like this. It has Gparted. Now follow the steps outlined below.
Copying- Mount both your source and destination partitions.
-
Run this command from a terminal:
$ sudo cp -afv /path/to/source/* /path/to/destination
Don’t forget the asterisk after the source path. - After the command finishes copying, shut down, remove the source drive, and boot the live CD again.
- Mount your destination drive (or partition).
- Run the command “gksu gedit” (or use nano or vi).
-
Edit the file /etc/fstab. Change the UUID or device entry with
the mount point / (the root partition) to your new drive.
You can find your new drive’s (or partition’s) UUID with this
command:
$ ls -l /dev/disk/by-uuid/
- Edit the file /boot/grub/menu.lst. Change the UUID of the appropriate entries at the bottom of the file to the new one.
- Run sudo grub.
-
At the Grub prompt, type:
find /boot/grub/menu.lst
This will tell you what your new drive and partition’s number is. (Something like hd(0,0)) -
Type:
root hd(0,0)
but replace "hd(0,0)" with your partition’s number from above. -
Type:
setup hd(0)
but replace "hd(0)" with your drive's number from above. (Omit the comma and the number after it).
That’s it! You should now have a bootable working copy of your source drive on your destination drive! You can use this to move to a different drive, partition, or filesystem.