WDS-functionaliteit uitbreiden: UEFI-opstartmogelijkheid toevoegen

Hallo iedereen!

Dit artikel beschrijft de stappen die u moet volgen om UEFI-opstartmogelijkheden toe te voegen aan uw WDS.

Die. Bij de instructies in dit artikel wordt ervan uitgegaan dat u al over de volgende configuratie beschikt:

1. Windows Server 2012R2 (ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅)
2. ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ настроСнный DHCP для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с WDS
3. БобствСнно сам WDS
4. IIS
5. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина ΠΈΠ»ΠΈ ПК с Ubuntu

Ook worden hier acties beschreven die mij niet het juiste resultaat opleverden.
Ik heb ze beschreven om het zoeken te vergemakkelijken en je tijd te besparen.

Voorwoord

Ik heb op het werk een WDS gemaakt met veel goodies, tk. moe van constant rondrennen met een stel flashdrives en ze overschrijven.

Deze artikelen hielpen me trouwens:
WDS-veelzijdigheid toevoegen
PXE-opstartmenu met System Center Configuration Manager


Het ziet er zo uit

WDS-functionaliteit uitbreiden: UEFI-opstartmogelijkheid toevoegen

En alles was in orde, nieuwe afbeeldingen werden toegevoegd om te laden, de winPE-afbeelding werd overwoekerd met nieuwe functies en alles werkte.

Maar lang niet alle apparaten ondersteunen de BIOS / Legacy-opstartmodus, of als ze dat wel doen, kan de opname ervan op een niet voor de hand liggende plaats zijn.

Ja, en het installeren van Windows in legacy-modus, terwijl het mogelijk is om in UEFI te installeren, is niet cool.

Als gevolg hiervan besloot ik de mogelijkheid toe te voegen om op te starten in UEFI en ging ik naar Google.

Maar ik heb geen gestructureerde informatie gevonden over hoe je een werkende WDS + UEFI kunt krijgen.
Dat is eigenlijk de reden waarom ik besloot dit artikel te schrijven.

Voordat ik begin, zal ik het probleem beschrijven dat de meeste tijd heeft gekost.

Bij het toevoegen van UEFI aan WDS is de volgende, nogal niet voor de hand liggende situatie mogelijk:

Als u een opstartbestand toevoegt aan WDS en wanneer u probeert op te starten op het apparaat
in UEFI zie je de volgende tekst:
The selected boot device failed. Press <Enter> to Continue.
Of Boot Device Not Found
Maar laden in legacy werkt voor u.
Dan is een van de mogelijke opties het ontbreken van een dossier wdsmgfw.efi,
Wat zijn de volgende opties: %WDSpath%Bootx64wdsmgfw.efi

Je kunt het hier nemen: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Of, als dit bestand om de een of andere reden voor u ontbreekt, heb ik het op gepost google.
Voor deze oplossing, bedankt jongens van reddit.

Met dit probleem heb ik de meeste tijd gedood, omdat. Ik dacht dat het probleem ergens in de WDS- of DHCP-configuratie zat.

Geconfigureerd beleid door leveranciersklassen toe te voegen voor verschillende architecturen en DHCP-opties 060, 066, 067 in te stellen. Instructie voor het configureren van DHCP-beleid.

Architecturen in ASCII voor het configureren van DHCP

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

Ook heb ik verschillende opties voor opstartbestanden geprobeerd. .efi

  • syslinux
  • rooien 2

Ik heb ook geprobeerd het probleem in het gebeurtenislogboek te vinden.
win + r -> eventvwr -> Π–ΡƒΡ€Π½Π°Π»Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ слуТб -> Microsoft -> Windows -> Deployment-Services-Diagnostics

Maar, zoals ik hierboven al zei, het probleem lag in het dossier wdsmgfw.efi.
Of ik heb het per ongeluk zelf verwijderd, of het is niet gekopieerd tijdens de installatie
en het configureren van WDS.

Nou, laten we beginnen!

Instructie

Fase 1 - Controleer of WDS werkt

Neem een ​​apparaat of virtuele machine met ondersteuning voor opstarten in UEFI-modus via het netwerk en probeer op te starten.

Je zou de volgende afbeelding moeten hebben:

WDS-functionaliteit uitbreiden: UEFI-opstartmogelijkheid toevoegen

Als dat zo is, geweldig, je kunt doorgaan.
Zo niet, kijk dan wat ik in het voorwoord schreef.

Fase 2 - Het iPXE-opstartbestand bouwen

We starten vooraf voorbereide Ubuntu, openen een terminal en plakken deze regel:

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

WDS-functionaliteit uitbreiden: UEFI-opstartmogelijkheid toevoegen

