XP/Vista/7 triple boot problem

  • Thread starter Thread starter Gareth
  • Start date Start date
G

Gareth

Hopefully someone can help.

I had a perfectly good dual boot Vista and XP system until I installed
Windows 7 RC.

I installed Windows 7 RC to a new partition on the Vista (slave drive) with
XP installed on the master drive.

Vista and Windows 7 booted okay but despite there being 3 options in the
boot menu - Earlier Version of Windows (XP), Vista and Windows 7, XP would
not (and will not) boot.

The error message when selecting XP from the boot menu was that the boot.ini
file is invalid; I then get a message saying that the system32\hal.dll is
corrupt or missing.

I used EasyBCD to restore a backup of the previous Vista boot loader which
worked with XP. Windows 7 disappeared from the boot options but I still
cannot boot in to XP - I get the same error message (boot.ini and hal.dll).
I can boot in to Vista.

EasyBCD tells me that there are 2 entries in the Vista bootloader:

Entry #1

Name: Earlier Version of Windows
BCD ID: {ntldr}
Drive: C:\
Bootloader Path: \ntldr

Entry #2

Name: Microsoft Windows Vista
BCD ID: {current}
Drive: F:\
Bootloader Path: \Windows\system32\winload.exe
Windows Directory: \Windows

But when I use msconfig in Vista it tells me that there is only one OS -
Vista.

Is there anything I can do to restore the boot information that allows me to
start XP - the boot menu entry is there but I can't boot XP.


Gareth.
 
This can be due to the motherboard BIOS not being able to deal correctly
with the Vista boot loader when booting to XP. Check for a BIOS update.
 
Gareth said:
Hopefully someone can help.

I had a perfectly good dual boot Vista and XP system until I installed
Windows 7 RC.

I installed Windows 7 RC to a new partition on the Vista (slave drive)
with XP installed on the master drive.

Vista and Windows 7 booted okay but despite there being 3 options in the
boot menu - Earlier Version of Windows (XP), Vista and Windows 7, XP would
not (and will not) boot.

The error message when selecting XP from the boot menu was that the
boot.ini file is invalid; I then get a message saying that the
system32\hal.dll is corrupt or missing.

I used EasyBCD to restore a backup of the previous Vista boot loader which
worked with XP. Windows 7 disappeared from the boot options but I still
cannot boot in to XP - I get the same error message (boot.ini and
hal.dll). I can boot in to Vista.

EasyBCD tells me that there are 2 entries in the Vista bootloader:

Entry #1

Name: Earlier Version of Windows
BCD ID: {ntldr}
Drive: C:\
Bootloader Path: \ntldr

Entry #2

Name: Microsoft Windows Vista
BCD ID: {current}
Drive: F:\
Bootloader Path: \Windows\system32\winload.exe
Windows Directory: \Windows

But when I use msconfig in Vista it tells me that there is only one OS -
Vista.

Is there anything I can do to restore the boot information that allows me
to start XP - the boot menu entry is there but I can't boot XP.


Gareth.

It looks like the the addition of Win 7 has modified the drive
references in XP's boot.ini. Restoring the original Vista boot
corrected bootmgr, but didn't correct boot.ini. I assume that
XP was the first OS installed, and on the master drive. If that's
the case, change the boot to that drive, and see if XP will boot
stand alone. If it does, the problem lies with the boot.ini on the
Vista drive. Probably the rdisk( ) references are wrong, so
boot.ini can't find the XP drive, and returns an error. It found
ntldr, because that's on the Vista drive, but then couldn't find
hal.dll, because that's on the "unknown" XP drive.

If Vista is set as the boot HD in BIOS, the boot.ini on that disk
should look something like this:

;
;Warning: Boot.ini is used on Windows XP and earlier operating systems.
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
;
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Pro"
/NOEXECUTE=OPTIN /FASTDETECT
 
Ian D said:
Gareth said:
Hopefully someone can help.

I had a perfectly good dual boot Vista and XP system until I installed
Windows 7 RC.

I installed Windows 7 RC to a new partition on the Vista (slave drive)
with XP installed on the master drive.

Vista and Windows 7 booted okay but despite there being 3 options in the
boot menu - Earlier Version of Windows (XP), Vista and Windows 7, XP
would not (and will not) boot.

