Hej alla!
I denna artikel beskrivs stegen som behövs för att lÀgga till möjlighet till UEFI-bootning till din WDS.
D.v.s. instruktionen i denna artikel förutsÀtter att du har en ungefÀrlig konfiguration enligt följande:
1. Windows Server 2012R2 (eller nyare)
2. Helt konfigurerad DHCP för att arbeta med WDS
3. SjÀlva WDS
4. IIS
5. En virtuell maskin eller PC med UbuntuDetta inkluderar ocksÄ ÄtgÀrder som inte gav mig det önskade resultatet.
Jag har beskrivit dem för att underlÀtta sökningen och spara din tid.
Förord
Jag satte upp WDS med flera funktioner pÄ jobbet, eftersom jag var trött pÄ att stÀndigt springa runt med en massa stickor och ÄterbrÀnna dem.
Dessa artiklar hjÀlpte mig för övrigt dÄ:
SÄ hÀr ser det ut

Och allt gick bra, nya bootbilder lades till, winPE-bilden fick fler funktioner och allt fungerade.
Men lÄngt ifrÄn alla enheter stöder BIOS/Legacy bootlÀge, och Àven om de gör det kan aktiveringen befinna sig pÄ en mycket otydlig plats.
Och att installera Windows i legacylĂ€ge nĂ€r det finns möjlighet att installera i UEFI â Ă€r inte optimalt.
SÄ jag bestÀmde mig för att lÀgga till möjligheten för UEFI-bootning och sökte pÄ Google.
Men jag fann ingen strukturerad information om hur man fÄr en fungerande WDS + UEFI.
SĂ„ anledningen till att jag skrev denna artikel.
Innan jag börjar kommer jag att beskriva problemet som tog mest tid.
Vid tillÀgg av UEFI till WDS kan en ganska otydlig situation uppstÄ:
Om du lÀgger till en bootfil till WDS och försöker boota pÄ en enhet
i UEFI ser du följande text:
The selected boot device failed. Press to Continue.
Eller Boot Device Not Found
Men bootning i legacy fungerar.
DÄ kan en av de möjliga orsakerna vara avsaknaden av filen wdsmgfw.efi,
i följande sökvÀg: %WDSpath%Bootx64wdsmgfw.efi
Du kan hÀmta den hÀr: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Eller om du av nÄgon anledning saknar denna fil har jag laddat upp den pÄ .
Tack för denna lösning till grabbarna frÄn .
Jag la ner mest tid pÄ detta problem, eftersom jag trodde att det var nÄgot fel pÄ konfigurationen av WDS eller DHCP.
Jag justerade policyer genom att lÀgga till Vendor Classes för olika arkitekturer och konfigurerade DHCP-alternativ 060, 066, 067. om att justera DHCP-policyer.
Arkitekturer i ASCII för DHCP-konfiguration
PXEClient:Arch:00000 â BIOS/Legacy
PXEClient:Arch:00006 â UEFI x86
PXEClient:Arch:00007 â UEFI x64
Jag testade ocksÄ olika alternativ för bootfiler .efi
- syslinux
- grub 2
Jag försökte ocksÄ hitta problemet i loggen.
win + r -> eventvwr -> Applikations- och tjÀnstloggar -> Microsoft -> Windows -> Deployment-Services-Diagnostics
Men som jag nÀmnde tidigare lÄg problemet i filen wdsmgfw.efi.
Antingen rÄkade jag ta bort den, eller sÄ kopierades den inte vid installationen
och konfigurationen av WDS.
NÄvÀl, lÄt oss börja!
Instruktion
Steg 1 â Kontrollera WDS-funktionalitet
Ta enheten eller virtuella maskin som stöder nÀtverksstart i UEFI-lÀge och försök att starta.
Du ska se följande bild:

