invalid boot.ini

hoon

Member
Hello, my first post here. I've already read through some of the topics here and I still can't figure out my problem.

I decided to install Windows 7 on to another partition with XP already installed. I've done this before with Vista and I figured it would be the same for 7, as well. Well, not knowing how much has changed, I simply used Vistabootpro (which I see you guys don't recommend), since it's worked for me in the past.

Anyways, from my previous experience, there should have been "Earlier version of Windows" or something like that under the boot entries in Vistabootpro but there wasn't this time. So what I THINK(I don't quite remember) I did was to try to restore the legacy bootloader or something similar to that. After that, I couldn't even boot into Windows 7, I started getting the "NTLDR is Missing, press CTRL+ALT+DEL to restart". I tried to restore boot by using the recovery console for Windows XP with the XP cd, and I tried doing fixboot, fixmbr and it didn't work. I even tried running chkdsk /r & /p then ran bootcfg /rebuilt but it gave me an error saying that it failed.

So I just decided to reinstall my Windows 7 to work it out from there.

So finally, this is where I am at now: I installed easybcr and added Windows XP into the entry and when I try to boot from it, I get the "invalid boot.ini booting from c:\windows" followed by missing hal.dll error.

I know from reading the other thread from this forum that hal.dll means that I need to rebuild the boot.ini file, so I've tried to but it didn't work. I'm not exactly sure if I did it right or not, but I've tried multiple times so far and I'm hoping that I'm making some kind of mistake so it'll be at least fixable.

