Bug#360849: grub-install: /dev/evms/newroot does not have any corresponding BIOS drive

Ross Boylan ross at biostat.ucsf.edu
Tue Apr 4 23:22:33 UTC 2006


Package: grub
Version: 0.97-5
Severity: normal

When I say 
# grub-install hd0
/dev/evms/newroot does not have any corresponding BIOS drive.

The odd thing is that I previously was booting this system with grub
OK.  I'm puzzled that grub is looking for a BIOS drive for
/dev/evms/newroot at all.

The only places that /dev/evms/newroot appears in menu.lst are
title           Debian GNU/Linux, kernel 2.6.15
root            (hd0,7)
kernel          /boot/vmlinuz-2.6.15 root=/dev/evms/newroot ro
initrd          /boot/initrd.img-2.6.15
savedefault
boot

title           Debian GNU/Linux, kernel 2.6.15 (recovery mode)
root            (hd0,7)
kernel          /boot/vmlinuz-2.6.15 root=/dev/evms/newroot ro single
initrd          /boot/initrd.img-2.6.15
savedefault
boot

However, /dev/evms/newroot and (hd0,7) are referring to the same
partition.

Looking through the grub sources, I suspect that the entries in
menu.lst may not matter.  The shell script grub-install uses runs df
and then tries to get the BIOS for the individual devices reported.

Under a 2.4 kernel, there was no /dev/evms/newroot in the df output,
so this may explain why things worked then and not now, under 2.6.

It may be that some code only runs the check for the root partition,
because under 2.4 and 2.6 there were a lot of /dev/evms partitions,
and most of them had no partition and thus no possible BIOS entry.
Uniquely, /dev/evms/newroot does correspond to a partition, but that
isn't helping.

I must be missing something here, because otherwise most people using
grub and evms with root mounted through evms would see this problem.

My /boot is simply part of my OS root partition, so grub's root and
the system root are the same.

Now, the history of how this was working and now isn't:

I was running a 2.4 Linux kernel with the root partition not under
evms control, booting with lilo without initrd.  I built the 2.6
kernel and initrd, mounting my root partition through
/dev/evms/newroot.

I couldn't get lilo to work, and switched to grub.  It worked.
Importantly, when I set up grub I was in the 2.4 environment.  I
successfully booted and rebooted in this setup.

To experiment with lilo I reinstalled it as the boot loader, and I
finally got it to work.

I wanted to switch back to grub.  But when I ran grub-install I got
the above error, and reboots confirm lilo is still my boot loader.  So
although grub-install worked under 2.4, it doesn't work under 2.6
while running the same OS I'm trying to boot.

Searching the net suggested the problem might lie with my device.map
file; I ran grub-install --recheck.  This did change the device.map,
which is now
(fd0)   /dev/fd0
(hd0)   /dev/sda

But the error persists.  It doesn't seem to me grub should be checking
anything other than the (hd0,7) listed in the root option, but
obviously it is.

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable'), (50, 'unstable'), (40, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.15
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages grub depends on:
ii  libc6                         2.3.6-3    GNU C Library: Shared libraries an
ii  libncurses5                   5.5-1      Shared libraries for terminal hand

grub recommends no packages.

-- no debconf information




More information about the Pkg-grub-devel mailing list