Bug#601974: regression: grub-probe can not find /dev/xvda1 (block device inside XEN)

Csillag Kristof csillag.kristof at gmail.com
Mon Nov 1 15:01:09 UTC 2010


2010-11-01 13:28 keltezéssel, Vladimir 'φ-coder/phcoder' Serbinenko írta:
> tag 601974 need-info
> thanks
>
>   
>> Now if I upgrade to grub-common from unstable, this starts to fail.
>> Whatever I do, it won't work.
>>
>> How do I fix that?
>>
>>   
>>     
> Can you post the actual error messages (with -v)

With old grub-common:

#update-grub -v
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.32-5-amd64
Updating /boot/grub/menu.lst ... done

with new grub-common:

# update-grub -v
Searching for GRUB installation directory ... found: /boot/grub
warning: grub-probe can't find drive for /dev/xvda1.
grub-probe: error: cannot find a GRUB drive for /dev/xvda1.  Check your
device.map.

Replacing grup-probe with a wrapper script, I can see that update-grub
is calling grub-probe several times, with the following parameters:

--device-map=/boot/grub/device.map -t device /
--device-map=/boot/grub/device.map -t device /boot
-t abstraction --device /dev/xvda1
--device-map=/boot/grub/device.map -t drive -d /dev/xvda1
--device-map=/tmp/device.map.woTwrstX -t drive -d /dev/xvda1

It seems to me that the first call witch fails with the new grub (but
succeeds with the new one) is this:

grub-probe -t abstraction --device /dev/xvda1 -v

With old grub, this returns:

# grub-probe -t abstraction --device /dev/xvda1 -v
error: cannot open `/dev/xvda'
error: cannot open `/dev/xvda'
grub-probe: info: did not find LVM/RAID in /dev/xvda1, assuming raw device

With new grub, this returns:

# grub-probe -t abstraction --device /dev/xvda1 -v
grub-probe: info: /dev/xvda1 starts from 0.
grub-probe: info: opening the device hd0.
grub-probe: error: cannot find a GRUB drive for /dev/xvda1.  Check your
device.map.

As I have already shown, device.map contains this:

    (hd0)    /dev/xvda

so it might try to open /dev/xvda, which is a fake device, it does not
exist.
Only xvda1 and xvda2 exists.
Old grub could cope with this.


> and tell what you actually tried rather than a very vague paraphrase.
>   
I don't remember. Tried to get this work a few months ago, the failed
and dropped it. (Went back to old grub.) Now I am forced to upgrade,
because lvm updates. Tried again, still does not work. Thus, I report
the bug.

Please let me know how can I help you to debug this.

Best wishes:

    Csillag






More information about the Pkg-grub-devel mailing list