Here is my situation. I have three hard drives, two IDE, and one SATA. Windows is installed on the primary IDE master drive, the IDE slave is a storage drive, then I have a SATA drive which has been used as storage. Recently, my primary IDE drive seems to be slowly failing (randomly making strange noises and windows shutting down). So I figured what I would do is reinstall windows on my SATA drive.
Here is exactly what I did:
- Created a new partition (primary, active) at the beginning of my SATA drive.
- Went into BIOS and made the SATA drive first in the boot order.
- Booted to the XP install disc, and installed XP on the new SATA drive partition.
- At the point where the XP install reboots and starts working from the hard drive, I get an error message "hal.dll missing or corrupt"
From reading up, it sounds like this could be an issue with the boot.ini file. But I'm a bit confused. Isn't the boot.ini always stored on the primary hard drive? Since I made my SATA drive first in the boot priority, I would think that the XP install would create a new boot.ini file on that drive. But it doesn't, it instead edits the existing boot.ini on my primary IDE drive.
Here is exactly what my boot.ini says:
[boot loader]
timeout=1
default=multi(0)disk(0)rdisk(2)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(2)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /NOEXECUTE=OPTIN /FASTDETECT /usepmtimer
The first entry refers to the new windows install on the SATA drive. If I try to select that option on boot, that is when I get the hal.dll error. I can still boot into the second option which refers to my old XP install on the primary IDE drive.
Does anyone have a clue what is going on here? I am completely stumped. Thanks!
UPDATE: I managed to fix it by trial and error. I went into bios, and changed the access mode for the SATA drive from "Auto" to "Large" which fixed it immediately.
Here is exactly what I did:
- Created a new partition (primary, active) at the beginning of my SATA drive.
- Went into BIOS and made the SATA drive first in the boot order.
- Booted to the XP install disc, and installed XP on the new SATA drive partition.
- At the point where the XP install reboots and starts working from the hard drive, I get an error message "hal.dll missing or corrupt"
From reading up, it sounds like this could be an issue with the boot.ini file. But I'm a bit confused. Isn't the boot.ini always stored on the primary hard drive? Since I made my SATA drive first in the boot priority, I would think that the XP install would create a new boot.ini file on that drive. But it doesn't, it instead edits the existing boot.ini on my primary IDE drive.
Here is exactly what my boot.ini says:
[boot loader]
timeout=1
default=multi(0)disk(0)rdisk(2)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(2)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /NOEXECUTE=OPTIN /FASTDETECT /usepmtimer
The first entry refers to the new windows install on the SATA drive. If I try to select that option on boot, that is when I get the hal.dll error. I can still boot into the second option which refers to my old XP install on the primary IDE drive.
Does anyone have a clue what is going on here? I am completely stumped. Thanks!
UPDATE: I managed to fix it by trial and error. I went into bios, and changed the access mode for the SATA drive from "Auto" to "Large" which fixed it immediately.
