Ahoj všichni!
Tento článek popisuje kroky, které musíte provést, abyste do svého WDS přidali možnost spouštění UEFI.
Tito. Pokyny v tomto článku předpokládají, že již máte následující konfiguraci:
1. Windows Server 2012R2 (или новее)
2. Полностью настроенный DHCP для работы с WDS
3. Собственно сам WDS
4. IIS
5. Виртуальная машина или ПК с Ubuntu
Také jsou zde popsány akce, které mi nepřinesly patřičný výsledek.
Popsal jsem je pro usnadnění hledání a ušetření vašeho času.
předmluva
Udělal jsem WDS v práci se spoustou dobrot, tk. unavený z neustálého běhání s hromadou flash disků a jejich přepisování.
Pomohly mi tyto články:
A vše bylo v pořádku, byly přidány nové obrázky pro načtení, obrázek winPE byl zarostlý novými funkcemi a vše fungovalo.
Zdaleka ne všechna zařízení však podporují spouštěcí režim BIOS / Legacy, nebo pokud ano, pak může být jeho zahrnutí na velmi nejasném místě.
Jo a instalace windows v legacy módu, kdy je možné instalovat v UEFI, není cool.
V důsledku toho jsem se rozhodl přidat možnost spouštění do UEFI a šel jsem na Google.
Nenašel jsem ale strukturované informace, jak získat funkční WDS + UEFI.
Vlastně proto jsem se rozhodl napsat tento článek.
Než začnu, popíšu problém, který zabral nejvíce času.
Při přidávání UEFI do WDS je možná následující, spíše nezřejmá situace:
Pokud přidáte spouštěcí soubor do WDS a když se pokusíte spustit na zařízení
v UEFI vidíte následující text:
The selected boot device failed. Press <Enter> to Continue.
Nebo Boot Device Not Found
Ale načítání v legacy vám funguje.
Pak je jednou z možných možností absence souboru wdsmgfw.efi,
následujícím způsobem: %WDSpath%Bootx64wdsmgfw.efi
Můžete si to vzít zde: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Nebo pokud vám z nějakého důvodu tento soubor chybí, zveřejnil jsem jej na
Za toto řešení díky kluci z
Tímto problémem jsem zabil nejvíce času, protože. Myslel jsem, že problém je někde v konfiguraci WDS nebo DHCP.
Konfigurované zásady přidáním tříd dodavatelů pro různé architektury a konfigurací možností DHCP 060, 066, 067.
Architektury v ASCII pro konfiguraci DHCP
PXEClient:Arch:00000 - BIOS/Legacy
PXEClient:Arch:00006 - UEFI x86
PXEClient:Arch:00007 - UEFI x64
Také jsem vyzkoušel různé možnosti pro spouštěcí soubory. .efi
- SYSLINUX
- grub 2
Také jsem se pokusil najít problém v protokolu událostí.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics
Ale jak jsem řekl výše, problém byl v souboru wdsmgfw.efi.
Buď jsem to omylem smazal sám, nebo se to při instalaci nezkopírovalo
a konfiguraci WDS.
No, pojďme začít!
Návod
Fáze 1 – Ověřte, že WDS funguje
Vezměte jakékoli zařízení nebo virtuální stroj s podporou spouštění v režimu UEFI přes síť a zkuste nabootovat.
Měli byste mít následující obrázek:
Pokud ano, skvělé, můžete pokračovat.
Pokud ne, podívejte se, co jsem napsal v předmluvě.
Fáze 2 – Vytvoření spouštěcího souboru iPXE
Spustíme předpřipravené Ubuntu, otevřeme terminál a vložíme tento řádek:
git clone https://git.ipxe.org/ipxe.git ipxe
Zde bych si dovolil malou poznámku, že možná budete muset do Ubuntu přidat balíčky, které jsou nezbytné pro kompilaci C a C++.
Mám je jen nainstalované.
Staženo? - Skvělý!
Nyní musíte vytvořit konfigurační soubor pro sestavu.
V terminálu napíšeme:
cd ipxe/src
gedit chain.ipxe
A vložte následující kód do tohoto souboru a poté uložte:
#!ipxe
dhcp
chain http://%IP-address-your-IIS-server%/install.ipxe
Vrátíme se k terminálu a spustíme kompilaci:
make bin-x86_64-efi/ipxe.efi EMBED=chain.ipxe
Pokud je vše v pořádku, měli byste v terminálu získat následující výstup:
A soubor ipxe.efi, při cestě: ipxe/src/bin-x86_64-efi/ipxe.efi
Pokud z nějakého důvodu nemůžete kompilovat sami,
Připojil jsem svůj
Je zkompilován tak, aby se z něj bootovalo http://192.168.0.100/install.ipxe
To je pro Ubuntu vše.
Krok 3 – Přidání ipxe.efi do WDS
Vezmeme soubor, který jsme obdrželi ve druhé fázi, a zkopírujeme jej po cestě:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Poté, co jej přejmenujeme na BOOTX64.EFI.
Není to nutné, je to jen pohodlnější.
Poté spustíme cmd jménem správce a napište následující příkazy:
wdsutil /set-server /bootprogram:Bootx64%your-boot-folder%EFIBOOTBOOTX
64.EFI /architecture:x64uefi
и
wdsutil /set-server /N12bootprogram:Bootx64%your-boot-folder%EFIBOOTBOOTX
64.EFI /architecture:x64uefi
Tím nastavíte výsledný soubor ke stažení přes WDS.
Zkontrolujeme konfiguraci:
wdsutil /get-server /Show:Config
Také jsem zkopíroval soubor ipxe.efi, přejmenoval ho na BOOTIA32.EFI a pro jistotu pro něj nakonfiguroval boot. architecture:x86uefi
Ale celkově to nedává smysl, protože. Soubor Bootmgfw.efi nepodporuje x86
Pojďme zkontrolovat, co se stalo.
Výborně, WDS odešle náš soubor ke stažení a on na oplátku hledá konfiguraci podél cesty: http://192.168.0.100/install.ipxe
Krok 4 – Konfigurace nabídky
Přejdeme do kořenové složky vašeho webu.
Výchozí hodnota je: C:inetpubwwwroot
Vytvořte textový soubor install.ipxe.
a nakonfigurujte jej podle
Existuje také ruský jazyk
užil jsem si
Příklad konfigurace install.ipxe
#!ipxe
:start
menu Please choose an operating system to start/install
item --gap Start Win PE
item WinPE-x64 WinPE x64
item --gap ipxe shell
item shell Drop to iPXE shell
choose target && goto ${target}
:failed
echo Booting failed, dropping to shell
goto shell
:shell
echo Type 'exit' to get the back to the menu
shell
set menu-timeout 0
set submenu-timeout 0
goto start
:WinPE-x64
kernel http://192.168.0.100/wimboot
initrd http://192.168.0.100/peSE/Boot/bcd
initrd http://192.168.0.100/peSE/Boot/boot.sdi
initrd http://192.168.0.100/peSE/Boot/peSE64.wim
boot || goto failed
Můžete si přečíst o konfiguraci pro načítání winPE
Fáze 5 - MIME typy
Po vytvoření nabídky a přidání všech potřebných souborů do kořenové složky IIS,
musíte jim umožnit přístup.
Protože i když se pokusíte stáhnout soubor z prohlížeče, zobrazí se chyba na jeho adrese: HTTP 404.3 - Not Found
.
Chcete-li to provést, musíte do ovládacího panelu služby IIS přidat typy MIME
s příponami souborů, které si stáhnete přes http.
Nehledal jsem, který typ MIME je pro tento účel nejlepší, a zeptal jsem se application/octet-stream
, po kterém vše fungovalo.
U souborů, které nemají příponu, použijte tečku.
Zde:
Závěr
Nakonec získáme možnost bootování přes místní síť přes UEFI.
Pokud jsme vše udělali správně, bude zde něco jako tato nabídka výběru spouštění:
Pokud máte připraveny základní nástroje a nebudete se obtěžovat s konfigurací, pak implementace této funkce trvá asi 10-20 minut.
Trvalo mi to 2 pracovní dny, protože. Musel jsem hodně googlit.
Úspěšná realizace!
Děkuji za pozornost a moc děkuji lidem, jejichž články mi pomohly!
Na Habré je to:
Zdroj: www.habr.com