EasyBCD doesn't work if booting Vista from Grub

#1
I ran into something interesting. After I installed Fedora Core 6 on my IDE drive and made it the default boot drive, grub added an entry for "Other" (which turned out to be the boot record on my SATA Raid). So, using the Grub Menu.lst I changed "Other" to read "Windows Vista and Windows XP". This is now my boot setup:

System boots to IDE hard drive with Fedora/Grub. Following menu appears:

Windows Vista and Windows XP (default)
Fedora Core (2.6.19-1.2911.fc6)

Now, you have to be quick during this menu because it boots the default OS if you don't make a different choice within 5 seconds. (that of course can be changed to allow more time). If I choose Fedora, I boot up to Fedora. If I pick Windows or do nothing within 5 seconds, I get the Vista Boot Manager screen. From there I get the following choices:

Windows XP(default)
Windows Vista

Here I gave myself a little extra time to decide (15 seconds before it boots to the default). I don't mind going this route, because I get the boot splash screen of my choice, and it still boots my default OS within 20 seconds if I push start and go get a cup of coffee. Ok, I'm happy.

There is one strange thing... When I boot to Vista this way EasyBCD freaks out and thinks I'm using XP not Vista. Vista works fine in all other aspects (sees my partitions correctly). Weird, but food for thought.
 

mqudsi

Mostly Harmless
Staff member
#2
Can you please explain exactly does this mean?
When I boot to Vista this way EasyBCD freaks out and thinks I'm using XP not Vista.
Also, what happens if you completely remove GRUB from the MBR (so that at boot you ONLY see the Vista bootloader), and install GRUB to another *partition* and add it with EasyBCD's Linux option? (Forgive me if you mentioned this elsewhere, too many threads to keep track of!)

BTW, thanks for opening a new thread and clearly explaining the problem.. You are to be commended :smile:
 
#3
I've tried and tried to get the Vista Boot Manager to boot Linux using EasyBCD. You tried to help me in a separate thread, but I didn't have any luck.

http://neosmart.net/forums/index.php?gettopic=340

I think the Vista Boot Manager has issues when it is installed on a separate physical drive than the one Linux is on. In my case, Vista is on my Sata Raid, and Linux is on a 40gb IDE drive. But that other thread goes into all of that.

So, right now I boot using Grub on my IDE Drive, I can boot to Linux or choose the Vista Boot Loader (Where I actually have to choose again between Vista or XP). This isn't the ideal situation, I would much rather have one boot menu with Vista, XP, and Linux on it. I've attached a screenshot of the error I get if I boot to Vista via Grub.

Mind you, I only get this error if I boot using my IDE drive. If I change the BIOS to boot directly to my Raid Drive, I don't have any problems with EasyBCD. It seems very strange, because Vista acts perfectly normal other than EasyBCD thinking I'm using XP when I'm really in Vista.

I think that Grub is somehow using the old XP boot.ini which jumpstarts the Vista Boot Manager (but that is just a guess).
 

Attachments

mqudsi

Mostly Harmless
Staff member
#4
Can you do this for me?
Boot into Vista such that you get an error from EasyBCD.
Open a CMD window:
Code:
cd c:\program files\neosmart technologies\
easybcd\bcdedit.exe
What does the screen display? Can you cut and paste that below?

Thanks!
 
#5
Sure thing :smile:

Interesting error. I even made sure that I ran the command prompt as administrator. Maybe Vista knows that it doesn't have control of the boot process and therefore refuses access to bcdedit? Or maybe booting to vista like this is just asking for a OS meltdown and I should go back to booting from the Vista boot manager. LOL!
 

Attachments

mqudsi

Mostly Harmless
Staff member
#6
OK, this is caused by changing the active partition number, I guess that's what GRUB is doing.

Isn't there a GRUB command that makes the partition you are booting into the root or something?

Can you please gimme a code box with the contents of your GRUB file?
 

mqudsi

Mostly Harmless
Staff member
#7
OK, remove the makeactive and the rootnoverify lines from GRUB - that should take care of the error you're seeing.
 
#8
Sorry it took me so long to respond. Work, and work around the house has keep me busy. It turns out the grub menu.list I was using also wouldn't boot XP (although Vista booted). I've added a couple map lines, and now everthing works great. Both XP and Vista boot from the Windows boot manager when I choose it, and I don't have any problems with EasyBCD in Vista (so everything seems fine now). I'm wondering, if I need to reverse the map commands for my Linux entry in grub to get EasyBCD to boot Linux for me? Here is my menu.lst as modified:

Code:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,1)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img

#boot=/dev/hda2
default=0
timeout=5
splashimage=(hd0,1)/grub/amd64.xpm.gz
#hiddenmenu

title Windows Vista and Windows XP
	map (hd0) (hd1)
	map (hd1) (hd0)
	rootnoverify (hd1,0)
	chainloader +1

title Fedora Core (2.6.18-1.2798.fc6)
	root (hd0,1)
	kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=/dev/VolGroup00/LogVol00 rhgb quiet vga=795
	initrd /initrd-2.6.18-1.2798.fc6.img
 

mqudsi

Mostly Harmless
Staff member
#9
So you had to use map commands to get the EasyBCD problem to go away?
 
#10
Yup,

With the map commands in there, EasyBCD works fine (and XP boots fine). When I booted from the IDE drive, I guess the Windows boot manager didn't like the bios changing the HD order, but with the map commands in there, the drive is remapped to the position it was when Vista was installed (so the boot manager stays happy). I guess I could have changed the boot.ini for XP to read rdisk(1) pointing to the second harddrive. Then created a new Vista entry using BCDEDIT which pointed to the second harddrive, but this seemed like a much easier solution. I just wish I could get EasyBCD to tripple boot all of them from the Windows Boot Manager. BCDEDIT doesn't have anything similar to the grub map command does it? :smile:
 

mqudsi

Mostly Harmless
Staff member
#11
actually with NeoGrub, you can use map :smile: