Windows 7 Windows 7 and XP dual boot - invalid boot.ini !?

Very impressive setup. It does make for some confusing possibilities.
Oh yes, and I think I nearly drove myself nuts while learning about all those "confusing possibilities"!

Can I assume you always run EasyBCD from Windows 7?
No, but I have never noticed anything different whether running EasyBCD in XP or Win7.

So XP in on the 3rd drive, 3rd partition. Windows 7 is on the 3rd drive, 2nd partition.. The Windows 7 boot files are on Drive ?...
"H", the first partition on the drive where Win7 is located. I used to have Win7's loader on my first drive, but now I can get to Win2K (or out to XP) from my first drive without having to go through Win7's loader ... and I can boot Win7 either via Grub4Dos on the USB stick or by using "Select Boot Options" at machine startup and going directly to my third drive.

The NTLDR file on my old laptop shows the same file size are your attachment. I certainly cannot say the one included with EasyBCD is not different in some way ...
That is my point. EasyBCD either modifies or removes-and-replaces the original ntldr when adding XP to the Win7 loader.

... if that were the case, replacing just the version of ntldr that works correctly with the one from EasyBCD should duplicate the problem...?
No, replacing the easyBCD version with an original ntldr from the XP installation disk will get rid of "Invalid boot.ini file" when going back to using only the original XP loader ...

... and with that understood, I will not bother going back and re-creating a "problem" (as I would see things) here in my system to show you the different Properties of "ntldr" -- "Modified: (current date and time)" -- after EasyBCD has been used to add XP to the Win7 loader.
 
Last edited:
No, replacing the easyBCD version with an original ntldr from the XP installation disk will get rid of "Invalid boot.ini file" when going back to using only the original XP loader ...
OK .. I may do some testing. :)

I will see if I can find the properties of both files...
 
OK .. I may do some testing. :)

I will see if I can find the properties of both files...
If you cannot, I will gladly use EasyBCD in either XP or Win7 to again add XP to Win7's loader and then share what I had found.

Just let me know ...

Joe
 
Last edited:
An aside here in relation to EasyBCD in a certain situation:

If anything ever happens to break Win7's loader and Win7 is not on the first drive, Win7's "Startup Repair" will *not* be able to repair the Win7 loader first placed on the first drive during Win7 installation. However, and if you can get into XP, if present, EasyBCD can fix that. To do that, you must tell EasyBCD to load a *.bcd file of your own choosing (if it tells you it cannot find the system loader), and then you can find one of those (*.bcd) in a nested NeoSmart folder where EasyBCD is installed ...


... but before telling EasyBCD to use that file, first copy it into a/the "Boot" folder where you either have or want the Win7 loader to be. At that point, tell EasyBCD to open that file from that "Boot" location, then use EasyBCD options to add Win7 and anything else.

I have done that, and that can work without having to re-install Win7 on a distant drive just to get its loader on your first drive working again like I had done more than once during my "learning curve" related to all of this!
 
Last edited:
Something you may try is Visual BCD Editor - Windows 7/Vista . It's free. Download and install it in your Windows 7. Open the app. Go to Repair\repair boot records. On the "Drive" drop down menu, select "All." Also check the "Fix MBR" box. Click "OK." Wait for conformation, then re-boot. That may correct the problem.
 
Something you may try is Visual BCD Editor - Windows 7/Vista . It's free. Download and install it in your Windows 7. Open the app. Go to Repair\repair boot records. On the "Drive" drop down menu, select "All." Also check the "Fix MBR" box. Click "OK." Wait for conformation, then re-boot. That may correct the problem.
Yes, and that might work even in Win7 is not on the first drive where its boot loader is installed. In my own case, I have once done something similar (via BCDEdit) to manually -- better get everything right! -- add a BCD entry for XP.
 
Last edited:
Well, leejosepho, looks like you were right on many of your points.

There is a NST folder created with either ntldr or easyldr1, depending if you let EasyBCD Auto find the install, or manually find the install partition.

The EasyBCD version of ntldr is 290K where the original ntldr is 248k, so something has been added. That larger version replaced the original ntldr in the root directory and placed in the NST folder.

The original Boot.ini file is replaced by a special one made by EasyBCD. And perhaps this part is where the problem arises when you match different versions with different ntldr versions.

I did not have the problem with an invalid boot.ini prior to using EasyBCD or after. Had I started changing things around, I may have run into it.