The error message when selecting XP from the boot menu was that the
boot.ini file is invalid; I then get a message saying that the
system32\hal.dll is corrupt or missing.

I used EasyBCD to restore a backup of the previous Vista boot loader
which worked with XP. Windows 7 disappeared from the boot options but I
still cannot boot in to XP - I get the same error message (boot.ini and
hal.dll). I can boot in to Vista.

EasyBCD tells me that there are 2 entries in the Vista bootloader:

Entry #1

Name: Earlier Version of Windows
BCD ID: {ntldr}
Drive: C:\
Bootloader Path: \ntldr

Entry #2

Name: Microsoft Windows Vista
BCD ID: {current}
Drive: F:\
Bootloader Path: \Windows\system32\winload.exe
Windows Directory: \Windows

But when I use msconfig in Vista it tells me that there is only one OS -
Vista.

Is there anything I can do to restore the boot information that allows me
to start XP - the boot menu entry is there but I can't boot XP.


Gareth.

It looks like the the addition of Win 7 has modified the drive
references in XP's boot.ini. Restoring the original Vista boot
corrected bootmgr, but didn't correct boot.ini. I assume that
XP was the first OS installed, and on the master drive. If that's
the case, change the boot to that drive, and see if XP will boot
stand alone. If it does, the problem lies with the boot.ini on the
Vista drive. Probably the rdisk( ) references are wrong, so
boot.ini can't find the XP drive, and returns an error. It found
ntldr, because that's on the Vista drive, but then couldn't find
hal.dll, because that's on the "unknown" XP drive.

If Vista is set as the boot HD in BIOS, the boot.ini on that disk
should look something like this:

;
;Warning: Boot.ini is used on Windows XP and earlier operating systems.
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
;
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Pro"
/NOEXECUTE=OPTIN /FASTDETECT

Thanks. But now I'm really confused. There is no boot.ini file in the root
of the XP install (c:) and it is nowhere to be found on either of the
physical drives (XP or Vista). Is this likely to be the problem? If so how
can I create the file?

The XP (c:) partition is described as System, Active, Primary Partition. The
Vista (f:) partition is Boot, Page File, Active, Crash Dump, Primary
Partition. The Windows 7 partition (g:) (which has been removed from the
Vista boot loader) is described as Primary Partition.

Could I use EasyBCD to repair the boot process?

Gareth.
 
Gareth said:
Ian D said:
Gareth said:
Hopefully someone can help.

I had a perfectly good dual boot Vista and XP system until I installed
Windows 7 RC.

I installed Windows 7 RC to a new partition on the Vista (slave drive)
with XP installed on the master drive.

Vista and Windows 7 booted okay but despite there being 3 options in the
boot menu - Earlier Version of Windows (XP), Vista and Windows 7, XP
would not (and will not) boot.

The error message when selecting XP from the boot menu was that the
boot.ini file is invalid; I then get a message saying that the
system32\hal.dll is corrupt or missing.

I used EasyBCD to restore a backup of the previous Vista boot loader
which worked with XP. Windows 7 disappeared from the boot options but I
still cannot boot in to XP - I get the same error message (boot.ini and
hal.dll). I can boot in to Vista.

EasyBCD tells me that there are 2 entries in the Vista bootloader:

Entry #1

Name: Earlier Version of Windows
BCD ID: {ntldr}
Drive: C:\
Bootloader Path: \ntldr

Entry #2

Name: Microsoft Windows Vista
BCD ID: {current}
Drive: F:\
Bootloader Path: \Windows\system32\winload.exe
Windows Directory: \Windows

But when I use msconfig in Vista it tells me that there is only one OS -
Vista.

Is there anything I can do to restore the boot information that allows
me to start XP - the boot menu entry is there but I can't boot XP.


Gareth.

It looks like the the addition of Win 7 has modified the drive
references in XP's boot.ini. Restoring the original Vista boot
corrected bootmgr, but didn't correct boot.ini. I assume that
XP was the first OS installed, and on the master drive. If that's
the case, change the boot to that drive, and see if XP will boot
stand alone. If it does, the problem lies with the boot.ini on the
Vista drive. Probably the rdisk( ) references are wrong, so
boot.ini can't find the XP drive, and returns an error. It found
ntldr, because that's on the Vista drive, but then couldn't find
hal.dll, because that's on the "unknown" XP drive.