Hierbij wil ik nog een kleine opmerking maken dat je mogelijk pakketten aan Ubuntu moet toevoegen die nodig zijn voor het compileren van C en C++.
Ik heb ze net geΓ―nstalleerd.

Gedownload? - Geweldig!
Nu moet je een configuratiebestand maken voor de assembly.
In de terminal schrijven we:

cd ipxe/src
gedit chain.ipxe

En plak de volgende code in dit bestand en sla op:

#!ipxe

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

We gaan terug naar de terminal en starten de compilatie:

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

WDS-functionaliteit uitbreiden: UEFI-opstartmogelijkheid toevoegen

Als alles in orde is, zou u de volgende uitvoer in de terminal moeten krijgen:

WDS-functionaliteit uitbreiden: UEFI-opstartmogelijkheid toevoegen

En archiveren ipxe.efi, onderweg: ipxe/src/bin-x86_64-efi/ipxe.efi
Als u om de een of andere reden niet zelf kunt compileren,
Ik heb de mijne bijgevoegd Ρ„Π°ΠΉΠ».
Het is gecompileerd om van op te starten http://192.168.0.100/install.ipxe

Dat is alles voor Ubuntu.

Stap 3 - Ipxe.efi toevoegen aan WDS

We nemen het bestand dat we in de tweede fase hebben ontvangen en kopiΓ«ren het onderweg:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Nadat we het hebben hernoemd naar BOOTX64.EFI.
Het is niet nodig, het is gewoon handiger.

Dan lanceren we cmd namens de beheerder en schrijf de volgende opdrachten:

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

Hiermee wordt ingesteld dat het resulterende bestand moet worden gedownload via WDS.

Laten we de configuratie controleren:

wdsutil /get-server /Show:Config

WDS-functionaliteit uitbreiden: UEFI-opstartmogelijkheid toevoegen

Ik heb ook het bestand ipxe.efi gekopieerd, het hernoemd tot BOOTIA32.EFI en het opstarten ervoor geconfigureerd, voor het geval dat. architecture:x86uefi
Maar over het algemeen slaat dit nergens op, omdat. Het bestand Bootmgfw.efi ondersteunt x86 niet

Laten we kijken wat er is gebeurd.
WDS-functionaliteit uitbreiden: UEFI-opstartmogelijkheid toevoegen
Geweldig, WDS stuurt ons bestand om te downloaden en het zoekt op zijn beurt naar de configuratie langs het pad: http://192.168.0.100/install.ipxe

Stap 4 - Menuconfiguratie

Ga naar de hoofdmap van uw site.
De standaardwaarde is: C:inetpubwwwroot

Maak een tekstbestand aan install.ipxe.

en configureer het volgens documentatie en uw behoeften.
Er is ook een Russische taal описаниС commando's.
Ik vond het leuk dit instructies bij het configureren van uw WDS.

install.ipxe configuratie voorbeeld

#!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

U kunt lezen over de configuratie voor het laden van winPE hier.

Fase 5 - MIME-typen

Na het maken van het menu en het toevoegen van alle benodigde bestanden aan de IIS-hoofdmap,
je moet ze toegang geven.

Omdat zelfs als u een bestand uit de browser probeert te downloaden, krijgt u een foutmelding op het adres: HTTP 404.3 - Not Found.
WDS-functionaliteit uitbreiden: UEFI-opstartmogelijkheid toevoegen

Om dit te doen, moet u MIME-types toevoegen in het IIS-configuratiescherm, overeenkomstig
met bestandsextensies die u downloadt via http.

Ik heb niet gezocht naar welk MIME-type het beste is voor dit doel, en vroeg application/octet-stream, waarna alles werkte.

Gebruik een punt voor bestanden die geen extensie hebben.

Hier zo:

WDS-functionaliteit uitbreiden: UEFI-opstartmogelijkheid toevoegen

Conclusie

Uiteindelijk krijgen we via UEFI de mogelijkheid om via een lokaal netwerk op te starten.

Als we alles goed hebben gedaan, is er zoiets als dit opstartkeuzemenu:

WDS-functionaliteit uitbreiden: UEFI-opstartmogelijkheid toevoegen

Als u de basistools hebt voorbereid en u zich niet bezighoudt met de configuratie, duurt het ongeveer 10-20 minuten om deze functie te implementeren.
Het kostte me 2 werkdagen, omdat. Ik heb veel moeten googlen.

Succesvolle implementatie!

Bedankt voor je aandacht en veel dank aan de mensen wiens artikelen me hebben geholpen!
Op HabrΓ© is het: ingtar ΠΈ Dieptestad.

Bron: www.habr.com

Voeg een reactie