Bug#565486: grub-pc: can't boot from partition of higher number than partition beyond bios limit
Arthur Marsh
arthur.marsh at internode.on.net
Sat Jan 16 09:36:41 UTC 2010
Package: grub-pc
Version: 1.98~20100110-1
Severity: normal
I have both a 320 GB and a 40 GB hard disk (hda and hdb respectively) on a
machine with a BIOS that has a 32 GiB limit for seeing hard disks:
victoria:/home/amarsh04# fdisk -l /dev/hda
GNU Fdisk 1.2.3
Copyright (C) 1998 - 2006 Free Software Foundation, Inc.
This program is free software, covered by the GNU General Public License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Disk /dev/hda: 320 GB, 320070320640 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 1044 8385898 83 Linux
/dev/hda2 1045 38913 304174710 f Extended LBA
/dev/hda7 1045 34462 268422052 83 Linux
Warning: Partition 7 does not end on cylinder boundary.
/dev/hda6 34463 38639 33543720 1b Hidd FAT32
Warning: Partition 6 does not end on cylinder boundary.
/dev/hda5 38640 38913 2192872 82 Linux swap
Warning: Partition 5 does not end on cylinder boundary.
amarsh04 at victoria:~$ fdisk -l /dev/hdb
-bash: fdisk: command not found
amarsh04 at victoria:~$ su
Password:
victoria:/home/amarsh04# fdisk -l /dev/hdb
GNU Fdisk 1.2.3
Copyright (C) 1998 - 2006 Free Software Foundation, Inc.
This program is free software, covered by the GNU General Public License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Disk /dev/hdb: 40 GB, 40057113600 bytes
255 heads, 63 sectors/track, 4870 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 * 1 1785 14337981 1c Hidd FAT32 LBA
/dev/hdb2 1786 4040 18105255 f Extended LBA
/dev/hdb5 1786 3313 12265627 83 Linux
Warning: Partition 5 does not end on cylinder boundary.
/dev/hdb6 3314 3428 915705 82 Linux swap
Warning: Partition 6 does not end on cylinder boundary.
/dev/hdb7 3429 4040 4907857 1b Hidd FAT32
Warning: Partition 7 does not end on cylinder boundary.
/dev/hdb3 4041 4870 6658942 83 Linux
This version of grub already boots from the 320 GB hda disk by using a /boot
partition /hda1 that is within the 32GiB limit and has other higher numbered
partitions (hda5, hda6, hda7 within an extended LBA hda2), so it can boot
from a disk larger than what the BIOS can see, but I have the problem that
I can't boot from hdb5, as there is a lower numbered partition hdb3 that is
beyond the 32 GiB limit.
When at the grub prompt at boot-up, ls returns the following parts of the
second 40 GB hdb disk:
(hd1) (hd1,3) (hd1,1)
When I do an ls from grub-emu I see:
(hd0) (hd0,7) (hd0,6) (hd0,5) (hd0,1)
from the 320 GB hda disk and:
(hd1) (hd1,7) (hd1,6) (hd1,5) (hd1,3) (hd1,1)
from the 40 GB hdb disk.
ls (hd1,5) reports:
Partition hd1,5: Filesystem type ext2 - Last modification time 2010-01-1
3 08:21:48 Wednesday, UUID 026a3f5c-0064-4ae7-869e-519d2cee05e7
but when I attempt to boot using the kernel on this partition, I get a
messsage that the UUID listed above is not found.
-- Package-specific info:
*********************** BEGIN /proc/mounts
/dev/disk/by-uuid/96c96a61-8615-4715-86d0-09cb8c62638c / ext3 rw,relatime,errors=remount-ro,data=ordered 0 0
/dev/hda1 /boot ext3 rw,relatime,errors=continue,data=ordered 0 0
/dev/hda6 /victoria vfat rw,relatime,uid=65534,gid=65534,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=utf8,shortname=mixed,errors=remount-ro 0 0
/dev/sda /mnt/usb8gig vfat rw,nosuid,nodev,noexec,relatime,uid=65534,gid=65534,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=utf8,shortname=win95,flush,errors=remount-ro 0 0
/dev/sdb1 /scsic vfat rw,relatime,uid=65534,gid=65534,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=utf8,shortname=mixed,errors=remount-ro 0 0
/dev/sdb5 /scsid vfat rw,relatime,uid=65534,gid=65534,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=utf8,shortname=mixed,errors=remount-ro 0 0
*********************** END /proc/mounts
*********************** BEGIN /boot/grub/device.map
(hd0) /dev/hda
(hd1) /dev/hdb
(hd2) /dev/sda
(hd3) /dev/sdb
*********************** END /boot/grub/device.map
*********************** BEGIN /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
set default=2
insmod ext2
set root=(hd0,7)
search --no-floppy --fs-uuid --set 96c96a61-8615-4715-86d0-09cb8c62638c
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
set locale_dir=/boot/grub/locale
set lang=
insmod gettext
set timeout=5
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set bfdeb6d6-0b77-4beb-a63d-bdc3e455b8ea
insmod png
if background_image /grub/moreblue-orbit-grub.png ; then
set color_normal=black/black
set color_highlight=magenta/black
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry "Debian GNU/Linux, with Linux 2.6.32-trunk-686" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set bfdeb6d6-0b77-4beb-a63d-bdc3e455b8ea
echo Loading Linux 2.6.32-trunk-686 ...
linux //vmlinuz-2.6.32-trunk-686 root=UUID=96c96a61-8615-4715-86d0-09cb8c62638c ro
echo Loading initial ramdisk ...
initrd //initrd.img-2.6.32-trunk-686
}
menuentry "Debian GNU/Linux, with Linux 2.6.32-trunk-686 (recovery mode)" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set bfdeb6d6-0b77-4beb-a63d-bdc3e455b8ea
echo Loading Linux 2.6.32-trunk-686 ...
linux //vmlinuz-2.6.32-trunk-686 root=UUID=96c96a61-8615-4715-86d0-09cb8c62638c ro single
echo Loading initial ramdisk ...
initrd //initrd.img-2.6.32-trunk-686
}
menuentry "Debian GNU/Linux, with Linux 2.6.32" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set bfdeb6d6-0b77-4beb-a63d-bdc3e455b8ea
echo Loading Linux 2.6.32 ...
linux //vmlinuz-2.6.32 root=UUID=96c96a61-8615-4715-86d0-09cb8c62638c ro
echo Loading initial ramdisk ...
initrd //initrd.img-2.6.32
}
menuentry "Debian GNU/Linux, with Linux 2.6.32 (recovery mode)" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set bfdeb6d6-0b77-4beb-a63d-bdc3e455b8ea
echo Loading Linux 2.6.32 ...
linux //vmlinuz-2.6.32 root=UUID=96c96a61-8615-4715-86d0-09cb8c62638c ro single
echo Loading initial ramdisk ...
initrd //initrd.img-2.6.32
}
menuentry "Debian GNU/Linux, with Linux 2.6.31-1-686" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set bfdeb6d6-0b77-4beb-a63d-bdc3e455b8ea
echo Loading Linux 2.6.31-1-686 ...
linux //vmlinuz-2.6.31-1-686 root=UUID=96c96a61-8615-4715-86d0-09cb8c62638c ro
echo Loading initial ramdisk ...
initrd //initrd.img-2.6.31-1-686
}
menuentry "Debian GNU/Linux, with Linux 2.6.31-1-686 (recovery mode)" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set bfdeb6d6-0b77-4beb-a63d-bdc3e455b8ea
echo Loading Linux 2.6.31-1-686 ...
linux //vmlinuz-2.6.31-1-686 root=UUID=96c96a61-8615-4715-86d0-09cb8c62638c ro single
echo Loading initial ramdisk ...
initrd //initrd.img-2.6.31-1-686
}
menuentry "Debian GNU/Linux, with Linux 2.6.31" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set bfdeb6d6-0b77-4beb-a63d-bdc3e455b8ea
echo Loading Linux 2.6.31 ...
linux //vmlinuz-2.6.31 root=UUID=96c96a61-8615-4715-86d0-09cb8c62638c ro
echo Loading initial ramdisk ...
initrd //initrd.img-2.6.31
}
menuentry "Debian GNU/Linux, with Linux 2.6.31 (recovery mode)" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set bfdeb6d6-0b77-4beb-a63d-bdc3e455b8ea
echo Loading Linux 2.6.31 ...
linux //vmlinuz-2.6.31 root=UUID=96c96a61-8615-4715-86d0-09cb8c62638c ro single
echo Loading initial ramdisk ...
initrd //initrd.img-2.6.31
}
menuentry "Debian GNU/Linux, with Linux 2.6.30-2-686" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set bfdeb6d6-0b77-4beb-a63d-bdc3e455b8ea
echo Loading Linux 2.6.30-2-686 ...
linux //vmlinuz-2.6.30-2-686 root=UUID=96c96a61-8615-4715-86d0-09cb8c62638c ro
echo Loading initial ramdisk ...
initrd //initrd.img-2.6.30-2-686
}
menuentry "Debian GNU/Linux, with Linux 2.6.30-2-686 (recovery mode)" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set bfdeb6d6-0b77-4beb-a63d-bdc3e455b8ea
echo Loading Linux 2.6.30-2-686 ...
linux //vmlinuz-2.6.30-2-686 root=UUID=96c96a61-8615-4715-86d0-09cb8c62638c ro single
echo Loading initial ramdisk ...
initrd //initrd.img-2.6.30-2-686
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set bfdeb6d6-0b77-4beb-a63d-bdc3e455b8ea
linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set bfdeb6d6-0b77-4beb-a63d-bdc3e455b8ea
linux16 /memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 95/98/Me (on /dev/hdb1)" {
insmod fat
set root=(hd1,1)
search --no-floppy --fs-uuid --set 3571-16de
drivemap -s (hd0) ${root}
chainloader +1
}
menuentry "Debian GNU/Linux, linux 2.6.30-rc3-686 (on /dev/hdb5)" {
insmod ext2
set root=(hd1,5)
search --no-floppy --fs-uuid --set 026a3f5c-0064-4ae7-869e-519d2cee05e7
linux /boot/vmlinuz-2.6.30-rc3-686 root=/dev/hda5 ro
initrd /boot/initrd.img-2.6.30-rc3-686
}
menuentry "Debian GNU/Linux, linux 2.6.30-rc3-686 (recovery mode) (on /dev/hdb5)" {
insmod ext2
set root=(hd1,5)
search --no-floppy --fs-uuid --set 026a3f5c-0064-4ae7-869e-519d2cee05e7
linux /boot/vmlinuz-2.6.30-rc3-686 root=/dev/hda5 ro single
initrd /boot/initrd.img-2.6.30-rc3-686
}
menuentry "Debian GNU/Linux, linux 2.6.29-1-686 (on /dev/hdb5)" {
insmod ext2
set root=(hd1,5)
search --no-floppy --fs-uuid --set 026a3f5c-0064-4ae7-869e-519d2cee05e7
linux /boot/vmlinuz-2.6.29-1-686 root=/dev/hda5 ro
initrd /boot/initrd.img-2.6.29-1-686
}
menuentry "Debian GNU/Linux, linux 2.6.29-1-686 (recovery mode) (on /dev/hdb5)" {
insmod ext2
set root=(hd1,5)
search --no-floppy --fs-uuid --set 026a3f5c-0064-4ae7-869e-519d2cee05e7
linux /boot/vmlinuz-2.6.29-1-686 root=/dev/hda5 ro single
initrd /boot/initrd.img-2.6.29-1-686
}
menuentry "Debian GNU/Linux, linux 2.6.29 (on /dev/hdb5)" {
insmod ext2
set root=(hd1,5)
search --no-floppy --fs-uuid --set 026a3f5c-0064-4ae7-869e-519d2cee05e7
linux /boot/vmlinuz-2.6.29 root=/dev/hda5 ro
initrd /boot/initrd.img-2.6.29
}
menuentry "Debian GNU/Linux, linux 2.6.29 (recovery mode) (on /dev/hdb5)" {
insmod ext2
set root=(hd1,5)
search --no-floppy --fs-uuid --set 026a3f5c-0064-4ae7-869e-519d2cee05e7
linux /boot/vmlinuz-2.6.29 root=/dev/hda5 ro single
initrd /boot/initrd.img-2.6.29
}
menuentry "Debian GNU/Linux, linux 2.6.28-1-686 (on /dev/hdb5)" {
insmod ext2
set root=(hd1,5)
search --no-floppy --fs-uuid --set 026a3f5c-0064-4ae7-869e-519d2cee05e7
linux /boot/vmlinuz-2.6.28-1-686 root=/dev/hda5 ro
initrd /boot/initrd.img-2.6.28-1-686
}
menuentry "Debian GNU/Linux, linux 2.6.28-1-686 (recovery mode) (on /dev/hdb5)" {
insmod ext2
set root=(hd1,5)
search --no-floppy --fs-uuid --set 026a3f5c-0064-4ae7-869e-519d2cee05e7
linux /boot/vmlinuz-2.6.28-1-686 root=/dev/hda5 ro single
initrd /boot/initrd.img-2.6.28-1-686
}
menuentry "Debian GNU/Linux, linux 2.6.28 (on /dev/hdb5)" {
insmod ext2
set root=(hd1,5)
search --no-floppy --fs-uuid --set 026a3f5c-0064-4ae7-869e-519d2cee05e7
linux /boot/vmlinuz-2.6.28 root=/dev/hda5 ro
initrd /boot/initrd.img-2.6.28
}
menuentry "Debian GNU/Linux, linux 2.6.28 (recovery mode) (on /dev/hdb5)" {
insmod ext2
set root=(hd1,5)
search --no-floppy --fs-uuid --set 026a3f5c-0064-4ae7-869e-519d2cee05e7
linux /boot/vmlinuz-2.6.28 root=/dev/hda5 ro single
initrd /boot/initrd.img-2.6.28
}
menuentry "Memory test (memtest86+) (on /dev/hdb5)" {
insmod ext2
set root=(hd1,5)
search --no-floppy --fs-uuid --set 026a3f5c-0064-4ae7-869e-519d2cee05e7
linux /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200) (on /dev/hdb5)" {
insmod ext2
set root=(hd1,5)
search --no-floppy --fs-uuid --set 026a3f5c-0064-4ae7-869e-519d2cee05e7
linux /boot/memtest86+.bin console=ttyS0,115200n8
}
menuentry "Windows 95/98/Me (on /dev/sdb1)" {
insmod fat
set root=(hd3,1)
search --no-floppy --fs-uuid --set 0831-11dd
drivemap -s (hd0) ${root}
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 ###
*********************** END /boot/grub/grub.cfg
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.32 (SMP w/1 CPU core; PREEMPT)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages grub-pc depends on:
ii debconf [debconf-2.0] 1.5.28 Debian configuration management sy
ii grub-common 1.98~20100110-1 GRand Unified Bootloader, version
ii libc6 2.10.2-5 Embedded GNU C Library: Shared lib
ii ucf 3.0025 Update Configuration File: preserv
grub-pc recommends no packages.
Versions of packages grub-pc suggests:
ii desktop-base 5.0.5 common files for the Debian Deskto
-- debconf-show failed
More information about the Pkg-grub-devel
mailing list