Re: Copying the system from one HD to another

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



redhatdude@xxxxxxxxxxxxx writes:

Hi,
My FC6 box has an internal 40 Gig ATA hard drive in it. I'd like to upgrade it to an 80 Gig SATA drive. Is there a way to copy the whole system from one to the other so I don't have to reinstall Fedora and reconfigure all my services?

I did something like this a long time ago (with an earlier distro, but there's no reason this won't work with FC6). This is possible, but is not for the faint of heart. The basic procedure is:

1) Connect the second hard drive. I believe that in FC6, ATA drives come up via SCSI emulation, as /dev/sd??, so your existing hard is probably /dev/sda. When you hook up your second drive it's going to come up as, _probably_, /dev/sdb. In any case, your first order of business is to figure out the device node for your primary hard drive, and the device node for your second hard drive.

2) Boot into single user mode (run level 1). In grub, don't hit enter to boot, hit 'E' to edit the boot configuration, hit 'E' again to enter the kernel command line, and append "1" to the end of the command line (preceded by a space). Push 'B' to boot into run level 1.

3) Use fdisk to format your second hard drive. DON'T SCREW UP your device node, verify that you're _really_ wiping the partition table on your new hard drive, and not your existing one. If you're screw up here, you're boned. Kiss your arse good-bye.

4) After formatting the partitions on the new hard drive, mount them under something like /mnt/newdisk. You can use this as an opportunity to repartition your system. You don't have to set up partitions on your new hard drive the same way they are on your current drive; you can pick a better layout for your data. Personally, I don't go crazy with partition layout. For the last eight years I just always partition about 100-200MB for /boot, and the rest for /. So, in my case, I'd end up mounting /mnt/newdisk and /mnt/newdisk/boot, if I were doing this myself.

5) Now, it's time to copy everything. I am impartial to using tar, since in my experience it's more reliable for copying all the special device files and preserving all the file attributes. Things get hairier if you use selinux, ACLs, or other file extensions. There's a tar-equivalent in FC6, whose name escapes me in the moment, which can accurately preserve extended file attributes. Before doing this, you should make some test copies of files with extended attributes and verify that they get properly copied. Anyway, from /, I would run something like this

tar cf - bin boot etc home lib lost+found media misc [...] | (cd /mnt/newdisk; tar xvf -)

You need to manually list all your root directory entries, except for /mnt (also the special mounts, see below). Don't include /mnt, since that's where you've mounted /mnt/newdisk and you'll end up recursively copying everything until you fill up your second hard drive. Instead, manually recreate any addition mount points in /mnt/newdisk/mnt.

Use the "mount" command to see all the active special mounts:

# mount
/dev/md1 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/md0 on /boot type ext3 (rw)
none on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

So you know you need to exclude proc and sys -- the special mounts -- from your tar copy, but you'll need to manually create an empty mount point directory in their place: /mnt/newdisk/proc, and /mnt/newdisk/sys. You'll also need to exclude /dev/shm and /dev/pts, but you do need (definitely!) to copy the rest of your /dev, so it's easier to include /dev in your tar copy, then manually wipe out /mnt/newdisk/dev/shm and /mnt/newdisk/dev/pts, and leave an empty mount point directories in their place.

6) After you've _carefully_ copied everything, taking extreme care to copy over all the necessary bits, run the shutdown command. Pull your existing hard drive. Re-jumper or reconnect your second drive, if necessary.

7) Boot the FC6 installation DVD, type "rescue" to go into rescue mode. If you did everything correctly, the installer should find your copied FC6 install image, and throw you into a shell prompt, with your new FC6 system mounted as /.

8) Do some sanity check. Look around with ls; make sure that everything seems to be in its place. Run /sbin/grub-install, to reinstall the bootloader.

9) Shut down and reboot, hopefully your new system will come up and boot without any issues.


Like I said, this is not for the faint of heart; but this is doable if you know your way around, and take it easy, one step at a time.

Attachment: pgpoQOndVqUUw.pgp
Description: PGP signature


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux