Proširenje WDS funkcionalnosti: Dodavanje UEFI mogućnosti pokretanja

Pozdrav!

Ovaj članak opisuje korake koje trebate slijediti kako biste svom WDS-u dodali mogućnost UEFI pokretanja.

Oni. Upute u ovom članku pretpostavljaju da već imate sljedeću konfiguraciju:

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

Također, ovdje su opisane radnje koje mi nisu donijele pravi rezultat.
Opisao sam ih kako bih vam olakšao pretragu i uštedio vrijeme.

predgovor

Napravio sam WDS na poslu s puno dobrih stvari, tk. umoran od neprestanog trčanja uokolo s hrpom flash pogona i njihovog prepisivanja.

Ovi članci su mi usput pomogli:
Dodavanje WDS svestranosti
PXE izbornik za pokretanje s System Center Configuration Managerom


Ovako izgleda

Proširenje WDS funkcionalnosti: Dodavanje UEFI mogućnosti pokretanja

I sve je bilo u redu, dodane su nove slike za učitavanje, winPE slika je obrasla novim značajkama i sve je radilo.

No, daleko od toga da svi uređaji podržavaju BIOS / Legacy način pokretanja, ili ako ga podržavaju, onda njegovo uključivanje može biti na vrlo neočiglednom mjestu.

Da, i instaliranje Windowsa u naslijeđenom načinu rada, kada je moguće instalirati u UEFI, nije cool.

Kao rezultat toga, odlučio sam dodati mogućnost pokretanja u UEFI i otišao na Google.

Ali nisam pronašao strukturirane informacije o tome kako dobiti radni WDS + UEFI.
Zapravo, zato sam odlučio napisati ovaj članak.

Prije nego počnem, opisat ću problem koji je oduzeo najviše vremena.

Prilikom dodavanja UEFI-ja u WDS moguća je sljedeća, prilično neočita situacija:

Ako dodate datoteku za pokretanje u WDS i kada se pokušate pokrenuti na uređaju
u UEFI-ju vidite sljedeći tekst:
The selected boot device failed. Press <Enter> to Continue.
ili Boot Device Not Found
Ali učitavanje nasljeđa radi za vas.
Tada je jedna od mogućih opcija odsutnost datoteke wdsmgfw.efi,
sljedećom stazom: %WDSpath%Bootx64wdsmgfw.efi

Možete ga preuzeti ovdje: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Ili, ako vam iz nekog razloga ova datoteka nedostaje, objavio sam je na google.
Za ovo rješenje, hvala dečki iz reddit.

Sa ovim problemom sam ubio najviše vremena, jer. Mislio sam da je problem negdje u WDS ili DHCP konfiguraciji.

Konfigurirana pravila dodavanjem klasa dobavljača za različite arhitekture i postavljanjem DHCP opcija 060, 066, 067. Nastava za konfiguriranje DHCP pravila.

Arhitekture u ASCII za konfiguriranje DHCP-a

PXEClient:Arch:00000 - BIOS/naslijeđe
PXEClient:Arch:00006 - UEFI x86
PXEClient:Arch:00007 - UEFI x64

Također, isprobao sam razne opcije za datoteke za pokretanje. .efi

  • syslinux
  • grubo 2

Također sam pokušao pronaći problem u dnevniku događaja.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics

Ali, kao što sam već rekao, problem je bio u datoteci wdsmgfw.efi.
Ili sam ga slučajno sam izbrisao ili nije kopiran tijekom instalacije
i konfiguriranje WDS-a.

Pa, počnimo!

Nastava

Faza 1 - Provjerite radi li WDS

Uzmite bilo koji uređaj ili virtualni stroj s podrškom za dizanje u UEFI modu preko mreže i pokušajte se dignuti.

Trebali biste imati sljedeću sliku:

Proširenje WDS funkcionalnosti: Dodavanje UEFI mogućnosti pokretanja

Ako je tako, super, možete nastaviti.
Ako ne, onda pogledajte što sam napisao u predgovoru.

Faza 2 - Izrada iPXE datoteke za pokretanje

Pokrećemo unaprijed pripremljeni Ubuntu, otvaramo terminal i zalijepimo ovaj redak:

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

Proširenje WDS funkcionalnosti: Dodavanje UEFI mogućnosti pokretanja

Ovdje bih želio napraviti malu napomenu da ćete možda morati dodati pakete u Ubuntu koji su potrebni za kompajliranje C i C++.
Upravo sam ih instalirao.

