Re: Fixing #698914 for wheezy (grub booting Windows 8 via UEFI)
severity 698914 serious
On Thu, Apr 25, 2013 at 08:06:51PM +0100, Ben Hutchings wrote:
>On Thu, 2013-04-25 at 15:40 +0100, Steve McIntyre wrote:
>> and all works fine, fixing the bug nicely. I would like to upload (and
>> get unblocks for) new grub2 and os-prober packages - see debdiffs of
>> changes attached. The changes are quite small and targeted, only
>> affecting code paths for EFI systems.
>> What do you think?
>I agree that this is RC; we must not break Windows installations when
>going to dual-boot and it is not safe to assume that UEFI systems have a
>usable firmware boot menu.
Agreed; changing severity accordingly.
>> --- os-prober-1.57/os-probes/mounted/x86/05efi 1970-01-01 01:00:00.000000000 +0100
>> +++ os-prober-1.58/os-probes/mounted/x86/05efi 2013-04-25 15:30:14.000000000 +0100
>> @@ -0,0 +1,70 @@
>> +# Detects all Microsoft OSes on a collection of partitions.
>> +. /usr/share/os-prober/common.sh
>> +# This file is for UEFI platform only
>> +if [ ! -d /sys/firmware/efi ]; then
>> + debug "Not on UEFI platform"
>> + exit 1
>This directory only exists if efivars is loaded. I assume that SUSE
>configures it as built-in, and our kernel package has a patch to
>trigger autoloading of efivars on systems with EFI. But for the
>benefit of people using custom kernel packages, can you check that
>update-grub will modprobe efivars *before* running os-prober?
>Alternately, could update-grub explicitly tell os-prober to look for
>EFI boot loaders if grub-efi is installed?
We could add a call to 30_os-prober before the actual call to
modprobe efivars || true
which is simple and easy to track; I'm not so confident about making
more intrusive changes to grub config code than that, to be
honest. Does that sound like a reasonable option to people?
>(Really, I think grub-efi ought to pull the boot entries from EFI
>variables at boot time and append them to the menu. But that's a rather
>large chunk of work.)
Ummm, yes. :-)
Steve McIntyre, Cambridge, UK. email@example.com
Welcome my son, welcome to the machine.