'Pre-installation' Bootloader Problem

chrisb33

Member
Hi all! Chris B. here with (yet another) bootloader problem after attempting to dual boot XP and Vista (separate hard drives).

If I boot up my computer normally I get two choices - XP (Legacy) or "Windows Setup". For some reason Vista refuses to accept the fact that its installation is actually complete.

HOWEVER - there IS a way for me to boot so that "Legacy" and "Vista" are both displayed. This makes no sense to me, but here is how I do it: 1) Boot from Windows XP CD. 2) Go into recovery console. 3) EXIT recovery console WITHOUT MAKING ANY CHANGES. 4) Computer restarts and brings me to the correct menu.

I don't think that the problem is with the bootloader. Using bcdedit from the DVD recovery command line, everything looks fine - Vista and XP are both there. For some reason, the "Windows Setup" bootloader is shown rather than the correct one (except if my prior boot had been from CD). If I run Vista startup recovery, it detects a new operating system - the "Longhorn Pre-Installation Environment." What I'm guessing is that somehow I keep getting put into the pre-installation loader rather than the normal bootloader, and that somehow restarting in a special way avoids this.

To summarize, my questions are these:
1) (For Vista installation in general) What does Vista do to the boot manager during setup?
2) (For operating systems in general) When you boot from a CD/DVD and then choose to exit, how does the computer know to NOT boot from the CD/DVD the next time? Is the computer restarted with a certain "flag"?
3) What are your suggestions for fixing this specific problem?

P.S. I'm having some unrelated problems with Vista itself - frequent blackscreen crashes, etc., but if I can't fix them I'll post them to a separate thread.
 
Hello Chris, welcome to NeoSmart Technologies.

Here's what I suggest:
Boot into XP.
Download EasyBCD
Use EBCD to uninstall the Vista bootloader.
Format the Partition Vista is on.
Reinstall Vista.


When you boot from a CD, it doesn't exactly "set a flag," it doesn't actually restart. Normal restarts are cold-restarts. When you restart from the CD though, it goes through a "fast-paced" restart (time it, it's faster) and knows not to boot from the CD.

When you install Vista:
1) It installs the new Vista Bootloader.
2) It creates an entry for the Vista OS.
3) It redirects that entry to the Vista pre-install environment.
4) It installs.
5) It unredirects the entry.

So somewhere along the way your bootloader was corrupted (really easy to pull off with Vista being as unstable as it is); so what we're doing is clearing the changes and trying again.


I'm under the impression the data on the Vista partition is unimportant - hence I suggest the format route. However, if for some reason you can't format Vista, then let us know, and there is a much longer route we can take to fix the problem.

And, soon as this is done, you just post your other issues here, and we'll see what we can do.
 
Thanks for the detailed suggestions - this route sounds like it should definitely work. However, I was fooling around with bootsect.exe last night and I think that I may have gotten closer to a solution that way.

First of all, I hadn't been using the /force flag before - without it bootsect didn't do much. Anyway, I ran:
bootsect /nt60 ALL /force (to restore the Vista bootloader)
bootsect /nt52 D: /force (an attempt to restore ntldr to the XP partition)

Now when I start up my computer normally (cold-restart) I go straight into XP without a menu. HOWEVER, when I start up my computer with a bootable CD/DVD in the drive (XP or Vista) and then let the "Press Any Key to boot from CD/DVD" screen TIME OUT, I am taken to the Windows Boot Manager (showing Vista and Legacy/XP). Vista boots correctly, but Legacy gave me a \ntldr missing error. I tried to fix this by copying ntldr, ntdetect, and boot.ini to my Vista partition, but now choosing Legacy just gives me a black screen. The only thing I could guess is that my boot.ini is pointing to the wrong file - for example, should I change partition(1) to something else?

Why would letting the boot request time out get me to a different boot manager? How can I get it to appear all the time? And how can I get XP to boot correctly from this menu?

Thanks for all of your time so far!
 
OK,

The MBR is just one long file.
You wrote the old (nt52) bootloader to the first bit, but the Vista bootloader is present *after* that, and can only be reached by timing out the CD thing.

Boot.ini is indeed the culprit.
Vista likes to reorder partitions (virtually) so as to make itself the primary.
Try this:

Open Boot.ini, and create several entries, that end up covering all the partitions. Reboot, and see which one works for you.
 
Computer Guru said:
OK,

The MBR is just one long file.
You wrote the old (nt52) bootloader to the first bit, but the Vista bootloader is present *after* that, and can only be reached by timing out the CD thing.

Boot.ini is indeed the culprit.
Vista likes to reorder partitions (virtually) so as to make itself the primary.
Try this:

