Hej alla!
Den här artikeln beskriver de steg du måste följa för att lägga till UEFI-startkapacitet till din WDS.
De där. Instruktionerna i den här artikeln förutsätter att du redan har följande konfiguration:
1. Windows Server 2012R2 (или новее)
2. Полностью настроенный DHCP для работы с WDS
3. Собственно сам WDS
4. IIS
5. Виртуальная машина или ПК с Ubuntu
Här beskrivs också åtgärder som inte gav mig rätt resultat.
Jag beskrev dem för att underlätta sökningen och spara tid.
Förord
Jag gjorde en WDS på jobbet med en massa godsaker, tk. trött på att ständigt springa runt med en massa flash-enheter och skriva över dem.
Dessa artiklar hjälpte mig förresten:
Och allt var bra, nya bilder lades till för laddning, winPE-bilden var övervuxen med nya funktioner och allt fungerade.
Men långt ifrån alla enheter stöder BIOS / Legacy-startläge, eller om de gör det, kan det vara på en mycket icke-uppenbar plats.
Ja, och att installera windows i äldre läge, när det är möjligt att installera i UEFI, är inte coolt.
Som ett resultat bestämde jag mig för att lägga till möjligheten att starta upp i UEFI och gick till Google.
Men jag hittade inte strukturerad information om hur man får en fungerande WDS + UEFI.
Det var faktiskt därför jag bestämde mig för att skriva den här artikeln.
Innan jag börjar kommer jag att beskriva det problem som tog mest tid.
När du lägger till UEFI till WDS är följande, ganska icke-uppenbara situation möjlig:
Om du lägger till en startfil till WDS och när du försöker starta på enheten
i UEFI ser du följande text:
The selected boot device failed. Press <Enter> to Continue.
Eller Boot Device Not Found
Men att ladda in äldre fungerar för dig.
Då är ett av de möjliga alternativen frånvaron av en fil wdsmgfw.efi,
längs följande väg: %WDSpath%Bootx64wdsmgfw.efi
Du kan ta det här: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Eller, om den här filen av någon anledning saknas för dig, lade jag upp den på
För denna lösning, tack killar från
Med detta problem dödade jag mest tid, eftersom. Jag trodde att problemet låg någonstans i WDS- eller DHCP-konfigurationen.
Konfigurerade policyer genom att lägga till leverantörsklasser för olika arkitekturer och ställa in DHCP-alternativ 060, 066, 067.
Arkitekturer i ASCII för att konfigurera DHCP
PXEClient:Arch:00000 - BIOS/Legacy
PXEClient:Arch:00006 - UEFI x86
PXEClient:Arch:00007 - UEFI x64
Jag provade också olika alternativ för startfiler. .efi
- syslinux
- grub 2
Jag försökte också hitta problemet i händelseloggen.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics
Men som jag sa ovan låg problemet i filen wdsmgfw.efi.
Antingen raderade jag den av misstag själv, eller så kopierades den inte under installationen
och konfigurera WDS.
Nåväl, låt oss börja!
Instruktion
Steg 1 - Kontrollera att WDS fungerar
Ta valfri enhet eller virtuell maskin med stöd för uppstart i UEFI-läge över nätverket och försök starta.
Du bör ha följande bild:
Om så är fallet, bra, du kan fortsätta.
Om inte, se vad jag skrev i förordet.
Steg 2 - Bygga iPXE-startfilen
Vi startar förberedd Ubuntu, öppnar en terminal och klistrar in den här raden:
git clone https://git.ipxe.org/ipxe.git ipxe
Här skulle jag vilja göra en liten anmärkning om att du kan behöva lägga till paket till Ubuntu som är nödvändiga för att kompilera C och C++.
Jag har bara installerat dem.
Nedladdat? - Bra!
Nu måste du göra en konfigurationsfil för monteringen.
I terminalen skriver vi:
cd ipxe/src
gedit chain.ipxe
Och klistra in följande kod i den här filen och spara sedan:
#!ipxe
dhcp
chain http://%IP-address-your-IIS-server%/install.ipxe
Vi går tillbaka till terminalen och startar kompileringen:
make bin-x86_64-efi/ipxe.efi EMBED=chain.ipxe
Om allt är i sin ordning, bör du få följande utgång i terminalen:
Och fil ipxe.efi, längs vägen: ipxe/src/bin-x86_64-efi/ipxe.efi
Om du av någon anledning inte kan kompilera på egen hand,
Jag har bifogat min
Den är kompilerad för att starta upp från http://192.168.0.100/install.ipxe
Det är allt för Ubuntu.
Steg 3 - Lägga till ipxe.efi till WDS
Vi tar filen som vi fick i det andra steget och kopierar den längs vägen:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Efter att vi döpt om det till BOOTX64.EFI.
Det är inte nödvändigt, det är bara bekvämare.
Sedan lanserar vi cmd på uppdrag av administratören och skriv följande kommandon:
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
Detta kommer att ställa in den resulterande filen för att laddas ner via WDS.
Låt oss kontrollera konfigurationen:
wdsutil /get-server /Show:Config
Jag kopierade också filen ipxe.efi, döpte om den till BOOTIA32.EFI och konfigurerade boot för den, för säkerhets skull. architecture:x86uefi
Men i stort sett är detta ingen mening, eftersom. Bootmgfw.efi-filen stöder inte x86
Låt oss kolla vad som hände.
Bra, WDS skickar vår fil för nedladdning och den letar i sin tur efter konfigurationen längs vägen: http://192.168.0.100/install.ipxe
Steg 4 - Menykonfiguration
Gå till rotmappen på din webbplats.
Standard är: C:inetpubwwwroot
Skapa en textfil install.ipxe.
och konfigurera den enligt
Det finns också ett ryskt språk
jag njöt
install.ipxe-konfigurationsexempel
#!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
Du kan läsa om konfigurationen för att ladda winPE
Steg 5 - MIME-typer
Efter att ha skapat menyn och lagt till alla nödvändiga filer i IIS-rotmappen,
du måste ge dem tillgång.
Därför att även om du försöker ladda ner en fil från webbläsaren får du ett felmeddelande på dess adress: HTTP 404.3 - Not Found
.
För att göra detta måste du lägga till MIME-typer i IIS-kontrollpanelen, i enlighet med detta
med filtillägg som du laddar ner via http.
Jag letade inte efter vilken MIME-typ som är bäst för detta ändamål och frågade application/octet-stream
, varefter allt fungerade.
För filer som inte har ett tillägg, använd en prick.
Här så:
Slutsats
I slutändan får vi möjligheten att starta upp över ett lokalt nätverk genom UEFI.
Om vi gjorde allt korrekt, kommer det att finnas något i stil med denna startvalsmeny:
Om du har förberett de grundläggande verktygen och du inte kommer att bry dig om konfigurationen, tar det cirka 10-20 minuter att implementera den här funktionen.
Det tog mig 2 arbetsdagar, eftersom. Jag var tvungen att googla mycket.
Lyckad implementering!
Tack för din uppmärksamhet och stort tack till de människor vars artiklar hjälpte mig!
På Habré är det:
Källa: will.com