Abych odpověděl na vaši původní otázku, ne. Windows nelze načíst, aniž by prošel vlastním bootloaderem (v případě instalací UEFI bootmgfw.efi). Je to proto, že Windows očekává, že tento bootmanager tam bude A že zavolá winload.efi. Pokud se tak nestane, Windows se zhroutí, dokud problém nevyřešíte. Existuje pro to mnoho důvodů (praktických a neznalých). Většinou je to proto, že Microsoft napsal bootmanager, aby zvládl všechny věci (načtení operačního systému, načtení prostředí pro obnovu, pseudo pre-os prostředí atd.). Jediný způsob, jak v současnosti dosáhnout jakéhokoli zdání zdravého rozumu, je řetězit zatížení pomocí Grub-efi.
Je třeba přidat zavaděč Windows EFI do seznamu možností spouštění ve firmwaru UEFI. Tímto způsobem si budete moci vybrat, zda:
- Měl by být načten GRUB2 nebo
- měl by být načten spouštěcí program Windows
V tomto okamžiku by měly být viditelné také další možnosti, jako je jednotka DVD, externí pevné disky nebo spouštění ze sítě. Bootloader UEFI se obvykle nachází na \EFI
(/boot/efi/
) oddíl. Protože jste právě zkopírovali obraz pevného disku Windows bez správné instalace systému Windows, oddíl EFI vašeho aktuálního počítače nemusí obsahovat správný zavaděč. Je tedy nutné
- Zkopírujte zavaděč do oddílu EFI
- Přidat Windows jako spouštěcí možnost vedle GRUB2
Poté byste měli mít možnost vybrat si, který operační systém se zavede, jednoduše změnou pořadí spouštění v systému BIOS. Na notebooku stisknu F12 zobrazí nabídku pro výběr zavaděče, který se má načíst.
Pro tyto kroky použiji efibootmgr
a postupujte podle kroků z tohoto tutoriálu:
Budete muset zkopírovat odpovídající soubor bootmgfw.efi
do oddílu EFI na \EFI\Microsoft\Boot\bootmgfw.efi
nebo /boot/efi/Microsoft/Boot/bootmgfw.efi
při použití Linuxu:
# mkdir -p /boot/efi/EFI/Microsoft
# cp -r Microsoft /boot/efi/EFI/Microsoft
kde Microsoft
je složka obsahující původní soubory EFI pro vaši verzi Windows.
Poté musíte přidat .efi
do zaváděcích položek UEFI pomocí:
# efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\Microsoft\\Boot\\bootmgfw.efi -L "Windows Boot Manager"
kde samozřejmě musíte změnit /dev/sda
a -p 1
na správné hodnoty pro vaše diskové zařízení a číslo oddílu.
Poznámka:Pokud máte notebook Lenovo:
Všimněte si také, že alespoň jeden výrobce (Lenovo) dodává produkty se známou chybou, která způsobuje, že systém odmítá zavést systém, pokud název zavaděče není „Windows Boot Manager“ nebo „Red Hat Enterprise Linux“.
Po spuštění počítače by se pak mělo zobrazit něco takového (pokud během procesu spouštění podržíte příslušné klávesy):
Windows Boot Manager
ubuntu
USB CD
USB FDD
ATAPI CD
ATA HDD2
(etc.)
a bcdedit
v systému Windows zobrazuje toto:
C:\WINDOWS\system32>bcdedit /enum firmware
Firmware Boot Manager
---------------------
identifier {fwbootmgr}
displayorder {bootmgr}
{bb086763-b111-11e2-bf8e-806e6f6e6963}
{8e7fb978-8bc8-11e2-bf2f-806e6f6e6963}
timeout 0
Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume2
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
locale en-US
inherit {globalsettings}
integrityservices Enable
default {current}
resumeobject {ec215a09-8bc4-11e2-bf2b-0024d7eb75a4}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 2
(...)
Firmware Application (101fffff)
-------------------------------
identifier {bb086763-b111-11e2-bf8e-806e6f6e6963}
device partition=\Device\HarddiskVolume2
path \EFI\ubuntu\grubx64.efi
description ubuntu