Invalid boot.ini

Hello.

I have a computer with 2 sata drives, the first one has vista on it in the first partition, no OS in the second partition and a buncha empty space unpartitioned.

I also have another drive with win8 installed, then XP installed afterwards in the second (or third, if you count the system reserve created by win8) partition. I used easybcd to add XP into win8 bootloading process. My second harddrive had a little bit of drive error and XP, which I was using, crashed. At this point I used ddrescue from a linux rescue cd to clone my XP partition into a (third) partition I created in the first drive, I did this to save the data, since I didn't want to run chkdsk as running it on a disk with read/write errors might cause even more damage. So after I did that, I went into win8 (on the second partition, on which I had installed easyBCD) and used it to add winxp (which i had copied to the third patition of the first drive) to the vista (1st partition 1st drive) bootloader.

When I tried to boot xp (3rd partition 1st drive) from the vista loader, it said "invalid boot.ini; loading from c:\windows".

How should I fix this.

ps. the vista (1st partition 1st drive) can not be booted into, because of some damage to some registry entries.

Thank you.

Addendum

I used easyBCD 2.2
 
I assume that both Vista and W8 have their own BCD.
If so adding an XP entry to W8's BCD won't affect the XP entry in Vista's BCD.
Since you can't boot Vista to run EasyBCD there, you can run EasyBCD in W8, but use File > Select BCD
to access Vista's BCD.
Delete and add the XP entry on there.
 
I assume that both Vista and W8 have their own BCD.
If so adding an XP entry to W8's BCD won't affect the XP entry in Vista's BCD.
Since you can't boot Vista to run EasyBCD there, you can run EasyBCD in W8, but use File > Select BCD
to access Vista's BCD.
Delete and add the XP entry on there.

Oh sorry if I wasn't clear. I already did use "select BCD" to access Vista's bootloader.
 
Can you post the contents of the Vista BCD "view settings" (detailed) and a screenshot of your Disk Management.
 
gwEO4tB.png


Code:
Windows Boot Manager
--------------------
identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device                  partition=H:
description             Windows Boot Manager
locale                  en-US
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default                 {f6d08eea-df69-11dd-9217-c6164061a4f8}
resumeobject            {f6d08eeb-df69-11dd-9217-c6164061a4f8}
displayorder            {f6d08eea-df69-11dd-9217-c6164061a4f8}
                        {708ebf50-d7dc-11e0-84d1-14dae96c3717}
                        {466f5a88-0af2-4f76-9038-095b170dc21c}
                        {d53d42d9-b740-11e2-b090-14dae96c3717}
                        {c9594260-b746-11e2-b090-14dae96c3717}
                        {e2075742-b746-11e2-b090-14dae96c3717}
toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout                 10
custom:45000001         1

Windows Boot Loader
-------------------
identifier              {f6d08eea-df69-11dd-9217-c6164061a4f8}
device                  partition=H:
path                    \Windows\system32\winload.exe
description             Microsoft Windows Vista
locale                  en-US
inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
osdevice                partition=H:
systemroot              \Windows
resumeobject            {f6d08eeb-df69-11dd-9217-c6164061a4f8}
nx                      OptIn
custom:42000002         \system32\winload.exe
custom:45000001         2
custom:47000005         301989892
                        3

Real-mode Boot Sector
---------------------
identifier              {708ebf50-d7dc-11e0-84d1-14dae96c3717}
device                  partition=H:
path                    \ubuntu\winboot\wubildr.mbr
description             Ubuntu

Windows Legacy OS Loader
------------------------
identifier              {466f5a88-0af2-4f76-9038-095b170dc21c}
device                  partition=E:
path                    \ntldr
description             Windows XP
custom:45000001         1
custom:47000005         301989892
                        6

Real-mode Boot Sector
---------------------
identifier              {d53d42d9-b740-11e2-b090-14dae96c3717}
device                  partition=H:
path                    \NST\ntldr
description             Microsoft Windows XP 150GB

Real-mode Boot Sector
---------------------
identifier              {c9594260-b746-11e2-b090-14dae96c3717}
device                  partition=H:
path                    \NST\easyldr2
description             Microsoft Windows XP 150gbE

Real-mode Boot Sector
---------------------
identifier              {e2075742-b746-11e2-b090-14dae96c3717}
device                  partition=H:
path                    \NST\ntldr
description             Microsoft Windows XP 150gbAuto