Om sÄ Àr fallet Àr det utmÀrkt, du kan fortsÀtta.
Om inte, se vad jag har skrivit i förordet.
Steg 2 â Bygga bootfilen iPXE
Starta den förberedda Ubuntu, öppna terminalen och klistra in denna rad:
git clone https://git.ipxe.org/ipxe.git ipxe
HÀr vill jag gÀrna göra en liten kommentar om att du kan behöva lÀgga till de paket som krÀvs för att kompilera C och C++ i Ubuntu.
Jag hade dem redan installerade.
Laddades ner? â UtmĂ€rkt!
Nu mÄste vi skapa en konfigurationsfil för byggandet.
I terminalen skriver vi:
cd ipxe/src
gedit chain.ipxeOch klistra in följande kod i denna fil och spara det:
#!ipxe
dhcp
chain http://%IP-address-your-IIS-server%/install.ipxeGĂ„ tillbaka till terminalen och starta kompileringen:
make bin-x86_64-efi/ipxe.efi EMBED=chain.ipxe
Om allt stÄr rÀtt till, kommer du att fÄ följande utdata i terminalen:

Och filen ipxe.efi, pÄ vÀgen: ipxe/src/bin-x86_64-efi/ipxe.efi
Om du av nÄgon anledning inte lyckades kompilera det sjÀlv,
har jag bifogat min .
Den Àr kompilerad för att starta frÄn http://192.168.0.100/install.ipxe
SĂ„, det var allt om Ubuntu.
Steg 3 â LĂ€gga till ipxe.efi till WDS
Ta filen som vi fick i steg tvÄ och kopiera den pÄ vÀgen:
%WDSpath%Bootx64%your-boot-folderIBOOT
DÀrefter döper vi om den till BOOTX64.EFI.
Detta Àr inte nödvÀndigt, men det Àr enklare sÄ.
DÀrefter kör vi cmd som administratör, och skriver följande kommandon:
wdsutil /set-server /bootprogram:Bootx64%your-boot-folderIBOOTBOOTX64.EFI /architecture:x64uefi och wdsutil /set-server /N12bootprogram:Bootx64%your-boot-folderIBOOTBOOTX64.EFI /architecture:x64uefiDetta kommer att stÀlla in den erhÄllna filen för att starta via WDS.
Kontrollera konfigurationen:
wdsutil /get-server /Show:Config
Jag kopierade ocksÄ filen ipxe.efi, döpte den till BOOTIA32.EFI och konfigurerade start för den, för sÀkerhets skull. architecture:x86uefi
Men i stort sett Àr det meningslöst, eftersom filen Bootmgfw.efi inte stöder x86.
LÄt oss kontrollera hur det blev.

UtmÀrkt, WDS skickar vÄr fil för uppladdning och den söker konfigurationen lÀngs vÀgen: http://192.168.0.100/install.ipxe
Steg 4 - Menykonfiguration
GÄ till rotmappen för din webbplats.
Som standard Àr detta: C:inetpubwwwroot
Skapa en textfil install.ipxe.
Och konfigurera den enligt och dina behov.
Det finns Àven en rysktalande kommandon.
Jag anvÀnde instruktionen nÀr jag konfigurerade min WDS.
Exempel pÄ konfiguration av 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 failedOm konfigurationen för att ladda winPE kan du lÀsa .
Steg 5 - MIME-typer
Efter att ha skapat menyn och lagt till alla nödvÀndiga filer i rotmappen för IIS,
mÄste du ge dem Ätkomst.
Eftersom Àven om du försöker ladda ner filen frÄn webblÀsaren, fÄr du ett felmeddelande: HTTP 404.3 - Not Found.

För detta mÄste du i IIS-kontrollpanelen lÀgga till MIME-typer i enlighet
med filtyperna som kommer att laddas via http.
Jag letade inte efter vilken MIME-typ som passar bÀst för detta syfte, och angav application/octet-stream, efter vilket allt fungerade.
För filer utan tillÀgg, anvÀnd en punkt.
SÄ hÀr:

Slutsats
I slutÀndan fÄr vi möjlighet att ladda ner via lokalt nÀtverk med UEFI.
Om vi har gjort allt rÀtt, kommer det att se ut som följande valmeny:

Om du har förberett de grundlÀggande verktygen och inte kommer att krÄngla med konfigurationen, tar det ungefÀr 10-20 minuter att genomföra denna möjlighet.
Jag tog dock 2 arbetsdagar, eftersom jag var tvungen att googla mycket.
Lycka till med implementeringen!
Tack för din uppmÀrksamhet och ett stort tack till de personer vars artiklar hjÀlpte mig!
PÄ Habré Àr det: och .
KĂ€lla: habr.com
