I currently have Ubuntu 10.04 server running on a portable HDD. Want to move it to internal sata HDD. I've got 3 partitions /
, /home
and swap
. On the new HDD I plan to have different partition sizes. What's the correct way of doing these two things (move and resize)?
-
it would be useful if you let us know the sizes of origin/destination hard disk drives in order to have a better scenery of your situation, thus lead you to a better reference.– Geppettvs D'ConstanzoFeb 22, 2012 at 17:02
-
Did you use the Clonezilla method in the end, I assume? How did it work?– invertApr 26, 2012 at 12:09
-
1@Wesley: I successfully transferred ubuntu installation from USB stick to HDD using clonezilla. However, the tricky part was to remove checkmark of reinstalling grub. With that checkmark I had lot of troubles. Not sure why by default that checkmark is on.– PabloApr 26, 2012 at 12:55
3 Answers
Clonezilla may be useful for cloning your hard disk, even for those situations on which you need to do it with different size disks as mentioned here: http://www.tuxradar.com/content/how-clone-hard-drives-clonezilla
Moving to a bigger disk
It's easy to ensure that a clone of a SCSI disk is restored to a SCSI disk, but you'll have a tough time finding an exact replica size-wise. The good news is you don't have to restore a disk on another disk of the same size. The even better news is that you can in fact restore the image to a much larger disk.
When restoring a disk, Clonezilla enables you to resize the filesystem and create partitions on the new disk proportionally. But even if you are moving to a bigger disk, you might prefer to keep the partitions as they are. In that case you can ask Clonezilla to create the partition table as its listed in the image.
There is documentation about moving to a larger disk as mentioned here but I am not sure that you can do it the opposite (cloning to a smaller disk).
However, it's worth to try. Clonezilla offers several Live CD's and bootable USB images and there is also documented that you can resize the free space on the disk after the copy, in which case the suggestion by @maniat1k to use gparted is also a good idea.
If you use clonezilla, I would appreciate if you drop comments with your experiences over here in order to have well documented how does this work for future reference.
Thank you a lot and Good luck!
- Time consuming and perfect copy, with the bits in the same order on the disk is made with the unix command
dd
. Boot off your CD and open Disk Utility (palimpsest
). Identify the device IDs of the two hard drives, for instance/dev/sda
(the old hard drive) and/dev/sdb
(the new one). Next, copy directly with the commanddd if=/dev/sda of=/dev/sdb
in this case. That step will take days even if the disk is not full. Lastly, open up Disk Utility (palimpsest
) again and expand the partition to cover the whole 300GB drive and update grub. - Another way would be to do a complete install on the other drive and then copy over your home folder.
- Also, you could simply take a directory and move its contents to the other drive and place a symbolic link from one drive to the other to save space - I do this for my
~/.wine
folder on my Ubuntu-running desktop.
Just putting in the new drive and copying over all the files by themselves will not work because the disk will not be listed in GRUB and the partition is not set as bootable.
-
-
-
I recently used dd on a 160GB disk and it took roughly 2h... It is not difficult to do (only looking for disk names, booting with live CD and issuing 1 command - expanding the partition after is optional) but don't mix the command parameters or you will have 2 blank disks!– laurentMar 26, 2012 at 19:35
-
2Obs: I think the numbers of days to dd a disk are old. SATA disk are a lot faster now.– laurentMar 26, 2012 at 19:40
with an live cd open a terminal as root (sudo -i
) and use dd.
example: dd if=origin of=destination
.
you can do a copy from one hdd to another like this
dd if=/dev/sdx of=/dev/sdy
with the same live-cd you can use gparted
and resize what you want.
-
2I have used this method to make a clone of a hard drive, It works great but the destination HDD needs to be at least as big as the origin and it is slow and has no progress meter. Feb 22, 2012 at 15:59
-
-
2Specify a larger dd block size to improve speed, dependant on your disk cache, but
bs=4M
is a good value. You can print dd status by sending it the SIGUSR1 signal, see prefetch.net/blog/index.php/2006/06/11/printing-dd-status– invertApr 26, 2012 at 12:07