Linux tip, Fedora tip / howto: Transfering Windows 2000 to another disk (using Linux)
Transfering Windows 2000 to another disk (using Linux)Note: procedures like these allow for no mistakes. If your setup is only slightly different (not dual boot, another version of Windows, etc.), make sure you know what you're doing before you attempt to do this. Read the entire page first, as well as this page on how to copy Windows 2000.
I replaced my frequently crashing Western Digital hard disk with a nice and quiet Samsung Spinpoint disk. On the old disk, Windows 2000 was sitting in the last (4th) primary partition, a FAT32 one. From fdisk /dev/hda, p:
The drive has 255 x 63 = 16065 sectors per track, so the Windows 2000 partition has 16065 x (14116 - 12113) = 32178195 sectors = 16089097.5 1K blocks.
Some of the key info here is from this page on how to copy Windows 2000. The difference is that those instructions tell you to run a small extra installation of Windows 2000 (the "Rescue OS") to be able to copy the files from the source to the destination disk (otherwise you'd get a "sharing violation" for certain files). Here we'll copy the whole partition from Linux, using dd, so you won't need a third "Rescue OS".
I hooked up my old disk as a master on the first IDE channel (/dev/hda), and the new disk as a master on the second channel (/dev/hdc). I then created a partition for Windows 2000 on the new disk, fdisk output:
So the new partition has 16065 x (11603 - 9563) = 32772600 sectors = 16386300 1K blocks. I'm not sure why I made the new partition slightly larger than necessary. Obviously make sure the destination partition is not smaller.
Next, I booted using the Fedora Core installation CD, and did not start network services, and did not let it search for and mount exisiting FC installations (both unnecessary). Then, the big step, copy the Windows 2000 partition (triple-check that you set the right source and destination before you hit enter...):
You can press Ctrl+Alt+F2 to get another shell, in which you can type:
When it's done, reboot (with both disks still hooked up), and boot into Windows (i.e. the Windows 2000 installation on your old disk, which is still at /dev/hda).
Next, the steps as listed on this page (refer to that page for more details): on the new disk, you have to edit the registry so Windows will assign C: to your new drive (if you don't do this, after you login to your new Windows, it'll complain about a missing pagefile).
There now is a working copy of the Windows 2000 installation on the new disk.