Page 1 of 1

Ubuntu 9.10 beta + WinXP + GRUB2 = Error

Posted: Thu Oct 15, 2009 9:31 pm
by eco2geek
After installing the Ubuntu 9.10 beta and trying to start Windows XP from GRUB2, an interesting error message (from Windows) popped up:

Windows could not start because the following file is missing or corrupt:
<Windows root>\system32\ntoskrnl.exe
Please re-install a copy of the above file.


I can assure you that c:\windows\system32\ntoskrnl.exe was definitely neither missing nor corrupt. Fortunately, I had a boot floppy with "legacy GRUB" on it to boot from and had no problem booting into Windows that way.

I tried following recommended procedures, such as using the "os-prober" utility, to try to get GRUB2 to boot into Windows, but all I got was the same error message as above. When I tried booting into Windows from the GRUB2 command line, I got the same error message.

Although I could have installed legacy GRUB on Karmic, I installed Mint 7 instead. I hope Mint keeps legacy GRUB around for a while.

Re: Ubuntu 9.10 beta + WinXP + GRUB2 = Error

Posted: Fri Oct 16, 2009 11:06 am
by w8wca
You might check your grub's menu.lst file and see if the windows area has:

rootnoverify (hd0,0)
chainloader +1


That is if your windows xp is on the firsh partition of the first HD

Re: Ubuntu 9.10 beta + WinXP + GRUB2 = Error

Posted: Fri Oct 16, 2009 3:12 pm
by AK Dave
I'm a creature of habit. By habit, I put linux swap on the first partition of EACH hard drive that I install into a linux system. A bootable partition comes second. Looks like I'm covered, since this GRUB2/XP error seems to be prevalent when XP is on the first partition. Not a problem for me! :D

Re: Ubuntu 9.10 beta + WinXP + GRUB2 = Error

Posted: Fri Oct 16, 2009 5:09 pm
by eco2geek
w8wca wrote:You might check your grub's menu.lst file and see if the windows area has:

rootnoverify (hd0,0)
chainloader +1


That is if your windows xp is on the firsh partition of the first HD
Since it's GRUB2 rather than legacy GRUB, there's no menu.lst any more. However, the GRUB2 commands

set root=(hd0,1) (Note: rather than legacy GRUB's (hd0,0) )
chainloader +1

in /boot/grub/grub.cfg still ought to boot into XP, Vista, or Win7 if it's on the first partition of the first ATA hard drive. Only it doesn't, on this particular computer.

<edit> With Ubuntu updated to current (which included at least one update to the "grub-pc" package) on another computer, GRUB2 gives this startling warning message when installed to a partition (rather than the MBR):

grub-setup: warn: Attempting to install GRUB to a partition instead of the MBR. This is a BAD idea.
grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and its use is discouraged.


After chainloading into GRUB2 and choosing WinXP, it boots fine on this computer.