|
From: | Andrey Borzenkov |
Subject: | [RFC] Support for UEFI ESP in os-prober |
Date: | Sat, 29 Sep 2012 19:04:30 +0400 |
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 address@hidden:${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
os-prober-skip-MS-legacy-on-UEFI.patch
Description: Text Data
30_os-prober.patch
Description: Text Data
05efi
Description: application/shellscript
20microsoft
Description: application/shellscript
[Prev in Thread] | Current Thread | [Next in Thread] |