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