Pozdrav svima!
U ovom članku opisani su koraci koje je potrebno poduzeti kako biste svom WDS-u dodali mogućnost pokretanja u UEFI načinu.
Odnosno, upute u ovom članku pretpostavljaju da već imate otprilike sljedeću konfiguraciju:
1. Windows Server 2012R2 (ili noviji) 2. Potpuno podešeni DHCP za rad s WDS-om 3. Sam WDS 4. IIS 5. Virtualna mašina ili PC s UbuntuTakođer, ovdje su opisani postupci koji mi nisu donijeli očekivani rezultat.
Opisao sam ih kako bih olakšao pretraživanje i uštedio vaše vrijeme.
Predgovor
Na poslu sam nekako postavio WDS s brojnim funkcionalnostima, budući da sam bio umoran od stalnog trčanja s hrpom USB flash diskova i ponovnog zapisa.
Pomoćne članke pronašao sam ovdje:
Izgleda ovako

I sve je bilo dobro, dodavali su se novi slike za pokretanje, WinPE slika je obogaćena novim mogućnostima i sve je radilo.
Međutim, većina uređaja više ne podržava BIOS/Legacy način pokretanja, a ako ga podržava, njegovo uključivanje može biti na vrlo neprimjetnom mjestu.
Osim toga, instalacija Windows-a u legacy načinu, kada postoji mogućnost instalacije u UEFI — nije cool.
Na kraju sam odlučio dodati mogućnost pokretanja u UEFI, i krenuo sam u Google.
Ali nisam pronašao strukturirane informacije kako dobiti radni WDS + UEFI.
Zato sam odlučio napisati ovaj članak.
Prije nego započnem, opisat ću problem koji mi je oduzeo najviše vremena.
Pri dodavanju UEFI u WDS može se dogoditi sljedeća, prilično nejasna situacija:
Ako dodate boot datoteku u WDS i prilikom pokušaja pokretanja na uređaju
u UEFI vidite sljedeći tekst:
Odabrani uređaj za pokretanje nije uspio. Pritisnite za nastavak.
Ili Uređaj za pokretanje nije pronađen
Ali boot u legacy načinu radi.
Tada je jedan od mogućih uzroka - nedostatak datoteke wdsmgfw.efi,
na sljedećem putu: %WDSpath%Bootx64wdsmgfw.efi
Možete ga preuzeti ovdje: C:\Windows\System32\RemInst\bootx64wdsmgfw.efi
Ili, ako vam iz nekog razloga nedostaje ova datoteka, ja sam je stavio na .
Za ovo rješenje zahvaljujem dečkima s .
Ovaj problem mi je oduzeo najviše vremena, jer sam mislio da problem leži negdje u konfiguraciji WDS-a ili DHCP-a.
Podešavao sam politike putem dodavanja klase dobavljača za različite arhitekture i konfiguriranjem DHCP opcija 060, 066, 067. o postavkama DHCP politika.
ASCII arhitekture za postavku DHCP
PXEClient:Arch:00000 — BIOS/Legacy
PXEClient:Arch:00006 — UEFI x86
PXEClient:Arch:00007 — UEFI x64
Također, isprobao sam razne verzije pokretačkih datoteka .efi
- syslinux
- grub 2
Također sam pokušavao pronaći problem u zapisniku događaja.
win + r -> eventvwr -> Zapisnici aplikacija i usluga -> Microsoft -> Windows -> Deployment-Services-Diagnostics
No, kao što sam već spomenuo, problem je bio u datoteci wdsmgfw.efi.
Ili sam je slučajno obrisao, ili se nije kopirala tijekom instalacije
i postavke WDS-a.
Pa, krenimo!
Upute
Korak 1 — Provjera funkcionalnosti WDS-a
Uzmite bilo koji uređaj ili virtualnu mašinu koja podržava mrežno pokretanje u UEFI modu i pokušajte se pokrenuti.
Trebali biste vidjeti sljedeći prikaz:

