Bug#631565: grub-pc: Windows menu entry does not set the chainloaded partition active

Jeffrey Sheinberg jeff at bsrd.net
Fri Jun 24 21:29:26 UTC 2011


Package: grub-pc
Version: 1.98+20100804-14
Severity: normal

Hi,

The parttool command is documented to be used to set a primary partition
as active.  Setting the Windows partition that grub is chainloading must
have the active flag set in order for Windows to boot properly.

Here is an example menu entry from the grub.cfg file which is missing
the parttool command to set the chainloaded partition as active,

    menuentry "Windows 7 (loader) (on /dev/sda2)" {
	    insmod part_msdos
	    insmod ntfs
	    set root='(hd0,msdos2)'
	    search --no-floppy --fs-uuid --set 9a0286ed0286cda7
	    chainloader +1
    }

--
Thanks,

Jeffrey Sheinberg


-- Package-specific info:

*********************** BEGIN /proc/mounts
/dev/sda7 / ext3 rw,relatime,grpid,data=ordered,jqfmt=vfsv0,usrjquota=aquota.user 0 0
/dev/sda8 /fs/dc ext3 rw,relatime,grpid,data=ordered,jqfmt=vfsv0,usrjquota=aquota.user 0 0
/dev/sda9 /fs/dh ext3 rw,relatime,grpid,data=ordered,jqfmt=vfsv0,usrjquota=aquota.user 0 0
*********************** END /proc/mounts

*********************** BEGIN /boot/grub/device.map
(hd0)	/dev/disk/by-id/ata-WDC_WD5000AAKS-75V0A0_WD-WCAWF0177971
(hd1)	/dev/disk/by-id/ata-WDC_WD5000AAKS-00V1A0_WD-WMAWF1203364
(hd2)	/dev/disk/by-id/usb-Kingston_DataTraveler_2.0_899801162008011514259E4E-0:0
*********************** END /boot/grub/device.map

*********************** BEGIN /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
  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 load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

