PDA

View Full Version : [ubuntu] Installed ubuntu now can't boot windows 7! aaagh!



DanielOJ
February 13th, 2011, 10:51 PM
HI everyone, not a total linux newbie, had a box setup running opensuse a few years ago. Decided to come back to the linux scene and chose ubuntu.

Was hoping to dual boot with windows 7, all sounded rather straight forward after reading a few articles on the internet. Installation was easy enough, used the side-by-side basic method, on the correct harddrive (writing over a drive with windows xp on)

Now when I start my system up, It boots straight to ubuntu, and when I hold down shift to load GRUB, there's no sign of windows 7 anywhere! All the files are still on the drive so it's not a total panic.

But I can't work out why it won't boot. I ran the boot info script and these were the results, any help would be hugely appreciated!


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.
=> No boot loader is installed in the MBR of /dev/sdb

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: -
Boot sector info:

sda5: __________________________________________________ _______________________

File system: swap
Boot sector type: -
Boot sector info:

sdb1: __________________________________________________ _______________________

File system: ntfs
Boot sector type: Windows Vista/7
Boot sector info: No errors found in the Boot Parameter Block.
Operating System: Windows 7
Boot files/dirs: /Windows/System32/winload.exe

=========================== Drive/Partition Info: =============================

Drive: sda ___________________ __________________________________________________ ___

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 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 476,407,807 476,405,760 83 Linux
/dev/sda2 476,409,854 488,396,799 11,986,946 5 Extended
/dev/sda5 476,409,856 488,396,799 11,986,944 82 Linux swap / Solaris


Drive: sdb ___________________ __________________________________________________ ___

Disk /dev/sdb: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 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 2,048 488,394,751 488,392,704 7 HPFS/NTFS


blkid -c /dev/null: __________________________________________________ __________

Device UUID TYPE LABEL

/dev/sda1 0032ad93-06ac-48c3-bed3-bce294407eab ext4
/dev/sda2: PTTYPE="dos"
/dev/sda5 cba3e75f-d61e-43bf-aa9b-d9b21d3c6843 swap
/dev/sda: PTTYPE="dos"
/dev/sdb1 E43E53913E535C1C ntfs
/dev/sdb: PTTYPE="dos"

============================ "mount | grep ^/dev output: ===========================

Device Mount_Point Type Options

/dev/sda1 / ext4 (rw,errors=remount-ro,commit=0)
/dev/sr0 /media/Repair disc Windows 7 32-bit udf (ro,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000, iocharset=utf8,umask=0077)
/dev/sdb1 /media/E43E53913E535C1C fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_ permissions)


=========================== 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 0032ad93-06ac-48c3-bed3-bce294407eab
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 0032ad93-06ac-48c3-bed3-bce294407eab
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-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 0032ad93-06ac-48c3-bed3-bce294407eab
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=0032ad93-06ac-48c3-bed3-bce294407eab ro splash 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 0032ad93-06ac-48c3-bed3-bce294407eab
echo 'Loading Linux 2.6.35-22-generic ...'
linux /boot/vmlinuz-2.6.35-22-generic root=UUID=0032ad93-06ac-48c3-bed3-bce294407eab ro single splash
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 0032ad93-06ac-48c3-bed3-bce294407eab
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 0032ad93-06ac-48c3-bed3-bce294407eab
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 ###

=============================== 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
# / was on /dev/sda1 during installation
UUID=0032ad93-06ac-48c3-bed3-bce294407eab / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=cba3e75f-d61e-43bf-aa9b-d9b21d3c6843 none swap sw 0 0

=================== sda1: Location of files loaded by Grub: ===================


60.2GB: boot/grub/core.img
53.8GB: boot/grub/grub.cfg
.7GB: boot/initrd.img-2.6.35-22-generic
60.2GB: boot/vmlinuz-2.6.35-22-generic
.7GB: initrd.img
60.2GB: vmlinuz

Jlayman
February 13th, 2011, 11:07 PM
oops

Quackers
February 13th, 2011, 11:08 PM
You appear to have 2 hard drives, sda (with Ubuntu 10.10 on it) and sdb (with Windows 7 on it).
You appear to have Windows' first 2 boot files missing. It is possible that they may have been installed to sda1 at some time, or in some kind of recovery partition, which has now gone. Either way you will need to replace those boot files.
I would suggest using gparted to create a boot flag on the sdb1 partition, then set your bios to boot from the second hard drive, then boot from a Windows 7 repair disc (or installation disc) and run

bootrec.exe /fixmbr
from the command prompt in the recovery environment.

If you prefer, the boot flag can also be installed from the command prompt in the recovery environment with the following commands

diskpart
select disk 1
select partition 1
active
exit

entering one command at a time and pressing enter after each line.

At this point you can run the above fixmbr command and reboot.
Windows should now boot directly - make sure that it boots ok.

If it does, go back into your bios and make the first hard drive the first bootable device and reboot.
When Ubuntu loads directly, run

sudo update-grub
in a terminal and watch to see if the Windows Loader is picked up.
If it is, reboot and choose Windows from your new grub menu.

Quackers
February 13th, 2011, 11:19 PM
Can I ask what machine you are running please?

DanielOJ
February 13th, 2011, 11:29 PM
You appear to have 2 hard drives, sda (with Ubuntu 10.10 on it) and sdb (with Windows 7 on it).
You appear to have Windows' first 2 boot files missing. It is possible that they may have been installed to sda1 at some time, or in some kind of recovery partition, which has now gone. Either way you will need to replace those boot files.
I would suggest using gparted to create a boot flag on the sdb1 partition, then set your bios to boot from the second hard drive, then boot from a Windows 7 repair disc (or installation disc) and run

bootrec.exe /fixmbr
from the command prompt in the recovery environment.

If you prefer, the boot flag can also be installed from the command prompt in the recovery environment with the following commands

diskpart
select disk 1
select partition 1
active
exit

entering one command at a time and pressing enter after each line.

At this point you can run the above fixmbr command and reboot.
Windows should now boot directly - make sure that it boots ok.

If it does, go back into your bios and make the first hard drive the first bootable device and reboot.
When Ubuntu loads directly, run

sudo update-grub
in a terminal and watch to see if the Windows Loader is picked up.
If it is, reboot and choose Windows from your new grub menu.

Thanks! I haven't tried it out yet as I'm going to fully back the windows hard drive up tomorrow just to be doubly sure. It's exactly the type of solution I was hoping for though, hopefully it works!

And I'm running a custom set up, p7p55d mobo with core i5 and ripjaw RAM and standard seagate hdds. Not a single problem til now.. and that's probably down to human error on my behalf!

Quackers
February 13th, 2011, 11:34 PM
Ok thanks.
Any problems just ask here.
There are many who can answer any questions you may need to ask.