Can't boot to Windows

Asked by Fredagar on 2007-05-20

Ok, I installed Ubuntu 7.04 i386. After some problems and lots of searching I found that my drive needed to be manually set. Once done grub comes up and Ubuntu boots fine. My problem is that I can't get into windows. I get the error "ntldr missing or corrupted". I have a feeling that grub menu.lst is just not pointing to the right drive, I am including the output of that file and also /etc/fstab. I have Ubuntu installed on hda and Windows installed on sda. Any and all help would be greatly appreciated.
If you need more information, please let me know.


# /etc/fstab: static file system information.
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# /dev/hda2
UUID=8b5480c6-bdf4-4a98-8b76-8921e045ad9e / ext3 defaults,errors=remount-ro 0 1
# /dev/hdc1
UUID=067CCCE97CCCD519 /media/hdc1 ntfs defaults,nls=utf8,umask=007,gid=46 0 1
# /dev/hdd1
UUID=5CF48029F480078A /media/hdd1 ntfs defaults,nls=utf8,umask=007,gid=46 0 1
# /dev/sda1
UUID=4A50F6F350F6E49B /media/sda1 ntfs defaults,nls=utf8,umask=007,gid=46 0 1
# /dev/sdb1
UUID=60BCFE31BCFE0178 /media/sdb1 ntfs defaults,nls=utf8,umask=007,gid=46 0 1
# /dev/sdb2
UUID=6E8861E78861ADF1 /media/sdb2 ntfs defaults,nls=utf8,umask=007,gid=46 0 1
# /dev/sdc1
UUID=2064450D6444E6DE /media/sdc1 ntfs defaults,nls=utf8,umask=007,gid=46 0 1
# /dev/hda1
UUID=f24d4be3-b1f8-40aa-888b-b7a0ab9f09e2 none swap sw 0 0
/dev/hdb /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/scd0 /media/cdrom1 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

title Ubuntu, kernel 2.6.20-15-generic
root (hd0,1)
kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=8b5480c6-bdf4-4a98-8b76-8921e045ad9e ro quiet splash
initrd /boot/initrd.img-2.6.20-15-generic

title Ubuntu, kernel 2.6.20-15-generic (recovery mode)
root (hd0,1)
kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=8b5480c6-bdf4-4a98-8b76-8921e045ad9e ro single
initrd /boot/initrd.img-2.6.20-15-generic

title Ubuntu, memtest86+
root (hd0,1)
kernel /boot/memtest86+.bin


# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Microsoft Windows XP Professional
root (hd3,0)
map (hd0) (hd3)
map (hd3) (hd0)
chainloader +1

Ralph Janke (txwikinger) said : #1

Thanks for your question.

The error indicates a range of possible problems including missing files on the windows partitions or a corruption of it. Let's start with the grub configuration. I believe your Windows configuration in there is pointing to the wrong drive which could be a cause of this problem.

Try to change your configuration to the following

title Microsoft Windows XP Professional
 map (hd0) (hd3)
 map (hd3) (hd0)
 rootnoverify (hd0,0)
 chainloader +1

Since you remap the order of the drives for windows, windows is not on hd3 anymore, but on hd0. Therefore the root should be hd0 that the windows files can be found there. For windows it is generally better to use rootnoverify than root.

I hope this helps

Fredagar (fredagar) said : #2

Well I tried this fix, copied and pasted it exactly. No good, now I get error 13. Any other suggenstions?

Joepal (joepal1976) said : #3

Also, are you sure that grub really thinks the windows disk is hd3? Grub does odd things once in a while. The hd* things are actually based on bios information and does not necessarily have anything to do in which order the kernel discovers the /dev/hd* stuff.

Fortunately, grub has an interactive shell which can help a bit. For debugging, try:

* sudo grub
* (on prompt write) "setup (hd" and then press tab.

In the best of worlds this should give you a list of possible alternatives for disks and partitions.

Best Fredagar (fredagar) said : #4

Ok, so I have about given up on getting windows to boot from grub. I have tried so many things that my head is spinning. I did get windows to boot using super grub disk, but I don't know what it did or how to duplicate it. I would use super grub disk all the time but it takes way too long. I can boot to windows when I need to by changing the boot order in bios. Hopefully I won't need to use windows often enough to worry about it (I am getting a little more familiar with Ubuntu and Linux as I have to work out each task).
Thanks to all the help, and perhaps I will (in the future) give it a go again.

p.s. joepal, I tried the setup thing from a terminal and all that happened when I hit tab was a "tab" as in it just moved the cursor. I also tried it from grub at boot up and tab showed ALL of the drives. I'll read up on grub and dual boots more and hopefully I will get it.