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

Pozdrav svima!

Ovaj članak opisuje korake koje trebate slijediti da dodate mogućnost UEFI pokretanja vašem WDS-u.

One. 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 odgovarajući rezultat.
Opisao sam ih kako bih olakšao pretragu i uštedio vaše vrijeme.

Predgovor

Napravio sam WDS na poslu sa puno poslastica, tk. umoran od stalnog trčanja sa gomilom fleš diskova i prepisivanja.

Usput su mi pomogli ovi članci:
Dodavanje WDS svestranosti
PXE meni za pokretanje sa System Center Configuration Manager


To izgleda ovako

Proširivanje 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 karakteristikama i sve je radilo.

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

Da, i instaliranje windowsa u legacy modu, kada je moguće instalirati u UEFI, nije cool.

Kao rezultat toga, odlučio sam da dodam 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 da napišem ovaj članak.

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

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

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

Možete ga uzeti ovdje: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Ili, ako vam iz nekog razloga nedostaje ovaj fajl, postavio sam ga na Google.
Za ovo rješenje, hvala momci iz reddit.

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

Konfigurisane politike dodavanjem Klasa dobavljača za različite arhitekture i postavljanjem DHCP opcija 060, 066, 067. Upute za konfigurisanje DHCP politika.

Arhitekture u ASCII za konfigurisanje DHCP-a

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

Takođe, isprobao sam razne opcije za boot fajlove. .efi

  • syslinux
  • gruba 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 rekao gore, problem je ležao u fajlu wdsmgfw.efi.
Ili sam ga sam slučajno obrisao ili nije kopiran tokom instalacije
i konfigurisanje WDS-a.

Pa, hajde da počnemo!

Upute

Faza 1 - Provjerite da WDS radi

Uzmite bilo koji uređaj ili virtuelnu mašinu sa podrškom za pokretanje u UEFI modu preko mreže i pokušajte da se pokrenete.

Trebali biste imati sljedeću sliku:

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

Ako je tako, odlično, možete nastaviti.
Ako ne, onda pogledajte šta sam napisao u predgovoru.

Faza 2 - Izrada iPXE datoteke za pokretanje

Pokrećemo unaprijed pripremljeni Ubuntu, otvaramo terminal i lijepimo ovu liniju:

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

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

Ovde bih želeo da napravim malu napomenu da ćete možda morati da dodate pakete u Ubuntu koji su neophodni za kompajliranje C i C++.
Upravo sam ih instalirao.

Preuzeto? - Super!
Sada morate napraviti konfiguracijski fajl za sklop.
U terminalu pišemo:

cd ipxe/src
gedit chain.ipxe

I zalijepite sljedeći kod u ovu datoteku, a zatim sačuvajte:

#!ipxe

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

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

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

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

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

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

I fajl ipxe.efi, usput: ipxe/src/bin-x86_64-efi/ipxe.efi
Ako iz nekog razloga ne možete sami sastaviti,
Priložio sam svoj fajl.
Kompajliran je za pokretanje iz 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 kopiramo:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Nakon što ga preimenujemo u BOOTX64.EFI.
Nije neophodno, samo je zgodnije.

Onda 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širivanje WDS funkcionalnosti: Dodavanje UEFI mogućnosti pokretanja

Takođe sam kopirao ipxe.efi fajl, preimenovao ga u BOOTIA32.EFI i konfigurisao pokretanje za njega, za svaki slučaj. architecture:x86uefi
Ali uglavnom, ovo nema smisla, jer. Datoteka Bootmgfw.efi ne podržava x86

Hajde da proverimo šta se desilo.
Proširivanje WDS funkcionalnosti: Dodavanje UEFI mogućnosti pokretanja
Odlično, WDS šalje našu datoteku na preuzimanje, a on zauzvrat traži konfiguraciju duž putanje: http://192.168.0.100/install.ipxe

Korak 4 - Konfiguracija menija

Idite u osnovnu mapu vaše stranice.
Zadana postavka je: C:inetpubwwwroot

Kreirajte tekstualni fajl install.ipxe.

i konfigurišite ga u skladu sa dokumentaciju i vašim potrebama.
Postoji i ruski jezik описание komande.
Uživao sam ovo uputstva prilikom konfigurisanja 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 ovdje.

Faza 5 - MIME tipovi

Nakon kreiranja menija i dodavanja svih potrebnih datoteka u IIS root folder,
morate im dati pristup.

Jer čak i ako pokušate da preuzmete datoteku iz pretraživača, dobićete grešku na njenoj adresi: HTTP 404.3 - Not Found.
Proširivanje WDS funkcionalnosti: Dodavanje UEFI mogućnosti pokretanja

Da biste to uradili, potrebno je da dodate MIME tipove u IIS kontrolnu tablu, u skladu sa tim
sa ekstenzijama datoteka koje ćete preuzeti putem http.

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

Za datoteke koje nemaju ekstenziju, koristite tačku.

Ovdje:

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

zaključak

Na kraju, dobijamo mogućnost pokretanja preko lokalne mreže putem UEFI-ja.

Ako smo sve uradili kako treba, postojaće nešto poput ovog menija za izbor pokretanja:

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

Ako ste pripremili osnovne alate i nećete se zamarati konfiguracijom, potrebno je oko 10-20 minuta za implementaciju ove funkcije.
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