Grub refuses to boot Windows 7...

Questions about Grub, UEFI,the liveCD and the installer
Forum rules
Before you post please read how to get help

Grub refuses to boot Windows 7...

Postby gosa on Sat Dec 01, 2012 4:52 pm

Hi all,

First of all - I know that I'm probably a bit wrong talking about Grub doing the booting, but for lack of better expressions I'll head right to the problem...

First - the computer in question:
Desktop rig with a Core i7 860 on an Asus P7P55D motherboard and 8GB's of RAM. I have various drives connected to it, but the two drives that are involved here are two similar 500GB WD's connected to SATA1 & SATA3.

The Problem:
My install of Linux Mint 13 (Cinnamon version) resides on SATA1 - "/dev/sda" and my install of Windows 7 resides on SATA3 - "/dev/sdb" (See screenshots on how it looks in Gparted below) The computer is set - in BIOS - to boot from the drive with Linux Mint.

Now - Up until recently I haven't had any problems at all adding the Windows disk to Grub and just choose "Windows 7 loader on /dev/sdb1" in grub boot menu, but after I erased my Windows drive the other day to start over with a new install all I get is a black screen when making the same choice (I've updated grub after). It's like grub never "calls" the Windows install even though it's supposed to do that. On the other hand - if I make changes in BIOS to boot directly from my windows drive everything works like it's supposed to.

I've checked my Windows disk both from within Windows - or well... by running chkdsk at boot and from my Mint install. I've also tried the startup repair from the Windows 7 dvd with no errors found.

So - how can I move on? Is there any way to try to figure out what goes wrong? I know that when booting a Linux install I can change the corresponding line in grub to show everything that happens by removing the "quiet" part, but is there any way I can do this with the line handing over to Windows?

