moving linux partitions

Sam Varshavchik mrsam at courier-mta.com
Mon Mar 20 02:40:54 UTC 2006


Gerhard Magnus writes:

> What's the best way to move Linux partitions?  I'm running FC4 and need
> to move two of them: the main and swap partitions, to a second hard
> drive on the same system.  But when I try copying these partitions from
> Windows XP using Partition Magic 8 I get an error 510: "The version of
> the file system is not supported."  This doesn't make sense to me as
> Partition Magic 8 supposedly supports the ext3 file system -- I used it
> to create the original partitions in the first place.  (Also this would
> be the first time Partition Magic has not been... well, magical.)

If the new partitions will be the same size as the old partitions, then:

* Boot FC4 installer and select rescue mode; or boot the FC4 rescue disk

* Rescue mode automatically mounts your existing partition as /mnt/sysimage. 
Unmount it.

* Create the partitions on the second hard drive using "fdisk /dev/hdb".  
If fdisk complains, try "fdisk /dev/hdc", because your new hard drive is on 
the second IDE channel.

* Double-check your typing, before you run fdisk. If you're off by a letter, 
your existing hard drive becomes a brick.

* Use 'dd' to copy the data from the old main partition to the new main 
partition.  If your old disk's main partition is /dev/hda1, presumably the 
second hard drive is going to be /dev/hdb1 (or /dev/hdc1, if the second disk 
is on the second IDE bus):

dd if=/dev/hda1 of=/dev/hdb1 bs=1M

Again, type carefully.  A badly chosen typo, and you've just overwrite your 
old Linux partition with an empty one.

* Now, mount the new partition, and chroot to it:

mount /dev/hdb1 /mnt/sysimage
chroot /mnt/sysimage

Hopefully you'll now be seeing the mirrored copy of your existing partition. 
You will now need to edit the new partition's /etc/fstab, and replace the 
sole reference to /dev/hda1 with /dev/hdb1

* If your FC4 install was originally a fresh install, and not an upgrade 
from some old version of Fedora, or even RH, your original install probably 
used labels.  This is going to get interesting.  Replace the label reference 
with the actual partition name (since you now have two / partitions).  
Replace "LABEL=/" with "/dev/hdb1" in /etc/fstab.

* Don't forget to also change the name of the swap partition from 
"/dev/hda2" to "/dev/hdb2" (presuming your old swap was /dev/hda2).  Don't 
bother copying the swap partition.  Just run mkswap to initialize the new 
swap partition.

* Time to fix grub.  Edit /boot/grub/device.map and add an entry for the 
second hard drive.  You'll probably need to append "(hd1) /dev/hdb" (or 
/dev/hdc, as appropriate).  Edit /boot/grub/grub.conf, and replace all 
references to "(hd0)" with "(hd1)"; also fix the "root" parameter on _every_ 
kernel line (otherwise you'll end up covertly booting your old partition). 
Your old kernel arguments probably had "root=/dev/hda1", replace it with 
"root=/dev/hdb1" (or hdc1).  If your old kernel args were "root=LABEL=/", 
you'll still need to replace it with /dev/hdb1 or /dev/hdc1.  Finally run 
/sbin/grub-install.

* Type "exit" to terminate your chroot session, then "unmount /mnt/sysimage" 
to unmount the new partition.  Cross your fingers, and reboot.

I think that should do it.  Bottom line is that a straight 
partition-partition copy won't be enough.  There are a bunch of boot-related 
references to your existing partitions that also need to be fixed.

Finally, if your new partitions' sizes are different, you'll still need to 
do mostly the same thing, except that you can't use "dd" to copy the 
partitions.  It's a bit more complicated, and if you have to ask these kinds 
of questions, I think that it might be a bit more than you can handle for 
the moment, I'm afraid…


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20060319/7ca1bca3/attachment-0001.sig>


More information about the fedora-list mailing list