terminal_input console
terminal_output console
set timeout=29
play 480 440 1
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 2.6.38-bpo.2-amd64' --class debian --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos7)'
	search --no-floppy --fs-uuid --set d19e208c-a52b-4988-b9d1-faf76e0ae559
	echo	'Loading Linux 2.6.38-bpo.2-amd64 ...'
	linux	/boot/vmlinuz-2.6.38-bpo.2-amd64 root=/dev/sda7 ro  
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.38-bpo.2-amd64
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64' --class debian --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos7)'
	search --no-floppy --fs-uuid --set d19e208c-a52b-4988-b9d1-faf76e0ae559
	echo	'Loading Linux 2.6.32-5-amd64 ...'
	linux	/boot/vmlinuz-2.6.32-5-amd64 root=/dev/sda7 ro  
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.32-5-amd64
}
### 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)" {
	linux16	/boot/memtest86.bin
}
### END /etc/grub.d/20_memtest86 ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos7)'
	search --no-floppy --fs-uuid --set d19e208c-a52b-4988-b9d1-faf76e0ae559
	linux16	/boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos7)'
	search --no-floppy --fs-uuid --set d19e208c-a52b-4988-b9d1-faf76e0ae559
	linux16	/boot/memtest86+.bin console=ttyS0,115200n8
}
menuentry "Memory test (memtest86+, experimental multiboot)" {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos7)'
	search --no-floppy --fs-uuid --set d19e208c-a52b-4988-b9d1-faf76e0ae559
	multiboot	/boot/memtest86+_multiboot.bin
}
menuentry "Memory test (memtest86+, serial console 115200, experimental multiboot)" {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos7)'
	search --no-floppy --fs-uuid --set d19e208c-a52b-4988-b9d1-faf76e0ae559
	multiboot	/boot/memtest86+_multiboot.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Debian GNU/Linux, with Linux 2.6.32-5-amd64 (on /dev/sda10)" {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos10)'
	search --no-floppy --fs-uuid --set e3fd53ab-0f8c-422c-b99e-cabfcad65068
	linux /boot/vmlinuz-2.6.32-5-amd64 root=/dev/sda7 ro
	initrd /boot/initrd.img-2.6.32-5-amd64
}
menuentry "Debian GNU/Linux, with Linux 2.6.32-5-686 (on /dev/sda10)" {
	insmod part_msdos
	insmod ext2
	set root='(hd0,msdos10)'
	search --no-floppy --fs-uuid --set e3fd53ab-0f8c-422c-b99e-cabfcad65068
	linux /boot/vmlinuz-2.6.32-5-686 root=/dev/sda7 ro
	initrd /boot/initrd.img-2.6.32-5-686
}
menuentry "Windows 7 (loader) (on /dev/sda2)" {
	insmod part_msdos
	insmod ntfs
	set root='(hd0,msdos2)'
	search --no-floppy --fs-uuid --set 9a0286ed0286cda7
	chainloader +1
}
menuentry "Debian GNU/Linux, with Linux 2.6.32-5-amd64 (on /dev/sdb10)" {
	insmod part_msdos
	insmod ext2
	set root='(hd1,msdos10)'
	search --no-floppy --fs-uuid --set e6730c78-dd18-482c-b693-bd5996d3fe78
	linux /boot/vmlinuz-2.6.32-5-amd64 root=/dev/sda7 ro
	initrd /boot/initrd.img-2.6.32-5-amd64
}
menuentry "Debian GNU/Linux, with Linux 2.6.32-5-686 (on /dev/sdb10)" {
	insmod part_msdos
	insmod ext2
	set root='(hd1,msdos10)'
	search --no-floppy --fs-uuid --set e6730c78-dd18-482c-b693-bd5996d3fe78
	linux /boot/vmlinuz-2.6.32-5-686 root=/dev/sda7 ro
	initrd /boot/initrd.img-2.6.32-5-686
}
menuentry "Windows 7 (loader) (on /dev/sdb2)" {
	insmod part_msdos
	insmod ntfs
	set root='(hd1,msdos2)'
	search --no-floppy --fs-uuid --set 9a0286ed0286cda7
	chainloader +1
}
menuentry "Debian GNU/Linux, with Linux 2.6.32-5-amd64 (on /dev/sdb7)" {
	insmod part_msdos
	insmod ext2
	set root='(hd1,msdos7)'
	search --no-floppy --fs-uuid --set 0d9545e8-22a8-4cb5-ad88-aadf1785c121
	linux /boot/vmlinuz-2.6.32-5-amd64 root=/dev/sda7 ro
	initrd /boot/initrd.img-2.6.32-5-amd64
}
menuentry "Debian GNU/Linux, with Linux 2.6.32-5-686 (on /dev/sdb7)" {
	insmod part_msdos
	insmod ext2
	set root='(hd1,msdos7)'
	search --no-floppy --fs-uuid --set 0d9545e8-22a8-4cb5-ad88-aadf1785c121
	linux /boot/vmlinuz-2.6.32-5-686 root=/dev/sda7 ro
	initrd /boot/initrd.img-2.6.32-5-686
}
### 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 ###
*********************** END /boot/grub/grub.cfg

-- System Information:
Debian Release: 6.0.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500, 'stable')
Architecture: i386 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages grub-pc depends on:
ii  debconf [debconf-2.0]   1.5.36.1         Debian configuration management sy
ii  grub-common             1.98+20100804-14 GRand Unified Bootloader, version 
ii  libc6                   2.11.2-10        Embedded GNU C Library: Shared lib
ii  libdevmapper1.02.1      2:1.02.48-5      The Linux Kernel Device Mapper use
ii  ucf                     3.0025+nmu1      Update Configuration File: preserv

grub-pc recommends no packages.

Versions of packages grub-pc suggests:
pn  desktop-base                  <none>     (no description available)

-- debconf information:
  grub2/kfreebsd_cmdline:
  grub2/device_map_regenerated:
* grub2/linux_cmdline:
* grub-pc/install_devices_empty: true
  grub-pc/install_devices_failed: false
* grub-pc/chainload_from_menu.lst: true
  grub-pc/kopt_extracted: true
* grub-pc/install_devices:
  grub-pc/postrm_purge_boot_grub: false
  grub-pc/install_devices_failed_upgrade: true
  grub-pc/disk_description:
  grub2/kfreebsd_cmdline_default: quiet
  grub-pc/partition_description:
  grub-pc/install_devices_disks_changed:
* grub2/linux_cmdline_default:
  grub-pc/mixed_legacy_and_grub2: true





More information about the Pkg-grub-devel mailing list