Here's my grub:
Code: Select all
#
# 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 video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root ece60858-78b5-4acc-978b-3f8564743974
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_msdos
  insmod ext2
  set root='(hd0,msdos2)'
  search --no-floppy --fs-uuid --set=root ece60858-78b5-4acc-978b-3f8564743974
  set locale_dir=($root)/boot/grub/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
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/06_mint_theme ###
set menu_color_normal=white/black
set menu_color_highlight=white/light-gray
### END /etc/grub.d/06_mint_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
   set gfxpayload="$1"
   if [ "$1" = "keep" ]; then
      set vt_handoff=vt.handoff=7
   else
      set vt_handoff=
   fi
}
if [ ${recordfail} != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Linux Mint 13 Cinnamon 32-bit, 3.4.0-030400-generic-pae (/dev/sda2)' --class linuxmint --class gnu-linux --class gnu --class os {
   recordfail
   gfxmode $linux_gfx_mode
   insmod gzio
   insmod part_msdos
   insmod ext2
   set root='(hd0,msdos2)'
   search --no-floppy --fs-uuid --set=root ece60858-78b5-4acc-978b-3f8564743974
   linux   /boot/vmlinuz-3.4.0-030400-generic-pae root=UUID=ece60858-78b5-4acc-978b-3f8564743974 ro   quiet splash nomodeset nouveau.modeset=0 $vt_handoff
   initrd   /boot/initrd.img-3.4.0-030400-generic-pae
}
menuentry 'Linux Mint 13 Cinnamon 32-bit, 3.4.0-030400-generic-pae (/dev/sda2) -- recovery mode' --class linuxmint --class gnu-linux --class gnu --class os {
   recordfail
   insmod gzio
   insmod part_msdos
   insmod ext2
   set root='(hd0,msdos2)'
   search --no-floppy --fs-uuid --set=root ece60858-78b5-4acc-978b-3f8564743974
   echo   'Loading Linux 3.4.0-030400-generic-pae ...'
   linux   /boot/vmlinuz-3.4.0-030400-generic-pae root=UUID=ece60858-78b5-4acc-978b-3f8564743974 ro recovery nomodeset
   echo   'Loading initial ramdisk ...'
   initrd   /boot/initrd.img-3.4.0-030400-generic-pae
}
submenu "Previous Linux versions" {
menuentry 'Linux Mint 13 Cinnamon 32-bit, 3.2.0-31-generic (/dev/sda2)' --class linuxmint --class gnu-linux --class gnu --class os {
   recordfail
   gfxmode $linux_gfx_mode
   insmod gzio
   insmod part_msdos
   insmod ext2
   set root='(hd0,msdos2)'
   search --no-floppy --fs-uuid --set=root ece60858-78b5-4acc-978b-3f8564743974
   linux   /boot/vmlinuz-3.2.0-31-generic root=UUID=ece60858-78b5-4acc-978b-3f8564743974 ro   quiet splash nomodeset nouveau.modeset=0 $vt_handoff
   initrd   /boot/initrd.img-3.2.0-31-generic
}
menuentry 'Linux Mint 13 Cinnamon 32-bit, 3.2.0-31-generic (/dev/sda2) -- recovery mode' --class linuxmint --class gnu-linux --class gnu --class os {
   recordfail
   insmod gzio
   insmod part_msdos
   insmod ext2
   set root='(hd0,msdos2)'
   search --no-floppy --fs-uuid --set=root ece60858-78b5-4acc-978b-3f8564743974
   echo   'Loading Linux 3.2.0-31-generic ...'
   linux   /boot/vmlinuz-3.2.0-31-generic root=UUID=ece60858-78b5-4acc-978b-3f8564743974 ro recovery nomodeset
   echo   'Loading initial ramdisk ...'
   initrd   /boot/initrd.img-3.2.0-31-generic
}
menuentry 'Linux Mint 13 Cinnamon 32-bit, 3.2.0-23-generic (/dev/sda2)' --class linuxmint --class gnu-linux --class gnu --class os {
   recordfail
   gfxmode $linux_gfx_mode
   insmod gzio
   insmod part_msdos
   insmod ext2
   set root='(hd0,msdos2)'
   search --no-floppy --fs-uuid --set=root ece60858-78b5-4acc-978b-3f8564743974
   linux   /boot/vmlinuz-3.2.0-23-generic root=UUID=ece60858-78b5-4acc-978b-3f8564743974 ro   quiet splash nomodeset nouveau.modeset=0 $vt_handoff
   initrd   /boot/initrd.img-3.2.0-23-generic
}
menuentry 'Linux Mint 13 Cinnamon 32-bit, 3.2.0-23-generic (/dev/sda2) -- recovery mode' --class linuxmint --class gnu-linux --class gnu --class os {
   recordfail
   insmod gzio
   insmod part_msdos
   insmod ext2
   set root='(hd0,msdos2)'
   search --no-floppy --fs-uuid --set=root ece60858-78b5-4acc-978b-3f8564743974
   echo   'Loading Linux 3.2.0-23-generic ...'
   linux   /boot/vmlinuz-3.2.0-23-generic root=UUID=ece60858-78b5-4acc-978b-3f8564743974 ro recovery nomodeset
   echo   'Loading initial ramdisk ...'
   initrd   /boot/initrd.img-3.2.0-23-generic
}
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/10_lupin ###
### END /etc/grub.d/10_lupin ###

### 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,msdos2)'
   search --no-floppy --fs-uuid --set=root ece60858-78b5-4acc-978b-3f8564743974
   linux16   /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
   insmod part_msdos
   insmod ext2
   set root='(hd0,msdos2)'
   search --no-floppy --fs-uuid --set=root ece60858-78b5-4acc-978b-3f8564743974
   linux16   /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sdb1)" --class windows --class os {
   insmod part_msdos
   insmod ntfs
   set root='(hd1,msdos1)'
   search --no-floppy --fs-uuid --set=root 2868F8AA68F877C0
   chainloader +1
}
### 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 ###


And here is how it looks in Gparted - The Linux Mint install:
LM13.png
Linux Mint 13
LM13.png (46.38 KiB) Viewed 149 times

And the Windows 7 install:
Win7.png
Windows 7
Win7.png (42.28 KiB) Viewed 149 times


Ideas, anyone?

Thanks in advance,
/gosa
gosa
Level 4
Level 4
 
Posts: 304
Joined: Mon Nov 01, 2010 5:12 am
Location: Spain

Linux Mint is funded by ads and donations.
 

Return to Installation & Boot

Who is online

Users browsing this forum: No registered users and 19 guests