If Vista is set as the boot HD in BIOS, the boot.ini on that disk
should look something like this:

;
;Warning: Boot.ini is used on Windows XP and earlier operating systems.
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
;
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Pro"
/NOEXECUTE=OPTIN /FASTDETECT

Thanks. But now I'm really confused. There is no boot.ini file in the root
of the XP install (c:) and it is nowhere to be found on either of the
physical drives (XP or Vista). Is this likely to be the problem? If so how
can I create the file?

The XP (c:) partition is described as System, Active, Primary Partition.
The Vista (f:) partition is Boot, Page File, Active, Crash Dump, Primary
Partition. The Windows 7 partition (g:) (which has been removed from the
Vista boot loader) is described as Primary Partition.

Could I use EasyBCD to repair the boot process?

Gareth.
As an experiment, copy and paste the above boot.ini to notepad,
then save it as boot.ini to the Vista drive root. Also, make sure
ntldr and NTDETECT.COM are in both the XP and Vista roots.
I don't know if both are needed in both places, but it won't hurt,
and will be needed to boot XP as stand alone.

If you wan't the option to boot XP as stand alone, copy this to
the XP root in the same manner.

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro"
/noexecute=optin /fastdetect

You will notice that rdisk( ) now has a value of "0". That's because
XP is located on the boot disk.
 
Ian D said:
Gareth said:
Ian D said:
Hopefully someone can help.

I had a perfectly good dual boot Vista and XP system until I installed
Windows 7 RC.

I installed Windows 7 RC to a new partition on the Vista (slave drive)
with XP installed on the master drive.

Vista and Windows 7 booted okay but despite there being 3 options in
the boot menu - Earlier Version of Windows (XP), Vista and Windows 7,
XP would not (and will not) boot.

The error message when selecting XP from the boot menu was that the
boot.ini file is invalid; I then get a message saying that the
system32\hal.dll is corrupt or missing.

I used EasyBCD to restore a backup of the previous Vista boot loader
which worked with XP. Windows 7 disappeared from the boot options but I
still cannot boot in to XP - I get the same error message (boot.ini and
hal.dll). I can boot in to Vista.

EasyBCD tells me that there are 2 entries in the Vista bootloader:

Entry #1

Name: Earlier Version of Windows
BCD ID: {ntldr}
Drive: C:\
Bootloader Path: \ntldr

Entry #2

Name: Microsoft Windows Vista
BCD ID: {current}
Drive: F:\
Bootloader Path: \Windows\system32\winload.exe
Windows Directory: \Windows

But when I use msconfig in Vista it tells me that there is only one
OS - Vista.

Is there anything I can do to restore the boot information that allows
me to start XP - the boot menu entry is there but I can't boot XP.


Gareth.

It looks like the the addition of Win 7 has modified the drive
references in XP's boot.ini. Restoring the original Vista boot
corrected bootmgr, but didn't correct boot.ini. I assume that
XP was the first OS installed, and on the master drive. If that's
the case, change the boot to that drive, and see if XP will boot
stand alone. If it does, the problem lies with the boot.ini on the
Vista drive. Probably the rdisk( ) references are wrong, so
boot.ini can't find the XP drive, and returns an error. It found
ntldr, because that's on the Vista drive, but then couldn't find
hal.dll, because that's on the "unknown" XP drive.

If Vista is set as the boot HD in BIOS, the boot.ini on that disk
should look something like this:

;
;Warning: Boot.ini is used on Windows XP and earlier operating systems.
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
;
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Pro"
/NOEXECUTE=OPTIN /FASTDETECT

Thanks. But now I'm really confused. There is no boot.ini file in the
root of the XP install (c:) and it is nowhere to be found on either of
the physical drives (XP or Vista). Is this likely to be the problem? If
so how can I create the file?

The XP (c:) partition is described as System, Active, Primary Partition.
The Vista (f:) partition is Boot, Page File, Active, Crash Dump, Primary
Partition. The Windows 7 partition (g:) (which has been removed from the
Vista boot loader) is described as Primary Partition.

Could I use EasyBCD to repair the boot process?

Gareth.
As an experiment, copy and paste the above boot.ini to notepad,
then save it as boot.ini to the Vista drive root. Also, make sure
ntldr and NTDETECT.COM are in both the XP and Vista roots.
I don't know if both are needed in both places, but it won't hurt,
and will be needed to boot XP as stand alone.