I still have hopes that I could recover it somehow since I have access to the drive itself from my Windows 7 partition (which is what I'm on right now). Any help will be greatly appreciated, I've been wasting my time on this for over 7 hours now! Thank you for taking your time reading this long post.
 
Hi hoon, welcome to NST.
The HAL error is indeed telling you that boot.ini is pointing to the wrong place to find XP.
Please read the sticky thread, paying particular attention to the last point (6)
(It would be a good idea to read 3-5 too just to make sure everything's where it should be - in this case for Vista, read W7)
 
Progression at last! Thank you kindly for your reply. Well, it seems like a drive that was hidden on my Windows 7 until I just assigned a drive letter to it just now is the "system" drive and while other boot files such as NTLDR and NTDETECT are present, it's missing the boot.ini file.

So, I'm trying to create one but I'm a little confused. Do I make it assuming that it'll boot from my system drive? If so, instead of putting rdisk(2)partition(2), I would put rdisk(1)partition(1) since I'm ignoring the drive with the OSes completely?

What would happen if I were to use EasyBCD to change the setting and assign XP to the "correct" drive?

Scratch that, I got into my XP! I decided to try and use /WINNT instead of /Windows and it worked, though I'm not sure if that was the only contributing factor.

Another question: Is there a way to change my system drive? Because now, if I were to take out the system drive, I would start having boot problems again, correct?
 
Last edited:
If you remove the "system" partition, you can repair your boot by setting the "active" flag where you want the boot files to be, then doing a normal "repair the bootloader" routine as detailed in the sticky and the wiki.
The correct system for XP is "\Windows" still, (It's saying what the folder name containing the system is) so I'm not sure why yours is working !
 
Aaah ! another possible "why won't my boot.ini work" solution to file away for future use.
(Upgrade from W2000 I suppose ? I'm sure my upgrade from ME went from \Windows to \Windows)
 
Hmm, if I were to use EasyBCD and change Windows XP drive to C from M(my current system drive), would that also change the system file as well?

If that doesn't work and I wanted to change the system partition without removing the drive, how would I go about doing it? I use my M drive only for storing files so I would be at a peace of mind if I could revert it to doing just that.

And what exactly is winnt? Obviously /windows is the windows folder. Sorry for all these questions, I'm just trying to understand this whole thing so I could learn a thing or two from this experience.

Thank you for your tremendous help. I'm a little lost right now and it really helps to know there are people actively helping me out with this issue.
 
Windows NT and Windows 2000 put their system in a folder called Winnt rather than Windows.
If your XP system is inside a folder called Windows, then that's what boot.ini should say so that NTLDR knows where to find it.
The system, active, boot and page flags you see in disk management are signalling where certain files are to be found (i.e where they actually are ). Changing flags manually, or changing your disk letters will have no effect on where the data actually is, it'll just confuse the hell out of the programs that are attempting to use the flags to locate things if you alter them.
If you actually "repair" the boot to a different place, the "system" flag will be moved by the repair to reflect the new situation.
What's your current situation ? Are you successfully dual-booting or not ?
 
Yes, I am successfully dual-booting. There is this one weirdness in that when I select Windows XP from the list, it takes me to another screen that says Windows XP and Windows XP (Default), the (Default) one doesn't work and sends me to the hal.dll error screen like before. But other than that, I could go on both OSes.

So I could repair the boot by setting it to C drive while I'm boot into the XP partition by using EasyBCD and it "should" fix the problem, yes?
 
Open boot.ini and delete the line for the entry that doesn't work. This should cause the second menu to go away and boot XP immediately.
 
Yes, I am successfully dual-booting. There is this one weirdness in that when I select Windows XP from the list, it takes me to another screen that says Windows XP and Windows XP (Default), the (Default) one doesn't work and sends me to the hal.dll error screen like before. But other than that, I could go on both OSes.

So I could repair the boot by setting it to C drive while I'm boot into the XP partition by using EasyBCD and it "should" fix the problem, yes?

No. To fix the issue with an extra "Default" entry, you will need to edit your boot.ini, located at C:/boot.ini, assuming that your win xp partition is C:/. When you edit it, you will need to remove the extra "default" entry in your boot.ini, leaving only the working entry for XP. :wink:

GL and let us know how it goes! :smile:

-Coolname007
 
No. To fix the issue with an extra "Default" entry, you will need to edit your boot.ini, located at C:/boot.ini, assuming that your win xp partition is C:/. When you edit it, you will need to remove the extra "default" entry in your boot.ini, leaving only the working entry for XP. :wink:

GL and let us know how it goes! :smile:

-Coolname007

I should have clarified, my question was more about changing the system drive from my M drive to my XP's C drive.

Anyways, I needed to fix that issue regardless so thanks you! I will try to fix that right now and let you know how it goes.

Turns out the problem was because I put /WINNT. I put it back to /WINDOWS and the (Default) listing is gone now so that's one problem solved. The only thing left to do is change my system drive from M to my C drive.
 
Last edited:
My advice would be that old cliché, "If it ain't broke.....etc"
If you're an old hand at dual booting and you understand exactly what's going on, what does what, what goes where, and why, it's not a difficult thing to do.
If your understanding is cursory, you're likely to be back here wondering where all your systems went before very long.
Have a good read of this, and follow the links to other parts of the site, and get a good background of the subject, and this too, and then if and when you need to, go ahead with moving your boot to another partition.
If the change is purely cosmetic, don't give yourself the agro.
 
Actually, I went to EasyBCD's change settings menu last night and changed the XP's drive from M to C (after editing the boot.ini in the C drive) successfully and everything is booting fine. If I were to remove the M drive in the future, would something go wrong now that it is, I'm assuming, booting from the C drive?

Thanks you for your help and your patience. Appreciate it!
 
You're booting from whichever partition is marked "system" and "active" on the 1st hDD in your BIOS sequence.
If you've changed the drive ID for XP in the BCD and it still boots, you're very lucky. You must have spare copies of boot files lying around which are still being picked up and pointing you to the right place.
Justin uses a similar unconventional method of multiple copies of XP files to workaround a multi-XP annoyance which doesn't apply in your case.
It doesn't change which partition is the "system" though, and it won't allow you to remove that drive.
It's not just XPs files on there, it's Vista's too.
The conventional wisdom (and MS's stated rules - though they can be circumvented) is simple.
In an all Windows environment, there is one "system" partition, and all the boot files from all the systems should be on there.
 
I assumed that the reason why it still boots after changing the drive ID is because it was originally booting from the C drive until recently for whatever reason. This is one of the reason why I wanted to figure out how to change the system drive because like I said, M drive is only for storing files and there might come a time when I might want to remove that drive from my computer. Would it be complicated to change the flag or should I just leave it alone until I actually have to remove the drive?
 
My advice is still the same as in post #13.
Wait until you have to before making problems for youself.
It should be a simple enough move, if you know what you're doing, and you know in advance what's going to happen, and you have the tools at hand to effect the repair.
Things don't always go as planned though. Take a look here to see that things don't always work out as quickly and simply as you'd hope, and here where life works out according to plan.
If you read the background info in the wiki and on the other sites referenced in the first points of the sticky, and you reach a stage where you understand the boot process so well that you feel you can undertake a move of all the bootfiles and bootloaders to a new location without needing help, then you'll probably manage it without fuss.
If you think you'll give it a try even though you don't quite understand what you're doing or why, then you'll probably get into trouble.
You never know, if you come here for advice, who's going to answer. It might be someone who joined the day before and advises you to try what worked for him (which turns out to be a fix for a quite different problem)
As proof that I practice the same pragmatic policy as I preach, when I repaired my Vista boot 14 months ago after installing XP, the Vista boot files all got installed on the XP partition.
Guess where they all still reside to this day !!!
 
Back
Top