Bug#565706: grub2 enters rescue mode with "fd0 cannot get C/H/S values"

Tom Wright thomaswright at cantab.net
Tue Mar 2 18:34:16 UTC 2010


I've found a workaround for this one by changing a BIOS setting - it doesn't 
fix the underlying issue though.

The BIOS setting was "Legacy USB" which was set to Auto and I have now set to 
Disabled.  This means that the BIOS doesn't start the USB devices, so GRUB 
can't see them and doesn't get confused.  The USB devices are still visible to 
the kernel though, so everything works fine.

If you want me to try out any other patches, I'm happy to revert the changes 
to the BIOS and try one out, but I just thought I'd post this workaround for 
anyone else who's stuck on it.

Tom


On Wednesday 24 February 2010 09:58:05 Vladimir 'φ-coder/phcoder' Serbinenko 
wrote:
> Tom Wright wrote:
> > Package: grub-pc
> > Version: 1.98~20100128-1.2
> > Severity: normal
> >
> > I am seeing the same problem: grub reports this on startup and then gets
> > no further:
> >
> > error: fd0 cannot get C/H/S values.
> > entering rescue mode
> 
> Can you try the attached patch?
> 
> > My system has three RAID1 md partitions across sda and sdb, containing
> > swap, / and /boot and it has another disk (sdc).  With these plugged in,
> > it all works fine, but once I plug a USB drive in as well, the system
> > won't start.  I can get it to start by removing the USB drive and
> > resetting it (ctrl-alt-del or power-cycle).  This is not ideal though, as
> > it's a hidden-away server which always has a USB disk plugged into it for
> > backup purposes, so I cannot reboot it remotely because it won't start up
> > again.
> >
> > -- Package-specific info:
> >
> > *********************** BEGIN /proc/mounts
> > /dev/disk/by-uuid/b8ea7ba8-1e96-4e1c-8993-6a3118767dd5 / ext4
> > rw,relatime,errors=remount-ro,barrier=1,data=ordered 0 0 /dev/md2 /boot
> > ext3 rw,relatime,errors=continue,data=ordered 0 0 /dev/sdc1
> > /mythrecordings ext4 rw,relatime,barrier=1,data=ordered 0 0
> > *********************** END /proc/mounts
> >
> > *********************** BEGIN /boot/grub/device.map
> > (hd0)	/dev/sda
> > (hd1)	/dev/sdb
> > (hd2)	/dev/sdc
> > *********************** 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 ###
> > 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
> > }
> > insmod raid
> > insmod mdraid
> > insmod ext2
> > set root=(md1)
> > search --no-floppy --fs-uuid --set b8ea7ba8-1e96-4e1c-8993-6a3118767dd5
> > 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
> > insmod raid
> > insmod mdraid
> > insmod ext2
> > set root=(md2)
> > search --no-floppy --fs-uuid --set 7585406e-ce84-4bd5-afb6-e198efa46a94
> > set locale_dir=($root)/grub/locale
> > set lang=en
> > insmod gettext
> > set timeout=5
> > ### 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.32-trunk-amd64" {
> > 	insmod raid
> > 	insmod mdraid
> > 	insmod ext2
> > 	set root=(md2)
> > 	search --no-floppy --fs-uuid --set 7585406e-ce84-4bd5-afb6-e198efa46a94
> > 	echo	Loading Linux 2.6.32-trunk-amd64 ...
> > 	linux	/vmlinuz-2.6.32-trunk-amd64
> > root=UUID=b8ea7ba8-1e96-4e1c-8993-6a3118767dd5 ro  quiet echo	Loading
> > initial ramdisk ...
> > 	initrd	/initrd.img-2.6.32-trunk-amd64
> > }
> > menuentry "Debian GNU/Linux, with Linux 2.6.32-trunk-amd64 (recovery
> > mode)" { insmod raid
> > 	insmod mdraid
> > 	insmod ext2
> > 	set root=(md2)
> > 	search --no-floppy --fs-uuid --set 7585406e-ce84-4bd5-afb6-e198efa46a94
> > 	echo	Loading Linux 2.6.32-trunk-amd64 ...
> > 	linux	/vmlinuz-2.6.32-trunk-amd64
> > root=UUID=b8ea7ba8-1e96-4e1c-8993-6a3118767dd5 ro single echo	Loading
> > initial ramdisk ...
> > 	initrd	/initrd.img-2.6.32-trunk-amd64
> > }
> > ### END /etc/grub.d/10_linux ###
> >
> > ### BEGIN /etc/grub.d/30_os-prober ###
> > ### 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 testing
> >   APT policy: (700, 'testing'), (600, 'unstable')
> > Architecture: amd64 (x86_64)
> >
> > Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores)
> > Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
> > Shell: /bin/sh linked to /bin/dash
> >
> > Versions of packages grub-pc depends on:
> > ii  debconf [debconf-2.0]  1.5.28            Debian configuration
> > management sy ii  grub-common            1.98~20100128-1.2 GRand Unified
> > Bootloader, version ii  libc6                  2.10.2-6          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:
> > pn  desktop-base                  <none>     (no description available)
> >
> > -- debconf information:
> >   grub-pc/kopt_extracted: false
> >   grub2/kfreebsd_cmdline:
> > * grub-pc/install_devices: /dev/sda, /dev/sdb
> >   grub-pc/postrm_purge_boot_grub: false
> > * grub2/linux_cmdline:
> >   grub2/kfreebsd_cmdline_default: quiet
> > * grub2/linux_cmdline_default: quiet
> >   grub-pc/chainload_from_menu.lst: true
> >
> >
> >
> > _______________________________________________
> > Pkg-grub-devel mailing list
> > Pkg-grub-devel at lists.alioth.debian.org
> > http://lists.alioth.debian.org/mailman/listinfo/pkg-grub-devel
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.alioth.debian.org/pipermail/pkg-grub-devel/attachments/20100302/228a599c/attachment.pgp>


More information about the Pkg-grub-devel mailing list