If you wan't the option to boot XP as stand alone, copy this to
the XP root in the same manner.

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro"
/noexecute=optin /fastdetect

You will notice that rdisk( ) now has a value of "0". That's because
XP is located on the boot disk.

Thank you.

I tried it - placing the file on the Vista drive root - and it didn't work.

I found a file called boot.bak in the XP root. It's content was:

;
;Warning: Boot.ini is used on Windows XP and earlier operating systems.
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
;
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Home
Edition" /FASTDETECT /NOEXECUTE=OPTIN

I renamed it (to boot.ini) and copied it to the Vista root and still no
luck.

I then copied the file to the XP root and XP started to from the Vista boot
loader entry!

I don't understand though. This suggests that the Vista boot loader is using
the old XP boot.ini file. I thought the whole point of the Vista boot loader
was that it used its own process?

Is it possible that the boot.ini file wasn't being used before the Windows 7
install but that the W7 install caused a problem and now the Vista boot
loader is relying upon boot.ini as an alternative?

In terms of Windows 7 - I have removed its entry from the Vista boot loader
but it is still on the hd. Could I just add an entry for Windows 7 using
EasyBCD?

Gareth.
 
Gareth said:
Ian D said:
Gareth said:
Hopefully someone can help.

I had a perfectly good dual boot Vista and XP system until I installed
Windows 7 RC.

I installed Windows 7 RC to a new partition on the Vista (slave drive)
with XP installed on the master drive.

Vista and Windows 7 booted okay but despite there being 3 options in
the boot menu - Earlier Version of Windows (XP), Vista and Windows 7,
XP would not (and will not) boot.

The error message when selecting XP from the boot menu was that the
boot.ini file is invalid; I then get a message saying that the
system32\hal.dll is corrupt or missing.

I used EasyBCD to restore a backup of the previous Vista boot loader
which worked with XP. Windows 7 disappeared from the boot options but
I still cannot boot in to XP - I get the same error message (boot.ini
and hal.dll). I can boot in to Vista.

EasyBCD tells me that there are 2 entries in the Vista bootloader:

Entry #1

Name: Earlier Version of Windows
BCD ID: {ntldr}
Drive: C:\
Bootloader Path: \ntldr

Entry #2

Name: Microsoft Windows Vista
BCD ID: {current}
Drive: F:\
Bootloader Path: \Windows\system32\winload.exe
Windows Directory: \Windows

But when I use msconfig in Vista it tells me that there is only one
OS - Vista.

Is there anything I can do to restore the boot information that allows
me to start XP - the boot menu entry is there but I can't boot XP.


Gareth.

It looks like the the addition of Win 7 has modified the drive
references in XP's boot.ini. Restoring the original Vista boot
corrected bootmgr, but didn't correct boot.ini. I assume that
XP was the first OS installed, and on the master drive. If that's
the case, change the boot to that drive, and see if XP will boot
stand alone. If it does, the problem lies with the boot.ini on the
Vista drive. Probably the rdisk( ) references are wrong, so
boot.ini can't find the XP drive, and returns an error. It found
ntldr, because that's on the Vista drive, but then couldn't find
hal.dll, because that's on the "unknown" XP drive.

If Vista is set as the boot HD in BIOS, the boot.ini on that disk
should look something like this:

;
;Warning: Boot.ini is used on Windows XP and earlier operating systems.
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
;
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Pro"
/NOEXECUTE=OPTIN /FASTDETECT

Thanks. But now I'm really confused. There is no boot.ini file in the
root of the XP install (c:) and it is nowhere to be found on either of
the physical drives (XP or Vista). Is this likely to be the problem? If
so how can I create the file?

The XP (c:) partition is described as System, Active, Primary Partition.
The Vista (f:) partition is Boot, Page File, Active, Crash Dump, Primary
Partition. The Windows 7 partition (g:) (which has been removed from the
Vista boot loader) is described as Primary Partition.

Could I use EasyBCD to repair the boot process?

Gareth.
As an experiment, copy and paste the above boot.ini to notepad,
then save it as boot.ini to the Vista drive root. Also, make sure
ntldr and NTDETECT.COM are in both the XP and Vista roots.
I don't know if both are needed in both places, but it won't hurt,
and will be needed to boot XP as stand alone.

