Question: I’ve got a 80Gb hard disk and I want to transfer the system to another 500Gb hd (without to reinstall windows).

What the easy and free way to transfer the system to another hd?

Answer: Two ways come to mind:

If you have a spare computer with a 100GB drive, download the eval for Windows Home Server, and install it. (You need 20GB for WHS itself.) Back up the 80 onto WHS. Swap in the 500 and then do a restore with the downloadable Windows Home Server Home Computer Restore CD. (Be sure to read up on how to make sure you copy any required drivers to restore.) You might want to keep WHS — it makes backups easier.

With just that one computer, put the 500 in with the 80. (If you’re still using old PATA instead of SATA, it should be faster if you put the two hard drives on different channels/controllers.) Download the latest Ubuntu and burn it. Boot and run the Live CD. Under the System > Administration menu should be the partition editor GParted, sometimes called “Partition Editor”. Run it first and use the drop-down menu at the top right to figure out which disk is mapped to which device. One will probably be /dev/sda and the other will be /dev/sdb. It’s obviously critical that you get this right — but you do have a backup, don’t you? Suppose the 80 is sda and the 500 is sdb. Quit GParted. In a terminal, copy the drive:

sudo dd if=/dev/sda of=/dev/sdb bs=1M status=progress &

“As the superuser do: use ‘dd’ (supposedly “data definition”, but that’s not a good mnemonic) to copy from the input file ‘device sda’ to the output file ‘device sdb’ using a block size of 1 megabyte; and run it in the background”. The shell will report the process ID number (usually a 3- to 5-digit number, not just 1 or 2). Unfortunately dd doesn’t say anything while it works unless you add “status=progress”, you can still “kick” it by sending a signal:

sudo kill -USR1

(that’s “USR one”) or you can just wait. When it’s done, it will do a final report of how many blocks it copied. Run GParted again and resize the 80GB partition to fill the 500 disk. Shut down Linux. If necessary, remove the 80 (or at least unplug the data cable). Boot the 500. Windows might freak out because the partitions don’t make sense. This is usually fixable by booting the install disc and having it do a Repair.

Disclaimer: I have not tried either of these with Windows 7, but have used both methods on earlier versions.