Missing hal.dll After Disk Clone

A friend couldn’t seem to get Norton Ghost to clone a disk usably. I suggested using GParted, and (after running chkdsk /f on the NTFS partition – possibly the cause of Norton’s problem) took the following steps:

  • Copied the recovery partition (at the end of the original drive) to the end of the new drive.
  • Copied the system partition to the start of the new drive, and ‘stretched’ it to fill the empty space.

After the clone was finished (and I had left), he tried to boot, got an error and did the fixmbr/fixboot process. After that Windows XP would start to boot, but give a ‘missing hal.dll’ error.

What happened?

Answer

(I’m asking/answering this because I thought it might be helpful to others.)

The problem was the boot.ini.

I copied the recovery partition (which was at the end of the drive) first because I wanted to copy and resize the system partition in one step. I figured that it would be faster than having GParted copy the system partition, then copy the recovery partition, then resize the system partition to fill the space.

Because of this order the partition numbering was different that the original. The first partition (at the beginning of the drive) was number 2, and the partition at the end of the drive was number 1.

The boot.ini simply had to be updated to reflect that. From:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Window"

To:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Window"

Hopefully that helps anyone else in the same situation. Next time I might just use dd, then gparted to grow the partition. Really not sure what would be fastest.

Attribution
Source : Link , Question Author : Tim Lytle , Answer Author : Tim Lytle

Leave a Comment