Rozšírenie funkčnosti WDS: Pridanie UEFI Boot Capability

Ahoj všetci!

Tento článok popisuje kroky, ktoré musíte vykonať, aby ste do svojho WDS pridali možnosť zavádzania UEFI.

Tie. Pokyny v tomto článku predpokladajú, že už máte nasledujúcu konfiguráciu:

1. Windows Server 2012R2 (или новее)
2. Полностью настроенный DHCP для работы с WDS
3. Собственно сам WDS
4. IIS
5. Виртуальная машина или ПК с Ubuntu

Tiež sú tu opísané akcie, ktoré mi nepriniesli správny výsledok.
Popísal som ich, aby som uľahčil vyhľadávanie a ušetril váš čas.

Predslov

Urobil som WDS v práci s množstvom dobrôt, tk. unavený z neustáleho behania s kopou flash diskov a ich prepisovania.

Pomohli mi tieto články:
Pridanie všestrannosti WDS
Zavádzacia ponuka PXE s nástrojom System Center Configuration Manager


Vyzerá to takto

Rozšírenie funkčnosti WDS: Pridanie UEFI Boot Capability

A všetko bolo v poriadku, pridali sa nové obrázky na načítanie, obrázok winPE bol zarastený novými funkciami a všetko fungovalo.

Ale zďaleka nie všetky zariadenia podporujú režim zavádzania systému BIOS / Legacy, alebo ak áno, jeho zahrnutie môže byť na veľmi nejasnom mieste.

Áno a inštalácia okien v staršom režime, keď je možné nainštalovať v UEFI, nie je v pohode.

V dôsledku toho som sa rozhodol pridať možnosť zavádzania do UEFI a šiel som na Google.

Ale nenašiel som štruktúrované informácie o tom, ako získať funkčný WDS + UEFI.
Vlastne aj preto som sa rozhodol napísať tento článok.

Skôr ako začnem, popíšem problém, ktorý zabral najviac času.

Pri pridávaní UEFI do WDS je možná nasledujúca, skôr nezrejmá situácia:

Ak pridáte zavádzací súbor do WDS a keď sa pokúsite spustiť na zariadení
v UEFI vidíte nasledujúci text:
The selected boot device failed. Press <Enter> to Continue.
alebo Boot Device Not Found
Ale načítanie v staršej verzii funguje pre vás.
Potom je jednou z možných možností absencia súboru wdsmgfw.efi,
po nasledujúcej ceste: %WDSpath%Bootx64wdsmgfw.efi

Môžete si to vziať tu: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Alebo, ak vám z nejakého dôvodu tento súbor chýba, uverejnil som ho na Google.
Za toto riešenie ďakujem chlapci z reddit.

S týmto problémom som zabil najviac času, pretože. Myslel som si, že problém je niekde v konfigurácii WDS alebo DHCP.

Konfigurované politiky pridaním tried dodávateľov pre rôzne architektúry a nastavením možností DHCP 060, 066, 067. Inštrukcie na konfiguráciu politík DHCP.

Architektúry v ASCII na konfiguráciu DHCP

PXEClient:Arch:00000 - BIOS/Legacy
PXEClient:Arch:00006 - UEFI x86
PXEClient:Arch:00007 - UEFI x64

Tiež som vyskúšal rôzne možnosti pre zavádzacie súbory. .efi

  • syslinux
  • grub 2

Tiež som sa pokúsil nájsť problém v denníku udalostí.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics

Ale ako som povedal vyššie, problém spočíval v súbore wdsmgfw.efi.
Buď som to omylom zmazal sám, alebo sa to neskopírovalo pri inštalácii
a konfiguráciu WDS.

Nuž, začnime!

Inštrukcie

Fáza 1 – Overte, či WDS funguje

Vezmite si akékoľvek zariadenie alebo virtuálny stroj s podporou zavádzania v režime UEFI cez sieť a skúste zaviesť systém.

Mali by ste mať nasledujúci obrázok:

Rozšírenie funkčnosti WDS: Pridanie UEFI Boot Capability

Ak áno, skvelé, môžete pokračovať.
Ak nie, pozrite si, čo som napísal v predslove.

Fáza 2 - Vytvorenie spúšťacieho súboru iPXE

Spustíme predpripravené Ubuntu, otvoríme terminál a prilepíme tento riadok:

git clone https://git.ipxe.org/ipxe.git ipxe

Rozšírenie funkčnosti WDS: Pridanie UEFI Boot Capability