Open Boot.ini, and create several entries, that end up covering all the partitions. Reboot, and see which one works for you.
Just to confirm what you're suggesting -

1) Re-run bootsect to get nt60 on the entire bootloader
2) Modify boot.ini to point to XP correctly

Sounds good - I'll try it tonight. I'm still not sure why the timeout thing sticks me into a different part of the MBR, though...
 
That's exactly what I'm suggesting.

Let me do my best to explain the MBR thing.

You have a big "file."

Code:
.============================================.
|                                            |
|                                            |
|                                            |
|                                            |
|                                            |
|                                            |
|                                            |
|                                            |
.============================================.

At first it's blank (all zeroes).
When XP was installed (by you, the OEM, whoever), it wrote the necessary code to the MBR:

Code:
.============================================.
|01010101000111001100011010111001101010100101|
|10011100011101010010001001111011011110010011|
|010111100110101110001\0                     |
|                                            |
|                                            |
|                                            |
|                                            |
|                                            |
.============================================.

See that last bit? It tells it to stop reading here, and go on to the next section (the partition table).

When you installed Vista it overwrote the XP bootloader - but it was longer than it too.

In the end, you had two "\0" marks, when you boot normally, it reads from the beginning and stops at the first marke.

When you boot from CD or whatever, it skips the first mark: but the second is still there, so it reads it. In your case that happened to be the Vista bootloader.
 
I got boot.ini working - you were right, the vista bootmanager reorganized the drives. However, I still can't figure out how to fix the MBR. If I let the system time out from a bootable CD, everything is perfect - I have my boot manager with two working options. On normal boot, however:
If I last ran /nt52: I go straight into XP
If I last ran /nt60: I get the "pre-installation" choices "Windows Setup" and XP.

Is there another tool I can use to repair the MBR? Would any of the options in VistaBootPro help?
 
Hey Chris

I'm glad to hear the boot.ini trick finally did it, good job :grinning:

Your /nt60 has the setup entry instead of the normal Vista entry. Are you 100% certain that Vista setup concluded properly?

VistaBootPRO 1.1 will be able to do this, but unfortunately VistaBootPRO 1.0 can't (it's coming REALLY soon, promise!)
 
Computer Guru said:
Your /nt60 has the setup entry instead of the normal Vista entry. Are you 100% certain that Vista setup concluded properly?
I'm 95% sure that the problem was caused since my first attempt to install (from within XP) failed, but that my second install (booted directly off the DVD) concluded properly. Another thing that (I think?) confirms this is that the "Pre-Installation" environment is being run from temporary folders on my XP drive, something that I don't think the second install would have done.

There must be a way to make the correct bootloader the only thing on the MBR, but it seems like bootsect doesn't affect the correct bootloader at all - I can always get to it by timing out a CD. Sorry to keep asking, but I still don't understand how this is happening if both of these are supposed to be on the same MBR. The "Pre-Installation" loader (obtained by running /nt60) and the correct bootloader are both the same size, right? I notice that bootsect has options to write boot records for specific drives - is it possible that these loaders are on different drives, and different ones get chosen based on how I boot up?

EDIT: I may have misled you into thinking that my Vista OS is unstable by mentioning the problems I was having (prompting you to question if the install was successful or not). I've actually identified that all the problems were related to the sleep function (Vista would often crash if I left the room, but only because it was set to auto-sleep). Everything else is working great - sound card is up and running, anti-virus is monitoring (using avast), and the only driver I have yet to find is for my wireless card. From within Vista I have no reason to believe that setup was not entirely successful.
 
OK

Boot into Vista.
Use VistaBootPRO to delete the "Windows Setup" entry in the bootloader.
Use the program I'm PMing you to add a new entry for Windows Vista.

And that should do it.
 
Computer Guru said:
OK

Boot into Vista.
Use VistaBootPRO to delete the "Windows Setup" entry in the bootloader.
Use the program I'm PMing you to add a new entry for Windows Vista.

And that should do it.
:grinning: :grinning: :grinning: It works!! :grinning: :grinning: :grinning:

Thank you so much for letting me use the program - it had my problem fixed in 30 seconds. It is almost unbelievable to me how much you've gone out of your way to help those of us with Vista problems. I really appreciate all the help and I am looking forward to the program's official release!
 
w00t Chris!!!
Great news, and I'm really glad you finally got it working - I'm just sorry it took this long :huh:

Remember, if you need any help, that's what we're here for. NeoSmart Forums is the place to be if you have any questions at all. (And remember to tell people about us!)
 
Back
Top