Ako je tako, izvrsno, možemo nastaviti.
Ako nije, pogledajte što sam napisao u uvodu.
Korak 2 — Izgradnja pokretačke datoteke iPXE
Pokrećemo prethodno pripremljeni Ubuntu, otvaramo terminal i umetnemo ovu liniju:
git clone https://git.ipxe.org/ipxe.git ipxe
Ovdje bih želio napomenuti da ćete možda morati dodati pakete potrebne za kompajliranje C i C++ u Ubuntu.
Jednostavno, već su bili instalirani kod mene.
Je li preuzeto? — Odlično!
Sada treba napraviti konfiguracijsku datoteku za izgradnju.
U terminalu pišemo:
cd ipxe/src
gedit chain.ipxeI umetnite sljedeći kod u ovu datoteku, a zatim spremite:
#!ipxe
dhcp
chain http://%IP-address-your-IIS-server%/install.ipxePonovno idemo u terminal i pokrećemo kompajliranje:
make bin-x86_64-efi/ipxe.efi EMBED=chain.ipxe
Ako je sve u redu, trebali biste dobiti sljedeći izlaz u terminalu:

A datoteka ipxe.efi, na putu: ipxe/src/bin-x86_64-efi/ipxe.efi
Ako iz bilo kojeg razloga niste mogli samostalno kompilirati,
priložio sam svoj .
On je kompajliran za pokretanje s http://192.168.0.100/install.ipxe
To bi bilo sve za Ubuntu.
Korak 3 — Dodavanje ipxe.efi u WDS
Uzmi datoteku koju smo dobili u drugom koraku i kopiraj je na put:
%WDSpath%Bootx64%your-boot-folderIBOOT
Nakon toga je preimenuj u BOOTX64.EFI.
To nije obavezno, samo je lakše.
Zatim pokrećemo cmd s administrator pravima i upišemo sljedeće naredbe:
wdsutil /set-server /bootprogram:Bootx64%your-boot-folderIBOOTBOOTX
64.EFI /architecture:x64uefi
i
wdsutil /set-server /N12bootprogram:Bootx64%your-boot-folderIBOOTBOOTX
64.EFI /architecture:x64uefiTime postavljamo dobivenu datoteku za pokretanje preko WDS-a.
Provjerimo konfiguraciju:
wdsutil /get-server /Show:Config
Također sam kopirao datoteku ipxe.efi, preimenovao je u BOOTIA32.EFI i konfigurisao pokretanje za nju, za svaki slučaj. architecture:x86uefi
U osnovi nema smisla jer datoteka Bootmgfw.efi ne podržava x86.
Provjerimo što smo postigli.

Odlično, WDS prenosi našu datoteku za pokretanje i ona zauzvrat traži konfiguraciju na putu: http://192.168.0.100/install.ipxe
Korak 4 — Konfiguracija izbornika
Idemo u glavnu mapu vaše stranice.
Po zadanim postavkama, to je: C:inetpubwwwroot
Stvaramo tekstualnu datoteku install.ipxe.
I konfiguriramo je prema i vašim potrebama.
Također imamo verziju na ruskom naloga.
Koristio sam upute za konfiguraciju svog 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 failedO konfiguraciji za pokretanje winPE-a možete pročitati .
Korak 5 — MIME tipovi
Nakon stvaranja izbornika i dodavanja svih potrebnih datoteka u glavnu mapu IIS-a,
trebali bismo im omogućiti pristup.
Jer čak i ako pokušate preuzeti datoteku iz preglednika preko njene adrese, dobit ćete pogrešku: HTTP 404.3 - Nije pronađeno.

Za to je potrebno u upravljačkoj ploči IIS-a dodati MIME tipove, prema
ekstenzijama datoteka koje će se učitavati putem http-a.
Nisam tražio koji MIME tip je bolji za ove svrhe, pa sam postavio application/oсtet-stream, nakon čega je sve počelo raditi.
Za datoteke bez ekstenzije, koristite točku.
Ovako:

Zaključak
Na kraju, imamo mogućnost pokretanja putem lokalne mreže s UEFI-jem.
Ako smo sve napravili ispravno, bit će otprilike ovakav izbornik za odabir pokretanja:

Ako ste pripremili osnovne alate i nećete se previše zamarati konfiguracijom, trebate otprilike 10-20 minuta za implementaciju ove mogućnosti.
Meni je trebalo 2 radna dana jer sam morao puno tražiti.
Sretno s implementacijom!
Hvala na pažnji i ogroman hvala ljudima čiji su mi članci pomogli!
Na Habré to je: i .
Izvor: habr.com
