invalid boot.ini

September 14, 2011 at 04:31:52
Specs: Windows XP
HI

My computer was running smoothly until one day I got the following message:

"invalid boot.ini"

"Windows could not start because the following file is missing or corrupt:

<Windows root>\system32\hal.dll.
Please re-install a copy of the above file.

I entered the recovery console to fix the problem using
expand d:\i386\hal.dl_ c:\windows\system32


but the recovery console is showing windows D: instead of windows C which is where my xp is installation is.When I tried
to run the above command the access denied message is given, which I assume is because I'm trying to run the command from D.

Other commands like chkdsk /r and fixboot ran without any problem but the problem persists.

I also tried bootcfg /rebuild, but after some time it stops scanning citing corrupted file .


Please help me with this.



See More: invalid boot.ini

Report •


#1
September 14, 2011 at 08:52:18
"I also tried bootcfg /rebuild, but after some time it stops scanning citing corrupted file ."

That's a very unusual error


""invalid boot.ini"

That's a relatively rare error.

Test your hard drive with hard drive manufacturer's diagnostics.

E.g.
Seagate's SeaTools will test (almost) any brand of hard drive.
http://www.seagate.com/ww/v/index.j...

Do the long test.

The Dos bootable versions of SeaTools can test the hard drive when Windows will not load properly, or even when the drive has no data on it.

It the drive itself passes the test, any data problems on the drive can be fixed one way or another.
.........

"Windows could not start because the following file is missing or corrupt:

<Windows root>\system32\hal.dll.
Please re-install a copy of the above file.

I entered the recovery console to fix the problem using
expand d:\i386\hal.dl_ c:\windows\system32


but the recovery console is showing windows D: instead of windows C which is where my xp is installation is."

That error is relatively common.

If your hard drive is failing, that message may be an indicator of that as well, however, you can get that message because of many causes.

You can get a message about a file being corrupted or missing when there's nothing wrong with it - Windows sometimes can't tell you what the actual problem is and names a file that is affected by something else being out of whack.
If replacing the file doesn't cure your problems then they're caused by something else Windows hasn't identified.
That's usually the case when you replace hal.dll.

If you have only one Windows installation on your computer, then Windows is running from the D partition whether you were aware of that or not.

The C drive letter is not necessarily assigned to the partition Windows itself was installed on.
XP's (and 2000's) Setup assigns the drive letter to the partition Windows itself is installed on according to whether Setup detects other existing hard drive partitions that have already been assigned drive letters when Setup is run.
- If Setup doesn't detect any other existing hard drive partitions that have already been assigned drive letters when Setup is run, it assigns C to,.to the partition Windows itself is installed on.
- If Setup DOES detect any other existing hard drive partitions that have already been assigned drive letters when Setup is run, Setup assigns the first available drive letter alphabetically, NOT C, to the to the partition Windows itself is installed on.

OR - which drive letter is assigned to the partition Windows itself is installed on can depend on how the drive is connected or jumpered.

E.g - I have found that if you have an IDE hard drive jumpe ed / set as Slave on the same data cable as an IDE optical drive jumpered / set as Master, if Setup doesn't detect any other existing hard drive partitions that have already been assigned drive letters when Setup is run, it assigns C to the optical drive, D to the partition Windows itself is installed on.

You can see which partition drive letter Windows is running from in System Information, on the first page you see on the right side - the Windows Directory line.
(shortcut - Start - Run - type: msinfo32 , click OK or press Enter.)

You can change which drive letter is assigned to any hard drive partition or optical drive in Disk Management to any available drive letter between and including C and Z , EXCEPT that you CAN'T change the drive letter assigned to the partition Windows itself was installed on.
If something is using a drive letter you want to use, you can change the drive letter to another drive letter to free up the drive letter you want to use.

You can also change the drive letter assigned to a flash drive, memory card or memory card reader, or an external drive, but that's pointless unless you never unplug the drive or card or card reader - Windows will assign the first available drive letter when you plug the removable device back in,
......

"I entered the recovery console to fix the problem using
expand d:\i386\hal.dl_ c:\windows\system32 "

"to run the above command the access denied message is given, which I assume is because I'm trying to run the command from D.'

if you have only one Windows installation on a hard drive partition on the computer, there's probably nothing wrong with the Recovery Console find only D:\Windows for a Windows installation.

"Other commands like chkdsk /r and fixboot ran without any problem "

Then your problem with "expand d:\i386\hal.dl_ c:\windows\system32 " is due to something being wrong with what you typed.

- If you loaded the D:\Windows installation, the \i386 folder cannot be on D, unless you have an original brand name system software installation or a custom installation that has the \i386 folder on the hard drive.

- using the Recovery Console has restrictions that don't apply to using the same or a similar command in Windows itself.
E.g. you can only access the C:\Windows folder on the hard drive. If the hard drive DOES have the \i386 folder, you can't access it.
However ,you can access the Windows or whatever CD or DVD that is in an optical drive.

- if you were trying to expand the compressed file from the Windows CD, the drive letter assigned to an optical drive in the Recovery Console is not necessarily the same drive letter that was assigned to it in Windows itself.
If you're not sure which drive letter the Recovery Console is using for your optical drive with an XP CD in the drive, type the drive letter you think it might be, followed by a colon, press Enter, then type Dir, press Enter.
E.g. type: E: (press Enter), then type Dir (press Enter).
It will be obvious which drive letter it is by the result of doing that.
There are only a few folders on the XP CD, one of which is \i386 .



Report •

#2
September 14, 2011 at 12:09:56
If you want to replace the file the self same version usually exists in:
"c:\windows\$NTServicePackUninstalls$" (if you are up to date).

You could copy it over to "c:\windows\system32" using a Linux Live CD (such as Puppy Linux). If you want to go that way shout back and I'll assist if needed.

Always pop back and let us know the outcome - thanks


Report •

#3
September 15, 2011 at 02:06:14
The problem is the computer stops after few seconds it is started.It also shows "booting from windows c" before giving "the invalid booting". I can't even get to the desktop or press f 8.

the recovery console is showing

WINDOWS D:\>

"if you were trying to expand the compressed file from the Windows CD, the drive letter assigned to an optical drive in the Recovery Console is not necessarily the same drive letter that was assigned to it in Windows itself"

I think that might be the problem , i might have the wrong optical drive letter in the recovery console. My cd drive was named "d" in windows, I know that for sure and my hard drive partitions C & E. The windows\system32 folder is in C, So should I try different letters with the expand command?Does experimenting with different letters cause any loss of data?




Report •

Related Solutions

#4
September 15, 2011 at 06:33:26
Hi again

I tried cd command to change directory to D :\windows\system32 , then used "map" to find out the partitions and it came up with

D as first partition
C as second
E as cd drive.

overwrote the hal_dl to D:\windows\system 32 ,but still no luck.



Report •

#5
September 15, 2011 at 11:14:14
I wondered if your boot.ini file was corrupted, googled around and found this:
http://support.microsoft.com/kb/330184

It mentions both boot.ini and hal.dll

Always pop back and let us know the outcome - thanks


Report •

#6
September 16, 2011 at 08:11:21
Test your hard drive with diagnostics. See response 1.

If there's nothing wrong withe the hard drive itself, your problem can be fixed one way ot another.


Report •


Ask Question