- Download the SystemRescue 3.0 ISO : Hompage / Download
- Burn ISO to CD or create a bootable USB Disk using 'Live USB Creator' LiveUSBCreator Homepage.
- Attach an external disk drive that is the same size as your old harddisk (better: slightly larger) and that is empty (can be a new disk)
- Boot the computer using the created CD or USB drive using the default SystemRescue setting
- Start the graphical tool GParted
- Note down the different disks (SDA, SDB, SDC, ...). The drives are displayed top right in a kind of pull-down menu.
- Find the disk that matches your Windows 7 partitions (will show up as NTFS) (e.g. SDB)
- Find the disk that matches your external disk drive (e.g. SDC)
- Start a Console
- Type in the following command
dd if=/dev/sdb of=/dev/sdc bs=32M
- wait (there is no output from dd until the copying has finished)
- keep on waiting (see 11.)
- Boot form the new disk / external drive
caution if : Input File ; of : Output File
Mixing the drvie letters will render your disk useless!
I've recently done this for my Dad's laptop before he sent it back to get it repaired. The partitions are copied one-to-one to the new hard-disk / external drive. I was then able to erase the partition on the disk of the laptop and boot from the external drive :-)
At work I used the same procedure to duplicate an old 250 GB 5400rpm HDD to a new SAMSUNG 840 Pro SSD disk and my system booted first time. (and it's faster than Ghost).
Using SystemRescue and especially DD takes some getting used to and you have to persuade yourself to the hit ENTER, but it's nice when it works in the end.
This solution should help as your disk is read-only and dd with the correct cvommand will just copy away all the partitions at block level from your disk to the new disk.
Wikipedia DD command
Learning Linux commands: dd