ubuntu was install with wubi on vista
windows legacy OS loader was me trying it with bcdedit
150gbE was me trying with easybcd using the manual drive selection setting E:
the other two XP's are made with easyBCD on automatic drive detection
 
Last edited:
Do all of those XP entries fail with the same "invalid boot.ini" message ?
can you post the boot.ini from H.
 
I've asked the author to verify that what you are doing has been tested to work. (not something I've tried, or would be relevant on my PC).
Meanwhile, post the boot.ini from the other XP system and I'll tell you how to modify a copy of it on the failing system.
 
Is this the boot.ini that can be accessed by going to my computer (right click) > properties > advanced > startup and recovery > settings > edit ?

If it is then it is here.

Code:
; This boot.ini was automatically generated by NeoSmart Technologies' BootGrabber.exe
; Use EasyBCD from http://neosmart.net/dl.php?id=1 to manage your bootloader

[boot loader]
timeout=15
default=multi(0)disk(0)rdisk(1)partition(3)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(3)\WINDOWS="Windows XP on E:\" /fastdetect
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Windows XP on F:\" /fastdetect

There is no boot.ini on the windows 9 drive and i can not find any in the root folder of windows XP (one that shares drive with win8)

thx
 
It's not in the XP root, it's in "system" root (W7 on C) (all the boot files go in "system", that's how MS finds them).
It seems that your second XP is added to the boot.ini of the first XP (as MS designed it) so when you select XP from the W7 menu, you should get a second menu allowing you to choose between the alternative XPs.
That's what will happen if you use NTLDR. To avoid a second menu the Neosmart "EasyLDR" has to be used (manual, not auto-configure).
That's all assuming you're using a single BCD.
I imagine that the placement of the boot.ini entry when working with a different BCD is somehow at fault, but I'll leave that for CG to confirm or deny.
If you make a copy of that boot.ini on the other HDD's active partition, flip the rdisk assignments between 0 and 1, and then get rid of the rdisk(1) line on both, each HDD should boot its own XP.
 
Sorry I'm late to the party.

EasyBCD will always use the correct boot.ini path for the machine you're currently working on, regardless of which BCD you selected.

In environments with mixed SATA and IDE drives or SCSI and SATA drives, the ARC paths in boot.ini should still be correct, but it's not 100% possible to guarantee that boot.ini will be placed on the correct disk. You'll need to experiment.
 
Sorry I'm late to the party.

EasyBCD will always use the correct boot.ini path for the machine you're currently working on, regardless of which BCD you selected.

In environments with mixed SATA and IDE drives or SCSI and SATA drives, the ARC paths in boot.ini should still be correct, but it's not 100% possible to guarantee that boot.ini will be placed on the correct disk. You'll need to experiment.




This is very confusing. Firstly I only have win8 and vista. secondly, i never get any second menu when i select winxp from win8. thirdly you did not explain how to configure to use easyLDR.
Also I have 2 BCD's, one on win8 and one on vista. fifthly, what is the point of flipping rdisk assignment if you are going get rid of it anyway...

also, how do i find 'system' on C?

Addendum

Ok I figured out what you meant (i think). I found the boot.ini in the win8 reserved partition and copied that to the root of the win vista partition and swapped around the rdisk() value (assuming rdisk means the physical disk connected) so it would point to the new win xp partition.

but now I have a weird problem. I can boot fine into drive 1 xp (the one that was cloned into) as long as I have my win8 drive connected. If I remove the win8's drive, the new XP boots into a blue welcome screen (with a windows xp logo) but it won't get into the log on screen (where you can select your user to log in). Presumably my new win xp still has some stuff pointing to the old xp drive. Is this something you can help me with?

the new winxp is at drive J: according to my old xp drive lettering, which is at drive E: I can't get into the new XP so I don't know what letter it sees itself, although counting from C: it would be E: as well (since its the third partition)

Addendum

Oh I figured it out. You have to go into registry and change the assigned drive letters.

Great everything is working now.

Thank you all for your help.
 
Last edited:
Glad you've got it all sorted now.
Sorry if my reply was less than explicitly lucid. It was very late and I attempted to give you the necessary info with the minimum effort before getting some sleep.
You probably don't want ever to think of it again, but if you'd like a deeper appreciation of how it all hangs together, here's some background reading for you.
Multibooters, Vista Dual and Multibooting - A Guide to the Multiboot Process
Windows XP - EasyBCD - NeoSmart Technologies Wiki
Rebuilding Boot.ini - EasyBCD - NeoSmart Technologies Wiki
 
Back
Top