Here is how I upgrade hard disks:
NOTE: This works only for partitions that do not have boot information !!!!!!
(1) Install the new )raw) hard disk on the system bus. Keep the old HD you wish to replace in place and operating as normal.
(2) Format the new drive, create a new filesystem and mount it.
(3) If step (2) goes OK then copy all the files from the old drive to the new drive using the cp command that preserves all permissions and symbolic links.
(4) After (3) is finished (might take some time for a lot of files); check to see if all is OK.
(5) Change fstab (the filesystem table) to mount the new drive in place of the old drive and mount the old drive is a new (temporary place).
(6) Reboot the system.
If you have done (1 - 5) correctly, the system will reboot with the new super drive in place of the old drive. The old drive will be mounted somewhere else. After all is well, you can decide what to do with the old drive.
NOTE: This works only for partitions that do not have boot information !!!!!!
If you are replacing the disk with boot sectors, this will not work. That requires more work