If you wan't the option to boot XP as stand alone, copy this to
the XP root in the same manner.

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro"
/noexecute=optin /fastdetect

You will notice that rdisk( ) now has a value of "0". That's because
XP is located on the boot disk.

Thank you.

I tried it - placing the file on the Vista drive root - and it didn't
work.

I found a file called boot.bak in the XP root. It's content was:

;
;Warning: Boot.ini is used on Windows XP and earlier operating systems.
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
;
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Home
Edition" /FASTDETECT /NOEXECUTE=OPTIN

I renamed it (to boot.ini) and copied it to the Vista root and still no
luck.

I then copied the file to the XP root and XP started to from the Vista
boot loader entry!

I don't understand though. This suggests that the Vista boot loader is
using the old XP boot.ini file. I thought the whole point of the Vista
boot loader was that it used its own process?

Is it possible that the boot.ini file wasn't being used before the Windows
7 install but that the W7 install caused a problem and now the Vista boot
loader is relying upon boot.ini as an alternative?

In terms of Windows 7 - I have removed its entry from the Vista boot
loader but it is still on the hd. Could I just add an entry for Windows 7
using EasyBCD?

Gareth.

Glad you got it going. The issue with XP is that you need
the correct value for rdisk( ). If rdisk(1), or rdisk(0) doesn't
work, try the opposite. It all depends on what disks the
boot loaders, and the selected OS reside. It gets more
interesting if you have two XP installations. Are you sure
you aren't booting from the XP drive?

For multiboot editing, try VistaBootPro. It is very easy and
intuitive to use, and fairly powerful. It will be able to add
Win 7 to Vista bootmgr. I've used EasyBCD and VistabootPro,
and much prefer VistaBootPro.
 
Jawade said:
Op Zaterdag 13 Juni 2009 13:51:48 +0100, schreef Gareth
Ian D said:
Hopefully someone can help.

I had a perfectly good dual boot Vista and XP system until I
installed
Windows 7 RC.

I installed Windows 7 RC to a new partition on the Vista (slave
drive)
with XP installed on the master drive.

Vista and Windows 7 booted okay but despite there being 3 options in
the boot menu - Earlier Version of Windows (XP), Vista and Windows
7,
XP would not (and will not) boot.

The error message when selecting XP from the boot menu was that the
boot.ini file is invalid; I then get a message saying that the
system32\hal.dll is corrupt or missing.

I used EasyBCD to restore a backup of the previous Vista boot loader
which worked with XP. Windows 7 disappeared from the boot options
but I
still cannot boot in to XP - I get the same error message (boot.ini
and
hal.dll). I can boot in to Vista.

EasyBCD tells me that there are 2 entries in the Vista bootloader:

Entry #1

Name: Earlier Version of Windows
BCD ID: {ntldr}
Drive: C:\
Bootloader Path: \ntldr

Entry #2

Name: Microsoft Windows Vista
BCD ID: {current}
Drive: F:\
Bootloader Path: \Windows\system32\winload.exe
Windows Directory: \Windows

But when I use msconfig in Vista it tells me that there is only one
OS - Vista.

Is there anything I can do to restore the boot information that
allows
me to start XP - the boot menu entry is there but I can't boot XP.


Gareth.

It looks like the the addition of Win 7 has modified the drive
references in XP's boot.ini. Restoring the original Vista boot
corrected bootmgr, but didn't correct boot.ini. I assume that
XP was the first OS installed, and on the master drive. If that's
the case, change the boot to that drive, and see if XP will boot
stand alone. If it does, the problem lies with the boot.ini on the
Vista drive. Probably the rdisk( ) references are wrong, so
boot.ini can't find the XP drive, and returns an error. It found
ntldr, because that's on the Vista drive, but then couldn't find
hal.dll, because that's on the "unknown" XP drive.

If Vista is set as the boot HD in BIOS, the boot.ini on that disk
should look something like this:

;
;Warning: Boot.ini is used on Windows XP and earlier operating
systems.
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
;
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP
Pro"
/NOEXECUTE=OPTIN /FASTDETECT

Thanks. But now I'm really confused. There is no boot.ini file in the
root of the XP install (c:) and it is nowhere to be found on either of
the physical drives (XP or Vista). Is this likely to be the problem?
If
so how can I create the file?

