Not an error or problem, more of an annoyance

JoeyImage

Member
Ok, that should say "problem", not "pboelm".
Anyway, I've got dual boot working fine with Vista on one drive, XP on the other. My problem is, when I get the OS choices menu. If I choose Vista, boots into Vista, no problem. If I choose XP, I then get a second OS choices menu, with Windows XP listed as both options. If I select the first one, I boot into XP no problem. If I choose the second one, I get the "missing or corrupt HAL.DLL" error. Now the problem is that I've only got 1 XP install, so I'm not sure why it thinks there is two, and I can't seem to figure out how to get rid of this second OS choices menu altogether. I can boot into both OS'es no problem, I'd just like to completely remove this second choices menu. I'm using EasyBCD 1.7.2
 
Hi Joey, welcome to NST.
When you choose XP from Vista BCD, it hands control to XP's NTLDR and a normal XP boot takes place.
i.e. boot.ini is referenced to locate the whereabouts of the OS.
Look in disk management to determine which partition is marked as "active", that's where all the boot files are. On that partition you'll find the file x:\boot.ini (where x is the partition letter id).
delete the incorrect copy of the 2 entries you'll find in there.
If, when you boot, you make no choice between the XPs and it defaults to the correct one, then delete the entry which is NOT the same as the default entry. If the default gives you the HAL error, then delete the one which IS the same as the default entry, and correct the default entry to match the correct one.
Alternatively, if the default takes you to the correct entry, then you can set timeout (0) and the default will be used without a menu being presented. Either technique will have the desired effect.
 
Last edited:
The XP entry that is selected when the menu appears... is that the one that is working?

If so, look in boot.ini at the default entry under [boot loader]:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

Find all lines under [operating systems] that don't start out with your default entry and delete them. Note that the entry above is only an example and that XP may be located elsewhere on your drive. If you are still confused and the default item is already working for you, you could also change timeout=30 to timeout=0. That'll load the default entry immediately and won't give you a menu to select the others.

Only one paritition can be active at a time. If you still have questions, please post a snapshot of disk management and boot.ini so we can help you.
 
Last edited:
When I choose XP from the initial OS choices menu, I get a second OS choices menu, with two XP's listed. The top one works, second doesn't. As you can see below, I have 3 drives saying "Active". I checked boot.ini using MSCONFIG, that screenshot is below disk Management.

diskmanagement.jpg



bootini.jpg


The XP entry that is selected when the menu appears... is that the one that is working?

If so, look in boot.ini at the default entry under [boot loader]:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

Find all lines under [operating systems] that don't start out with your default entry and delete them. Note that the entry above is only an example and that XP may be located elsewhere on your drive. If you are still confused and the default item is already working for you, you could also change timeout=30 to timeout=0. That'll load the default entry immediately and won't give you a menu to select the others.

Only one paritition can be active at a time. If you still have questions, please post a snapshot of disk management and boot.ini so we can help you.
 
You need to actually open boot.ini in notepad. I understand that you get two menus. Boot.ini well configure entries only for the second one. Msconfig is not going to display the the entries for XP/boot.ini in Vista. To do this:

1) Go to the View tab in folder options in my computer and select "Show Hidden Files and Folders" & uncheck "Hide protected operating system files"
2) Locate boot.ini. It should be either at the root of XP's or Vista's paritition.

Now you can follow the steps outlined in my previous post.
 
Ah ha, thanks!

boot.ini:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(3)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
 
Good. Get rid of the multi(0)disk(0)rdisk(3)... entry and it should work.
 
Last edited:
Sorry Joey, should have been clearer.
There is only one active partition on any hard disk. The one on the first disk in your BIOS boot sequence is the relevant one. I assume that's C: (your Vista ) here. The active XP boot files will be on there (not on XP).
Unless one of F: or M: is your 1st boot disk, in which case all of the XP (and Vista) boot files will be on that disk.
Can't tell from your screenshot where the partitions are in relation to the disks. The bottom half of the disk management screen you've omited shows that.
Follow Justin's last post advice, provided that the default ,if you make no choice, boots the right system. You don't say that it does. Check first, then refer to my first post.
 
Last edited:
I need to revisit this issue. Here is my boot.ini now, followed by my problem.

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

The problem is this: I get the OS choices menu during bootup. 1. Vista 2. XP
If I choose Vista, I boot into Vista, no problem. If I choose XP, I then get a second OS choices menu with the following:
1. Windows XP
2. (default) Windows

How do I get rid of this second OS choices menu, and make it so that when I choose XP on the first menu, it actually boots into option 1 (Windows XP) on this second menu?
 
Are you sure you're posting the correct boot.ini ?
The one being used is the one on the same partition root as your boot folder and the bootmgr NTLDR and ntdetect.com files. (the partition marked "system" "active" - C:\boot.ini if your post #5 is still right) not the one on the XP partition. EasyBCD/Tools/Edit legacy Entries should take you to the correct one)

What happens when you select each of the XP choices ? Do both boot successfully ?
If so all you need to do is change the timeout value to 0 and the menu will not be presented.
The only reason for a choice being offered is if NTLDR thinks there is one, ie if the boot.ini contains 2 entries that differ in some way.
Check the syntax very carefully against the example in the wiki, paying attention to spaces (or the lack of) or phantom entries (a blank line).
NTLDR won't present a menu if it can't see multiple choices or if the timeout=0 (in which case it uses the default line)
 
That is definetly not the right boot.ini cause it only has one entry and the two entries are not named as the file suggests from your description of the second menu you are getting. Open EasyBCD, click the Edit menu, and than select the option to view/edit boot.ini to pull up the correct one automatically w/o you having to search for it.
 
Might be missing something, but there's no "Edit" menu. There's an 'edit' option under the Tools menu. "Edit Legacy Entries", which opens up the following boot.ini:

[boot loader]
timeout=30
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional" /NOEXECUTE=OPTIN /FASTDETECT

Is there a way to delete the boot.ini completely, and Windows would rewrite a fresh version?
 
Yeah... that's what I meant :smile:

If you're getting two entries though like you explained, its not using that file though it should be. Check XP's entry using EasyBCD to verify it is pointing to the active partition. That boot.ini file should be at the root of that partition instead of the one that is producing the symptons you are describing. Check each partition for a boot.ini file to see if you find one with two entries (lines) under [operating systems].
 
The reason why you're getting a choice is because you dont have a "default" line, so NTLDR is using its hard-coded internal "default default", which is rdisk(0) partition(1) i.e. not the same as your XP.
Copy the syntax from the example in the wiki and add the default line with the same values as your other line and your problem will be solved.
Look at post #12 and you'll see I told you that EasyBCD/Tools/Edit legacy was the place to find the boot.ini being used.
 
So I want it to look like this?

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Professional" /NOEXECUTE=OPTIN /FASTDETECT
 
rdisk(1 gives me the "missing or corrupt HAL.DLL" error. However, when I had the choices of 2 XP's, one always booted fine, and one gave me the HAL.DLL error. So I need to find out which drive number was the working one. I would be changing the bottom rdisk(#) line correct?

According to my "disk management" screen, my C drive is disk 2. I will try that.

Ahh well, that didn't work either. Brought me again to a second OS choices menu with WinXP, and Windows (default). Both of those give me the HAL.DLL error.

I'm stumped..... sigh
 
Last edited:
Sorry I thought you had a working boot, but just an unwanted 2nd menu ?
You can try rdisk(0 to n) (where n is the number of HDDs you have) and partition (1 to m) where m is the number of partitions on the HDD containing XP.
Just ensure that the values are identical on both lines.
The correct combination will boot without a second menu.
 
Back
Top