2012/9/29 Andrey Borzenkov > Attached are suggested implementation for UEFI support. Because ESP can > contain arbitrary number of boot entries, it is itself implemented as > extensible framework. > > 1. /usr/lib/os-prober/mounted/05efi > > Makes basic plausibility checks (FAT and /EFI exists) and calls scripts > from /usr/lib/os-prober/mounted/efi/* to perform OS detection. Returns > detected bootladers in the form ${device}@${path}:${long}:${short}:efi > > 2. patch for /etc/grub.d/30_os-prober > > creates "chainloader ${path}" entry from the above > > 3. Patch for /usr/lib/os-prober/mounted/20microsoft > > It seems that on UEFI systems Windows sometimes installs both legacy and > UEFI bootloader. In this case os-prober adds menu entries for legacy > Windows boot which do not work from within UEFI GRUB bootloader. Patch > detects UEFI platform and skips running there. > > 4. /usr/lib/os-prober/mounted/efi/20microsoft > > Suggested implementation for Microsoft bootloader. We have no way to > create entries for individual OSes here (this would involve parsing BCD > store at the very least), so entry is titled as "Windows Boot Manager", > the same as is automatically added to UEFI boot menu. > > This is successfully tested on VM with Windows 7/openSUSE 12.2 dual > boot. As openSUSE 12.2 comes with GRUB2 as default bootloader, this > issue seems to be hit by quite a number of users. > > Comments? > > -andrey > Thanks Andrey for working on this. - I confirm that Windows sometimes installs both Legacy and UEFI bootloader. Example: http://paste.ubuntu.com/1248333 - For information, here is a report you may be interested in: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1024383 Regards Yann