The XP (c:) partition is described as System, Active, Primary
Partition.
The Vista (f:) partition is Boot, Page File, Active, Crash Dump,
Primary
Partition. The Windows 7 partition (g:) (which has been removed from
the
Vista boot loader) is described as Primary Partition.

Could I use EasyBCD to repair the boot process?

Gareth.



As an experiment, copy and paste the above boot.ini to notepad,
then save it as boot.ini to the Vista drive root. Also, make sure
ntldr and NTDETECT.COM are in both the XP and Vista roots.
I don't know if both are needed in both places, but it won't hurt,
and will be needed to boot XP as stand alone.

If you wan't the option to boot XP as stand alone, copy this to
the XP root in the same manner.

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro"
/noexecute=optin /fastdetect

You will notice that rdisk( ) now has a value of "0". That's because
XP is located on the boot disk.

I have a same install and no problems. Maibe this gives some idea's? :

Thanks Ian and Jawade.

Yes, my install is the same - the files are almost exactly the same (as far
as I can see exactly the same).

I don't understand this but the only conclusion I can draw is that for some
reason the Windows 7 install automatically removed the boot.ini file from
the XP root - assuming it was there in the first place. It must have been
there before the Windows 7 install because otherwise XP would not have
booted. Or would it? I can't imagine that Windows 7 would remove the file
without at least creating a backup so there must be another explanation.
[Also, as below why would Vista create a backup of the XP boot.ini file
during its own install if it was not removing the file?]

The only manual change I made following the Windows 7 install was to change
the default OS from Windows 7 to Vista in the Vista bootloader using
EasyBCD.

I managed to restore the Windows 7 boot entry in the Vista bootloader by
restoring a backup of the EasyBCD bcd file which I created before manually
removing the Windows 7 entry.

Anyway, at least Vista creates a backup of the boot.ini file (as boot.bak)
during its install process - it would have taken me a long time (if ever) to
have found the correction partition(x)\windows paramater.

My next step would have been to use the Vista install disk to try to solve
the problem. I guess that this wouldn't have worked because there would have
been no boot.ini file in the XP root. I assume that this is how Vista knows
during its own install whether or not there is a XP install in place and if
so how to deal with it. The boot.ini file has a lot of importance for such a
fragile file! The Vista and Windows 7 approach to booting seems much more
sensible and safer.

So basically what I did was to copy boot.bak in the XP root (leaving the
original boot.bak in place just in case) and rename it as boot.ini and then
copy it to the XP root.

I can't work out which drive is the boot drive (the XP partition on the c:
physical drive or the Vista partition on the f: physical drive). I therefore
wasn't able to try the EasyBCD repair option - it needs confirmation "beyond
shadow of doubt" as to which drive is the boot drive. Even if I had known I
doubt it would have worked - how would it have been able to create a new
boot.ini file?

Gareth.
 
Ian D said:
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro"
/noexecute=optin /fastdetect

You will notice that rdisk( ) now has a value of "0". That's because
XP is located on the boot disk.

Thank you.

I tried it - placing the file on the Vista drive root - and it didn't
work.

I found a file called boot.bak in the XP root. It's content was:

;
;Warning: Boot.ini is used on Windows XP and earlier operating systems.
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
;
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Home
Edition" /FASTDETECT /NOEXECUTE=OPTIN

Glad you got it going. The issue with XP is that you need
the correct value for rdisk( ). If rdisk(1), or rdisk(0) doesn't
work, try the opposite. It all depends on what disks the
boot loaders, and the selected OS reside. It gets more
interesting if you have two XP installations. Are you sure
you aren't booting from the XP drive?

For multiboot editing, try VistaBootPro. It is very easy and
intuitive to use, and fairly powerful. It will be able to add
Win 7 to Vista bootmgr. I've used EasyBCD and VistabootPro,
and much prefer VistaBootPro.

Thanks for your help.

I think I realise why the partition(x) value is 2 in my case. I think it's
because the hard drive carrying the XP install is an oem image - they must
have set partition 1 as the recovery partition and partition 2 as the XP
partition. Most home installs wouldn't do this unless a clone of an oem
drive was being used.

