Recover a failing Windows hard disk using only free software and your Windows CD.

Scenario.

You have a Windows machine which will not boot up but you can still access the disk, even though it makes various clunking and thunking noises.

Solution.

Install a new hard disk and Partedmagicos on a USB stick or CD and run either “ntfsclone” (the easiest and quickest option) or “dd_rescue”. If the NTFS structure is damaged and you cannot repair it fully using the windows recovery console the latter option is the one you want. Of course you may have Windows installed on a FAT32 partition in which case use dd_rescue.

Caveats.

1. If the partition structure or disk geometry is different on the new disk you will have to edit the partition table so that the disk knows where the partition starts and therefore where to boot from. See the following excerpt from the linux-ntfs forum:-

Mind you given you are copying from hda to hda the only thing you will
need to change is hidden_sectors. That is the offset into the disk
(hda) in sectors (512 byte blocks) where the partition containing the
boot sector you are editing begins. You can get the number you need
from “fdisk -ul /dev/hda”. It is the value in the “Start” column, so
for hda2 you would get a number X, then convert that to hex (run: printf
“0x%llx\n” X) — where X is that number and it will give you the number
in hex. Then reverse that number in bytes like so:

0xABCDEFGH -> GH EF CD AB

Now fire up “hexedit /dev/hda2” (or whichever partition you are working
on and write “GH EF CD AB” (total of four bytes) starting at offset 0x1c
(i.e. 29 bytes).

Save and quit (if using hexedit then press Ctrl-X to both at once).

2. You will need to remove the original disk and run chkdsk from the recovery console on the CD twice as soon as you have the original copied, otherwise your machine will probably not boot.

3. You may also need to edit the boot.ini if you didn’t copy all of the partitions from the original disk and the original had a hidden partition, such as Dell diags, etc. There is a handy utility included in the recovery console to do this, the name of which escapes me now.

References.

In no particular order.

Excerpt on changing boot sector from – http://forum.linux-ntfs.org/viewtopic.php?t=76

Information on running bootcfg.exe – http://support.microsoft.com/kb/330184

Parted Magic download – http://partedmagic.com/index.php?option=com_phocadownload&view=category&id=1:&Itemid=60

ntfsclone man page – http://man.linux-ntfs.org/ntfsclone.8.html

dd_rescue man page – http://www.debianadmin.com/manpages/ddrescuemanpage.txt

Leave a comment