Preuzeto? - Sjajno!
Sada trebate napraviti konfiguracijsku datoteku za sklop.
U terminalu pišemo:

cd ipxe/src
gedit chain.ipxe

I zalijepite sljedeći kod u ovu datoteku, a zatim spremite:

#!ipxe

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

Vraćamo se na terminal i započinjemo kompilaciju:

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

Proširenje WDS funkcionalnosti: Dodavanje UEFI mogućnosti pokretanja

Ako je sve u redu, trebali biste dobiti sljedeći izlaz na terminalu:

Proširenje WDS funkcionalnosti: Dodavanje UEFI mogućnosti pokretanja

I turpija ipxe.efi, Putem: ipxe/src/bin-x86_64-efi/ipxe.efi
Ako iz nekog razloga ne možete sami sastaviti,
Priložio sam svoj datoteku.
Kompajliran je za pokretanje sustava http://192.168.0.100/install.ipxe

To je sve za Ubuntu.

Korak 3 - Dodavanje ipxe.efi u WDS

Uzimamo datoteku koju smo dobili u drugoj fazi i usput je kopiramo:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Nakon što ga preimenujemo u BOOTX64.EFI.
Nije potrebno, samo je zgodnije.

Zatim pokrećemo cmd u ime administratora i napišite sljedeće naredbe:

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

Ovo će postaviti rezultirajuću datoteku za preuzimanje putem WDS-a.

Provjerimo konfiguraciju:

wdsutil /get-server /Show:Config

Proširenje WDS funkcionalnosti: Dodavanje UEFI mogućnosti pokretanja

Također sam kopirao datoteku ipxe.efi, preimenovao je u BOOTIA32.EFI i konfigurirao pokretanje za nju, za svaki slučaj. architecture:x86uefi
Ali u velikoj mjeri, ovo nema smisla, jer. Bootmgfw.efi datoteka ne podržava x86

Provjerimo što se dogodilo.
Proširenje WDS funkcionalnosti: Dodavanje UEFI mogućnosti pokretanja
Sjajno, WDS šalje našu datoteku za preuzimanje, a ona zauzvrat traži konfiguraciju duž putanje: http://192.168.0.100/install.ipxe

Korak 4 - Konfiguracija izbornika

Idite u korijensku mapu svoje stranice.
Zadano je: C:inetpubwwwroot

Stvorite tekstualnu datoteku instalirati.ipxe.

i konfigurirajte ga prema dokumentacija i vaše potrebe.
Postoji i ruski jezik описание naredbe.
Uživao sam ovo upute prilikom konfiguriranja vašeg WDS-a.

primjer konfiguracije 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

Možete pročitati o konfiguraciji za učitavanje winPE здесь.

Faza 5 - MIME tipovi

Nakon stvaranja izbornika i dodavanja svih potrebnih datoteka u korijensku mapu IIS-a,
morate im omogućiti pristup.

Jer čak i ako pokušate preuzeti datoteku iz preglednika, dobit ćete grešku na njenoj adresi: HTTP 404.3 - Not Found.
Proširenje WDS funkcionalnosti: Dodavanje UEFI mogućnosti pokretanja

Da biste to učinili, trebate dodati MIME tipove na IIS kontrolnoj ploči, u skladu s tim
s nastavcima datoteka koje ćete preuzeti putem http.

Nisam tražio koji MIME tip je najbolji za ovu svrhu i pitao sam application/octet-stream, nakon čega je sve radilo.

Za datoteke koje nemaju ekstenziju koristite točku.

Ovdje ovako:

Proširenje WDS funkcionalnosti: Dodavanje UEFI mogućnosti pokretanja

Zaključak

U konačnici dobivamo mogućnost dizanja preko lokalne mreže kroz UEFI.

Ako smo sve učinili ispravno, pojavit će se nešto poput ovog izbornika za odabir pokretanja:

Proširenje WDS funkcionalnosti: Dodavanje UEFI mogućnosti pokretanja

Ako ste pripremili osnovne alate i nećete se zamarati konfiguracijom, potrebno je oko 10-20 minuta da implementirate ovu značajku.
Trebalo mi je 2 radna dana, jer. Morao sam puno guglati.

Uspješna implementacija!

Hvala vam na pažnji i puno hvala onim ljudima čiji su mi članci pomogli!
Na Habréu je: Ingtar и Deeptown.

Izvor: www.habr.com

Dodajte komentar