Looking at previous posts I wonder if others have found this to be a
problem. Most of the online boot.ini example files assume (reasonably) a
partition(x) value of 1 but there's little mention that it can be something
else. Most of the examples give different values for rdisk( ).

Thanks again!

Gareth.
 
Gareth said:
Jawade said:
Op Zaterdag 13 Juni 2009 13:51:48 +0100, schreef Gareth
Hopefully someone can help.

I had a perfectly good dual boot Vista and XP system until I
installed
Windows 7 RC.

I installed Windows 7 RC to a new partition on the Vista (slave
drive)
with XP installed on the master drive.

Vista and Windows 7 booted okay but despite there being 3 options
in
the boot menu - Earlier Version of Windows (XP), Vista and Windows
7,
XP would not (and will not) boot.

The error message when selecting XP from the boot menu was that the
boot.ini file is invalid; I then get a message saying that the
system32\hal.dll is corrupt or missing.

I used EasyBCD to restore a backup of the previous Vista boot
loader
which worked with XP. Windows 7 disappeared from the boot options
but I
still cannot boot in to XP - I get the same error message (boot.ini
and
hal.dll). I can boot in to Vista.

EasyBCD tells me that there are 2 entries in the Vista bootloader:

Entry #1

Name: Earlier Version of Windows
BCD ID: {ntldr}
Drive: C:\
Bootloader Path: \ntldr

Entry #2

Name: Microsoft Windows Vista
BCD ID: {current}
Drive: F:\
Bootloader Path: \Windows\system32\winload.exe
Windows Directory: \Windows

But when I use msconfig in Vista it tells me that there is only one
OS - Vista.

Is there anything I can do to restore the boot information that
allows
me to start XP - the boot menu entry is there but I can't boot XP.


Gareth.

It looks like the the addition of Win 7 has modified the drive
references in XP's boot.ini. Restoring the original Vista boot
corrected bootmgr, but didn't correct boot.ini. I assume that
XP was the first OS installed, and on the master drive. If that's
the case, change the boot to that drive, and see if XP will boot
stand alone. If it does, the problem lies with the boot.ini on the
Vista drive. Probably the rdisk( ) references are wrong, so
boot.ini can't find the XP drive, and returns an error. It found
ntldr, because that's on the Vista drive, but then couldn't find
hal.dll, because that's on the "unknown" XP drive.

If Vista is set as the boot HD in BIOS, the boot.ini on that disk
should look something like this:

;
;Warning: Boot.ini is used on Windows XP and earlier operating
systems.
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
;
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP
Pro"
/NOEXECUTE=OPTIN /FASTDETECT

Thanks. But now I'm really confused. There is no boot.ini file in the
root of the XP install (c:) and it is nowhere to be found on either
of
the physical drives (XP or Vista). Is this likely to be the problem?
If
so how can I create the file?

The XP (c:) partition is described as System, Active, Primary
Partition.
The Vista (f:) partition is Boot, Page File, Active, Crash Dump,
Primary
Partition. The Windows 7 partition (g:) (which has been removed from
the
Vista boot loader) is described as Primary Partition.

Could I use EasyBCD to repair the boot process?

Gareth.



As an experiment, copy and paste the above boot.ini to notepad,
then save it as boot.ini to the Vista drive root. Also, make sure
ntldr and NTDETECT.COM are in both the XP and Vista roots.
I don't know if both are needed in both places, but it won't hurt,
and will be needed to boot XP as stand alone.

If you wan't the option to boot XP as stand alone, copy this to
the XP root in the same manner.

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro"
/noexecute=optin /fastdetect

You will notice that rdisk( ) now has a value of "0". That's because
XP is located on the boot disk.

I have a same install and no problems. Maibe this gives some idea's? :

Thanks Ian and Jawade.

Yes, my install is the same - the files are almost exactly the same (as
far as I can see exactly the same).

I don't understand this but the only conclusion I can draw is that for
some reason the Windows 7 install automatically removed the boot.ini file
from the XP root - assuming it was there in the first place. It must have
been there before the Windows 7 install because otherwise XP would not
have booted. Or would it? I can't imagine that Windows 7 would remove the
file without at least creating a backup so there must be another
explanation. [Also, as below why would Vista create a backup of the XP
boot.ini file during its own install if it was not removing the file?]

