Summary: | grub2 unable to chainload windows 8 bootloader when secureboot is enabled | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Michael Shigorin <mike> |
Component: | grub2-efi | Assignee: | Michael Shigorin <mike> |
Status: | CLOSED WONTFIX | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | aen, boyarsh, cas, rider, sbolshakov, sem, vitty, zerg |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 27685 |
Description
Michael Shigorin
2014-01-10 18:46:20 MSK
sda/sdb тут совсем не при чём, поиск делается всё же по UUID в итоге. При включенном SecureBoot ошибка выглядит вот так: Booting a command list /EndEntire file path: /ACPI(a0341d0,0)/PCI(2,1f)/UnknownMessaging(12) /HD(1,800,96000,fed12b717a32444e,81,b5)/File(\efi\Microsoft\Boot) /File(bootmgfw.efi)/EndEntire error: cannot load image. На Fedora 20/win8.1 то же самое (если не хуже, выясняю насчёт SB): https://bugzilla.redhat.com/show_bug.cgi?id=986731#c2 http://stelexu.com/showthread.php?t=515993 Судя по http://git.savannah.gnu.org/gitweb/?p=grub.git;a=commitdiff;h=fba31b5f69f955dc6e7041a80de52979403a1042 -- апстрим о проблеме догадывается, но предпринять пока ничего не в состоянии. Надо проверить openSUSE 13.1 (текущая версия) и 12.3 (есть упоминание, что "работает"). Тут: http://stackoverflow.com/questions/20885504/ubuntu-13-10-alongside-windows-8-resulting-in-a-grub-2-issue говорится, что если сдвинуть Wundows в меню grub2 выше Ubuntu, то он загрузится, но перестанет грузится Ubuntu :-) (В ответ на комментарий №2) > Тут [...] говорится, что если сдвинуть Wundows в меню grub2 выше Ubuntu, > то он загрузится, но перестанет грузится Ubuntu :-) Мне так показалось, что речь всё-таки о фирмварной менюшке (и тогда понятно). Комментарий к https://build.opensuse.org/package/view_file/openSUSE:Factory/grub2/grub2-secureboot-chainloader.patch?expand=1 навёл на мысль посмотреть, а входит ли chainloader в подписанный grub2 core image. И если нет -- впихнуть. Замечу, что версия Windows -- важна. (In reply to comment #0) > Если при установке флэшка оказалась sda Если sdb, как при очередной проверке "с нуля" (на другом ноутбуке) -- то эта проблема не воспроизвелась, а в grub.cfg попала строчка "Windows Boot Manager (UEFI on sda1)". (В ответ на комментарий №1)
> Надо проверить openSUSE 13.1 (текущая версия)
Там работает. В смысле после установки с win8 в дуалбут виндовый загрузчик при включенном secureboot грубом chainload'ится нормально. Рассмотрение разницы grub.cfg существенных различий, кроме sda/sdb и соответственно hd0/hd1, не показало (поиск там осуществляется по UUID в любом случае).
Возникла мысль сделать объезд, воткнув в propagator/probing.c::find_media() загрузку ahci.ko первым делом, ещё до проверки USB, чтобы флэшка на типичных системах с секирбутом не попадала вперёд дисков.
С одной стороны, с таким propagator на системах с AHCI диск стал sda (из тех, что под рукой, рядом с не-AHCI оказалась машинка на ASUS M2N с MCP51/sata_nv -- но там флэшка и так ушла на sdb).
С другой -- на тестовом E330, где флэшка успевала на sda, а AHCI-диск уходил на sdb, загрузка regular-e18.iso с этим объездом привела к тому, что флэшка опять попала на sda. Пробую образ с MODULES_PRELOAD += ahci в /etc/initrd.mk... о! так флэшка стала sdb :)
Возможно, это firmware bug, у которого есть какой-то обход: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1091464/comments/31 не актуально, новый груб и windows уже не тот |