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:
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
Za ovo rješenje, hvala momci iz
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.
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:
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
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
Ako je sve u redu, trebali biste dobiti sljedeći izlaz u terminalu:
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
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
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.
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
Postoji i ruski jezik
Uživao sam
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 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
.
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:
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:
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:
izvor: www.habr.com