The only manual change I made following the Windows 7 install was to
change the default OS from Windows 7 to Vista in the Vista bootloader
using EasyBCD.

I managed to restore the Windows 7 boot entry in the Vista bootloader by
restoring a backup of the EasyBCD bcd file which I created before manually
removing the Windows 7 entry.

Anyway, at least Vista creates a backup of the boot.ini file (as boot.bak)
during its install process - it would have taken me a long time (if ever)
to have found the correction partition(x)\windows paramater.

My next step would have been to use the Vista install disk to try to solve
the problem. I guess that this wouldn't have worked because there would
have been no boot.ini file in the XP root. I assume that this is how Vista
knows during its own install whether or not there is a XP install in place
and if so how to deal with it. The boot.ini file has a lot of importance
for such a fragile file! The Vista and Windows 7 approach to booting seems
much more sensible and safer.

So basically what I did was to copy boot.bak in the XP root (leaving the
original boot.bak in place just in case) and rename it as boot.ini and
then copy it to the XP root.

I can't work out which drive is the boot drive (the XP partition on the c:
physical drive or the Vista partition on the f: physical drive). I
therefore wasn't able to try the EasyBCD repair option - it needs
confirmation "beyond shadow of doubt" as to which drive is the boot drive.
Even if I had known I doubt it would have worked - how would it have been
able to create a new boot.ini file?

Gareth.

If you have more than one hard drive, the boot drive is selected
in the system BIOS. How the boot is set up would depend on
how you installed the OSs. If XP was installed first, it is obviously
the physical boot drive, and the Vista boot manager would be
installed on that drive. When Win 7 is installed, it would add
itself to the boot manager. I see no reason why it would touch
the XP boot.ini. How was Vista installed? Was it an upgrade
from XP, or was the install booted directly from the Vista DVD?
 
Thanks Ian and Jawade.

Yes, my install is the same - the files are almost exactly the same (as far
as I can see exactly the same).

I don't understand this but the only conclusion I can draw is that for some
reason the Windows 7 install automatically removed the boot.ini file from
the XP root - assuming it was there in the first place. It must have been
there before the Windows 7 install because otherwise XP would not have
booted. Or would it? I can't imagine that Windows 7 would remove the file
without at least creating a backup so there must be another explanation.
[Also, as below why would Vista create a backup of the XP boot.ini file
during its own install if it was not removing the file?]

Vista creates a backup because it adds the following comments at the
beginning of boot.ini.
;
;Warning: Boot.ini is used on Windows XP and earlier operating
systems.
;Warning: Use BCDEDIT.exe to modify Windows Vista boot options.
;
The only manual change I made following the Windows 7 install was to change
the default OS from Windows 7 to Vista in the Vista bootloader using
EasyBCD.

I managed to restore the Windows 7 boot entry in the Vista bootloader by
restoring a backup of the EasyBCD bcd file which I created before manually
removing the Windows 7 entry.

Anyway, at least Vista creates a backup of the boot.ini file (as boot.bak)
during its install process - it would have taken me a long time (if ever) to
have found the correction partition(x)\windows paramater.

My next step would have been to use the Vista install disk to try to solve
the problem. I guess that this wouldn't have worked because there would have
been no boot.ini file in the XP root. I assume that this is how Vista knows
during its own install whether or not there is a XP install in place and if
so how to deal with it. The boot.ini file has a lot of importance for such a
fragile file! The Vista and Windows 7 approach to booting seems much more
sensible and safer.

So basically what I did was to copy boot.bak in the XP root (leaving the
original boot.bak in place just in case) and rename it as boot.ini and then
copy it to the XP root.

I can't work out which drive is the boot drive (the XP partition on the c:
physical drive or the Vista partition on the f: physical drive). I therefore
wasn't able to try the EasyBCD repair option - it needs confirmation "beyond
shadow of doubt" as to which drive is the boot drive. Even if I had known I
doubt it would have worked - how would it have been able to create a new
boot.ini file?

To identify which drive is the boot drive, you run Disk Management and
see which drive contains the volume/partition with the System status.
The boot files have to be on the disk drive that the motherboard bios
is set to boot from as usually specified in the Hard Disk Boot
Priority or Hard Disk Drives bios setup setting.

To create a new boot.ini file, you run the bootcfg /rebuild command in
the Windows XP recovery console.
 
Back
Top