You can notice from the attachments, the version of ntldr used is the one in the NST folder. If you change the one in the root directory, it might be used in the case of booting directly to a drive instead of using the dual boot menu. But I am just guessing something gets out of sync.
 

Attachments

  • NTLDR3.GIF
    NTLDR3.GIF
    11.4 KB · Views: 843
  • bootini.txt
    345 bytes · Views: 469
  • NTLDR2.GIF
    NTLDR2.GIF
    6.3 KB · Views: 650
  • NTLDR.GIF
    NTLDR.GIF
    9.1 KB · Views: 736
... a NST folder created with either ntldr or easyldr1, depending if you let EasyBCD Auto find the install, or manually find the install partition.
I think I only ever saw a modified ntldr in "root" in my own system, and with the easyldr1, etc, in an NST folder. However, I certainly do not claim to have experienced every possible scenario here!

The original Boot.ini file is replaced by a special one made by EasyBCD. And perhaps this part is where the problem arises when you match different versions with different ntldr versions.
In my own experience, the EasyBCD-modified boot.ini was not even being used. No matter how I later changed it, things kept working the same way with easyldr1 booting 2K, easyldr2 booting XP and so on (via the modified ntldr simply looking for the appropriate easyldr file). However, I am not absolutely certain about all of that.

I did not have the problem with an invalid boot.ini prior to using EasyBCD or after. Had I started changing things around, I may have run into it.
"Changing things around" seems to be what brought that on for me. I had disconnected drives 1 and 2 so Win7 could do its own loader repair (sans XP) on drive 3, and that worked just fine. But then after reconnecting my other drives and booting directly from either, the modified ntldr could not find the easyldrs I had removed and I got the "Invalid boot.ini file" error when the system began to ever-so-slowly scan for and find anything bootable on the drive being accessed.

Overall, and even though no one has asked: Grub4Dos makes it possible to boot virtually anything (as far as I know) without any loader anywhere ever being modified in any way at all by anything at all. I can understand why Microsoft does not have a "detect-and-add-Linux" feature in its loaders (like can be found in some Linux distros for adding Windows), but then neither can every Linux distro always add any-and-every Linux installation to a loader ... and believe me, I have tried that several times. So for me, it is now Windows loaders for Windows, exclusively, Linux loaders for Linux, exclusively, and Grub-4Dos to make them all accessible from a single menu on an USB stick ... and the easist way I have found to set that up is by using the Grub4Dos installer in Puppy Linux (Lupu 528).

Closing note: In my own system where Win7's loader is not on my first drive, EasyBCD cannot find *any* BCD (including its own "raw" one in its installation folder) whether running in either Win7 or WinXP. Between posts here, I re-installed EasyBCD in XP -- program only, no BCD modification -- to check that. So, it looks to me like EasyBCD is the same as Win7 in always/only assuming/expecting Win7's bootmgr and BCD to be on "C" ... and I say that without forgetting how to make EasyBCD work in that kind of situation anyway.

Many thanks to everyone here!

Nice site.

Joe
 
Last edited:
Right now running both Windows 7 and Windows 8 I can use EasyBCD to make changes from either one.
It doesn't seem to matter which one I access it from, not sure it would work the same for Windows XP.
 
Right now running both Windows 7 and Windows 8 I can use EasyBCD to make changes from either one.
It doesn't seem to matter which one I access it from, not sure it would work the same for Windows XP.
Yes, that is my own experience. The only "exception" there, I believe, is if someone wants to use EasyBCD to restore an XP loader. To do that, and if I remember correctly (from reading on the EasyBCD forums), one would need the older version of EasyBCD to do that ... and I think that might be related to my problem of trying to restore an XP loader after Win7's loader was there. In my own system, I gave that up and just boot XP in a different way (than from its own drive).
 
Yes, that is my own experience. The only "exception" there, I believe, is if someone wants to use EasyBCD to restore an XP loader. To do that, and if I remember correctly (from reading on the EasyBCD forums), one would need the older version of EasyBCD to do that ... and I think that might be related to my problem of trying to restore an XP loader after Win7's loader was there. In my own system, I gave that up and just boot XP in a different way (than from its own drive).

Thank's a trillion leejosepho. After searching for more than a week I Stumbled in despair upon your explanation. I have copied the NTLDR-file from my XP installationdisk to the root of C: and to C:/Windows/sevicepack installation files/i386 and the problem was fixed.
 
I clicked the wrong link in the subscription e-mail, so you are welcome ... and now I am re-subscribed! :)
 
Back
Top Bottom