Tu by som chcel urobiť malú poznámku, že možno budete musieť pridať balíčky do Ubuntu, ktoré sú potrebné na kompiláciu C a C ++.
Mám ich len nainštalované.

Stiahnuté? - Skvelé!
Teraz musíte vytvoriť konfiguračný súbor pre zostavu.
V termináli napíšeme:

cd ipxe/src
gedit chain.ipxe

Do tohto súboru vložte nasledujúci kód a potom ho uložte:

#!ipxe

dhcp
chain http://%IP-address-your-IIS-server%/install.ipxe

Vrátime sa do terminálu a spustíme kompiláciu:

make bin-x86_64-efi/ipxe.efi EMBED=chain.ipxe

Rozšírenie funkčnosti WDS: Pridanie UEFI Boot Capability

Ak je všetko v poriadku, mali by ste v termináli dostať nasledujúci výstup:

Rozšírenie funkčnosti WDS: Pridanie UEFI Boot Capability

A súbor ipxe.efi, pozdĺž cesty: ipxe/src/bin-x86_64-efi/ipxe.efi
Ak z nejakého dôvodu nemôžete kompilovať sami,
Priložil som svoje файл.
Je skompilovaný tak, aby z neho mohol bootovať http://192.168.0.100/install.ipxe

To je pre Ubuntu všetko.

Krok 3 – Pridanie ipxe.efi do WDS

Vezmeme súbor, ktorý sme dostali v druhej fáze, a skopírujeme ho po ceste:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Potom, čo ho premenujeme na BOOTX64.EFI.
Nie je to potrebné, je to len pohodlnejšie.

Potom spustíme cmd v mene správcu a napíšte nasledujúce prí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

Toto nastaví výsledný súbor na stiahnutie cez WDS.

Skontrolujeme konfiguráciu:

wdsutil /get-server /Show:Config

Rozšírenie funkčnosti WDS: Pridanie UEFI Boot Capability

Skopíroval som aj súbor ipxe.efi, premenoval som ho na BOOTIA32.EFI a pre každý prípad som mu nakonfiguroval bootovanie. architecture:x86uefi
Ale celkovo to nedáva zmysel, pretože. Súbor Bootmgfw.efi nepodporuje x86

Pozrime sa, čo sa stalo.
Rozšírenie funkčnosti WDS: Pridanie UEFI Boot Capability
Výborne, WDS odošle náš súbor na stiahnutie a on zase vyhľadá konfiguráciu na ceste: http://192.168.0.100/install.ipxe

Krok 4 - Konfigurácia ponuky

Prejdite do koreňového priečinka vašej lokality.
Predvolená hodnota je: C:inetpubwwwroot

Vytvorte textový súbor install.ipxe.

a nakonfigurujte ho podľa dokumentáciu a vaše potreby.
Existuje aj ruský jazyk описание príkazy.
užil som si toto pokyny pri konfigurácii vášho WDS.

Príklad konfigurácie 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 prečítať o konfigurácii načítania winPE tu.

5. fáza – typy MIME

Po vytvorení ponuky a pridaní všetkých potrebných súborov do koreňového priečinka IIS,
musíte im poskytnúť prístup.

Pretože aj keď sa pokúsite stiahnuť súbor z prehliadača, na jeho adrese sa zobrazí chyba: HTTP 404.3 - Not Found.
Rozšírenie funkčnosti WDS: Pridanie UEFI Boot Capability

Ak to chcete urobiť, musíte do ovládacieho panela IIS pridať typy MIME
s príponami súborov, ktoré si stiahnete cez http.

Nehľadal som, ktorý typ MIME je na tento účel najvhodnejší, a spýtal som sa application/octet-stream, po ktorom všetko fungovalo.

Pre súbory, ktoré nemajú príponu, použite bodku.

Tu:

Rozšírenie funkčnosti WDS: Pridanie UEFI Boot Capability

Záver

V konečnom dôsledku získame možnosť bootovania cez lokálnu sieť cez UEFI.

Ak sme urobili všetko správne, potom bude niečo ako táto ponuka výberu zavádzania:

Rozšírenie funkčnosti WDS: Pridanie UEFI Boot Capability

Ak máte pripravené základné nástroje a nebudete sa trápiť s konfiguráciou, tak implementácia tejto funkcie trvá približne 10-20 minút.
Trvalo mi to 2 pracovné dni, pretože. Musel som veľa googliť.

Úspešná implementácia!

Ďakujem za pozornosť a veľmi pekne ďakujem tým ľuďom, ktorých články mi pomohli!
Na Habré je to: Ingtar и Deeptown.

Zdroj: hab.com

Pridať komentár