Dual booting on separate hard drives
I have windows XP professional installed on 1 hard drive and Ubuntu 10.10 on my second hard drive. On start up the computer completely skips the grub menu and boots straight into 10.10.
I have tried running os-prober with the windows hard drive mounted and then updating grub but it didnt work.
Any ideas?
I have changed the boot order so that the HDD with xp on it is first however the computer still booted into linux.
I tried running grub-install /dev/sda and got this
/usr/sbin/grub-setup: warn: Sector 32 is already in use by FlexNet; avoiding it. This software may cause boot or other problems in future. Please ask its authors not to store data in the boot track..
/usr/sbin/grub-setup: warn: Sector 33 is already in use by FlexNet; avoiding it. This software may cause boot or other problems in future. Please ask its authors not to store data in the boot track..
Installation finished. No error reported
I checked using disk utility and the code for my xp hard drive is sdb so i ran the camand grub-install /dev/sdb shich gave me this
Installation finished. No error reported.
So i rebooted but it still didnt work.
Any other ideas?
Additional info
gedit /boot/grub/grub.cfg:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
insmod vbe
insmod vga
}
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.35-28-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
linux /boot/vmlinuz-2.6.35-28-generic root=UUID=d682c9bd-dd89-4827-9802-a1f921ebe21c ro quiet splash
initrd /boot/initrd.img-2.6.35-28-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-28-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
echo 'Loading Linux 2.6.35-28-generic ...'
linux /boot/vmlinuz-2.6.35-28-generic root=UUID=d682c9bd-dd89-4827-9802-a1f921ebe21c ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.35-28-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=d682c9bd-dd89-4827-9802-a1f921ebe21c ro quiet splash
initrd /boot/initrd.img-2.6.35-22-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-22-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
echo 'Loading Linux 2.6.35-22-generic ...'
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=d682c9bd-dd89-4827-9802-a1f921ebe21c ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.35-22-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
if [ "x${timeout}" != "x-1" ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep --interruptible 3 ; then
set timeout=0
fi
fi
fi
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
sudo fdisk -l:
Disk /dev/sda: 80.1 GB, 80060424192 bytes
255 heads, 63 sectors/track, 9733 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008a483
Device Boot Start End Blocks Id System
/dev/sda1 * 1 9352 75112448 83 Linux
/dev/sda2 9352 9734 3068929 5 Extended
/dev/sda5 9352 9734 3068928 82 Linux swap / Solaris
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc5d6c5d6
Device Boot Start End Blocks Id System
/dev/sdb1 1 60800 488375968+ 7 HPFS/NTFS
sudo blkid
/dev/sda1: UUID="d682c9bd-dd89-4827-9802-a1f921ebe21c" TYPE="ext4"
/dev/sda5: UUID="09e9c2cb-d903-4f0b-a181-536951845231" TYPE="swap"
/dev/sdb1: UUID="B21844EB1844AFE1" TYPE="ntfs"
sudo os-prober
(nothing)
Boot Info Script 0.55 dated February 15th, 2010
============================= Boot Info Summary: ==============================
=> Grub 2 is installed in the MBR of /dev/sda and looks on the same drive in
partition #1 for (,msdos1)/boot/grub.
=> Grub 2 is installed in the MBR of /dev/sdb and looks on the same drive in
partition #1 for (,msdos1)/boot/grub.
sda1: _________________________________________________________________________
File system: ext4
Boot sector type: -
Boot sector info:
Operating System: Ubuntu 10.10
Boot files/dirs: /boot/grub/grub.cfg /etc/fstab /boot/grub/core.img
sda2: _________________________________________________________________________
File system: Extended Partition
Boot sector type: Unknown
Boot sector info:
sda5: _________________________________________________________________________
File system: swap
Boot sector type: -
Boot sector info:
sdb1: _________________________________________________________________________
File system: ntfs
Boot sector type: Windows XP
Boot sector info: No errors found in the Boot Parameter Block.
Operating System: Windows XP
Boot files/dirs:
=========================== Drive/Partition Info: =============================
Drive: sda ___________________ _____________________________________________________
Disk /dev/sda: 80.1 GB, 80060424192 bytes
255 heads, 63 sectors/track, 9733 cylinders, total 156368016 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
Partition Boot Start End Size Id System
/dev/sda1 * 2,048 150,226,943 150,224,896 83 Linux
/dev/sda2 150,228,990 156,366,847 6,137,858 5 Extended
/dev/sda5 150,228,992 156,366,847 6,137,856 82 Linux swap / Solaris
Drive: sdb ___________________ _____________________________________________________
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
Partition Boot Start End Size Id System
/dev/sdb1 * 63 976,751,999 976,751,937 7 HPFS/NTFS
blkid -c /dev/null: ____________________________________________________________
Device UUID TYPE LABEL
/dev/sda1 d682c9bd-dd89-4827-9802-a1f921ebe21c ext4
/dev/sda2: PTTYPE="dos"
/dev/sda5 09e9c2cb-d903-4f0b-a181-536951845231 swap
/dev/sda: PTTYPE="dos"
/dev/sdb1 B21844EB1844AFE1 ntfs
/dev/sdb: PTTYPE="dos"
============================ "mount | grep ^/dev output: ===========================
Device Mount_Point Type Options
/dev/sda1 / ext4 (rw,errors=remount-ro,commit=0)
=========================== sda1/boot/grub/grub.cfg: ===========================
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
insmod vbe
insmod vga
}
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.35-28-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
linux /boot/vmlinuz-2.6.35-28-generic root=UUID=d682c9bd-dd89-4827-9802-a1f921ebe21c ro quiet splash
initrd /boot/initrd.img-2.6.35-28-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-28-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
echo 'Loading Linux 2.6.35-28-generic ...'
linux /boot/vmlinuz-2.6.35-28-generic root=UUID=d682c9bd-dd89-4827-9802-a1f921ebe21c ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.35-28-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=d682c9bd-dd89-4827-9802-a1f921ebe21c ro quiet splash
initrd /boot/initrd.img-2.6.35-22-generic
}
menuentry 'Ubuntu, with Linux 2.6.35-22-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
echo 'Loading Linux 2.6.35-22-generic ...'
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=d682c9bd-dd89-4827-9802-a1f921ebe21c ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.35-22-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set d682c9bd-dd89-4827-9802-a1f921ebe21c
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
if [ "x${timeout}" != "x-1" ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep --interruptible 3 ; then
set timeout=0
fi
fi
fi
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Windows XP" {
set root=(hd1,1)
chainloader (hd1,1)+1
}
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
=============================== sda1/etc/fstab: ===============================
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
/dev/sda1 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=09e9c2cb-d903-4f0b-a181-536951845231 none swap sw 0 0
=================== sda1: Location of files loaded by Grub: ===================
51.7GB: boot/grub/core.img
58.5GB: boot/grub/grub.cfg
1.2GB: boot/initrd.img-2.6.35-22-generic
1.3GB: boot/initrd.img-2.6.35-28-generic
58.2GB: boot/vmlinuz-2.6.35-22-generic
51.7GB: boot/vmlinuz-2.6.35-28-generic
1.3GB: initrd.img
1.2GB: initrd.img.old
51.7GB: vmlinuz
58.2GB: vmlinuz.old
=========================== Unknown MBRs/Boot Sectors/etc =======================
Unknown BootLoader on sda2
00000000 d9 ed 13 ab ff a8 33 8c 01 b2 47 99 e1 4a b1 f1 |......3...G..J..|
00000010 69 5f a7 29 a4 1a 03 9e 31 b9 45 02 71 e6 58 78 |i_.)....1.E.q.Xx|
00000020 3d f6 ee 7b 3e 33 1b 82 c6 7d cf 1a c8 e7 bc 2f |=..{>3...}...../|
00000030 b9 e1 70 75 cf 18 aa e7 d5 7e 3c f1 b4 e7 9e 3a |..pu.....~<....:|
00000040 55 38 f1 b4 ee 78 59 0b 5e f7 3c 4c 57 73 9c 2a |U8...xY.^.<LWs.*|
00000050 28 f1 19 ed 11 9c b2 19 e2 80 92 1c 7b 84 ee 0b |(...........{...|
00000060 e2 c0 ac af 0a 50 42 b9 cf 0c dc 2c 20 77 85 dc |.....PB...., w..|
00000070 8f 70 5f 7b 84 9b a1 f7 8c 2d ee 70 5c ae f7 39 |.p_{.....-.p\..9|
00000080 63 f7 09 8a ec 79 4c ed 9f cc ad 3c f8 1b 47 7d |c....yL....<..G}|
00000090 3f 97 d5 16 cb 29 45 38 25 61 36 08 de 10 93 0f |?....)E8%a6.....|
000000a0 95 4f ea 54 f9 89 ff f1 bf 9a cc bb fd b6 22 b1 |.O.T..........".|
000000b0 65 08 05 21 78 19 46 b0 24 7e fb de d4 b3 ba d6 |e..!x.F.$~......|
000000c0 ec 11 65 82 ee 10 1d 12 04 91 da 6d 67 47 ea 9b |..e........mgG..|
000000d0 6f b0 aa fb cb 67 10 64 86 e8 26 85 fb f9 50 77 |o....g.d..&...Pw|
000000e0 9d 13 9b 9e d9 11 f3 a1 50 1b 11 b7 93 79 9f ab |........P....y..|
000000f0 c1 b6 86 0f 35 ed d4 9f dc f8 db bd ed 45 3a 68 |....5........E:h|
00000100 54 68 4a 1d d1 fc b8 c9 72 b4 d7 7b 60 e7 39 2f |ThJ.....r..{`.9/|
00000110 2a 0a 4e 52 72 52 c6 e2 2a 55 6a 2a e1 82 40 71 |*.NRrR..*Uj*..@q|
00000120 11 11 e0 53 d6 ff 1b a9 c6 65 df 1e b7 15 6f a2 |...S.....e....o.|
00000130 15 02 a4 6d 19 b7 78 57 a6 ee 9e 36 08 7d 6f 7c |...m..xW...6.}o||
00000140 fd f7 7c d5 40 ff 0f c7 97 dc aa 00 ce 8b bb dc |..|.@...........|
00000150 e2 eb 1c 50 74 d8 14 cc 9a d6 5c a2 ab f2 67 f9 |...Pt.....\...g.|
00000160 58 ed 43 79 0e 78 7a 5c a6 f8 7b e8 05 4e 62 8a |X.Cy.xz\..{..Nb.|
00000170 0a 5f 22 ee a6 38 b9 e1 32 45 97 08 cc 75 66 c6 |._"..8..2E...uf.|
00000180 b3 a2 2d 89 a1 e9 95 21 28 53 fd dd be b1 b2 a2 |..-....!(S......|
00000190 78 3f a3 c9 3d e3 31 54 88 cf 78 0d e1 21 a8 74 |x?..=.1T..x..!.t|
000001a0 06 60 9d 21 c6 7a 24 e1 cc 28 f8 98 e0 99 e3 fc |.`.!.z$..(......|
000001b0 fa 8b eb d5 56 03 20 b8 54 ba c6 ee 9f 57 00 fe |....V. .T....W..|
000001c0 ff ff 82 fe ff ff 02 00 00 00 00 a8 5d 00 00 00 |............]...|
000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.|
00000200
Grub must be installed in the hard drive that the computer boots, regardless of which OS you want to run. That means the hard drive that is set as 1st boot device in BIOS.
You BIOS is probably set up to boot your "2nd" hand drive, where Ubuntu might be the boot partition, thus completely skipping grub.
So, my hints are:
Go to your BIOS. Usually this means pressing DEL or F2, or some other key during boot. The right key depends on which computer / brand / model you have. Usually when the PC starts, there is text like "Press XXX for BIOS settings"
At BIOS setup screen, try to find your boot options. WHERE they are located also depends on your computer / brand / model. Make sure you choose your 1st hard drive as your 1st boot device. Save settings and quit.
-
Now, install grub in THAT hard drive (usually /dev/sda). Like this:
grub-install /dev/sda
If you cant boot ubuntu after switching the hard drive boot order, change back to previous settings (so you can boot Ubuntu back). Now your 1st hard drive (the one that has XP partition) might be
/dev/sbd
. Just use the above command replacing sda for sdb. Now go back to BIOS and change boot order again
If you need, i can give you more detailed instructions. Give me your computer (or motherboard) brand and model so i can guide you for BIOS keys and menus. Also, please post the contents of:
gedit /boot/grub/grub.cfg
sudo fdisk -l
sudo blkid
Hope that helps!
UPDATE:
From all the files you posted, I have 2 theories:
1 - grub-install warning suggests me that is actully NOT being installed. Read HERE for a great explanation about FlexNet and Grub. FlexNet looks like a licence manager, anty-piracy protection that writes data in the very MBR space grub uses for its multi-booting code. So you probably have some FlexNet-dependent software in your XP, and Grub refuses to overwrite it, thus refusing to install itself. The same link has info on how to fix that.
Without grub installed on MBR, your HD is booting the traditional way: the partition flagged as bootable in your 1st HD. That means Ubuntu (check fdisk's /dev/sda1 marked as boot partition)
2 - Also, your grub.cfg dow NOT show windows XP, as if os-prober didnt find it. (take a look at your ### BEGIN /etc/grub.d/30_os-prober ###
section. It should be something like this (just an example):
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sdb1)" {
savedefault
insmod part_msdos
insmod ntfs
set root='(hd1,msdos1)'
search --no-floppy --fs-uuid --set 485083315dc8e22a
drivemap -s (hd1) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
Instead, yours have no menuentry. Somehow grub did not "find" your XP parition when scanned your drives, or didnt think it was a valid OS.
Thus, as grub menu would have no OS other than Ubuntu, it automatically skips the menu and boots straight into your 1st (and only, acoording to him) OS. You could force grub to show the menu by holding SHIFT key right after the POST. But, again, it would only have Ubuntu (and memtest, and previous kernel, and recovery mode), but not XP.
So, either grub is not installed (it resuses to do so when it finds FlexNet and silently aborts), or it is installed, but since it has only Ubuntu, it bypasses the menu. Or both. Any would make Ubuntu to boot.
Now lets check and fix both theories:
1
Is grub actually installed on
/dev/sda
? Keep SHIFT pressed on boot, and menu will show up instead of being bypassed. If it doesnt show up, grub is not actually installed. Do so by removing FlexNet code from MBR (the same link above have instructions on how) . Then install grub and check if there is no warning.Remember that wiping FlexNet from MBR will make its dependent software fail to work
2
Is your XP install a valid one? Can it boot without grub, in a single-OS enviroment? Somehow grub's OS Prober didnt think so. Lets test it then:
In Ubuntu, use gParted to mark its partition as BOOT (right-click partition -> Flags -> check BOOT)
-
Also, try to mount your XP partiton (double-click on it in Nautilus) and check if its OK. Take a look at its
boot.ini
file. Should be something like:[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer
Disconnect the Ubuntu HD. Leave only the XP one. Set BIOS to boot it. Try to see if XP works (it prolly wont yet, but who knows?)
Using any Windows bootable CD / USB / Floppy, use windows (NOT linux!)
fdisk /mbr
to wipe grub of it. Do not fear, grub is only needed in /dev/sda, your 1st hard drive, and since this will be back to /dev/sdb when this is over, grub is not needed on that HD.Try now. It should work. Nope? Then use a XP boot CD to repair that install. If that is your only connected HD and XP is the sole OS, partition marked as boot, with a cleaned-up MBR and repaired install, it must boot, or else later grub wont be able to help you much...
It works? Cool! Connect the other (Ubuntu) HD back, set it up as before (as boot HD in BIOS), launch Ubuntu and run grub-install /dev/sda
again. OS prober should detect XP now, and with 2 OSes in its list, menu will show up at boot.
Wow, that was a long answer. You have quite a lot of homework to do . I hope it all works. Good luck!
sdb1: ______________________________________________________________________
File system: ntfs
Boot sector type: Windows XP
Boot sector info: No errors found in the Boot Parameter Block.
Operating System: Windows XP
Boot files/dirs:
The above section is from your boot info script output. For a working Windows XP installation that last line should be
Boot files/dirs: /boot.ini /ntldr /NTDETECT.COM
Your Windows partition does not appear to have files necessary for Windows to boot. This is why os-prober is not detecting any Windows install, and it also means that there is nothing that can be done from GRUB to make Windows boot.
Without knowing more about why those files are missing I can't help much with fixing the problem. Do you have any idea why they are missing?