Hallo zusammen!
In diesem Artikel werden die Schritte beschrieben, die erforderlich sind, um Ihrem WDS die Möglichkeit des Bootens im UEFI-Modus hinzuzufĂŒgen.
Das heiĂt, die Anleitung in diesem Artikel setzt voraus, dass Sie bereits eine ungefĂ€hr folgende Konfiguration haben:
1. Windows Server 2012R2 (oder neuer)
2. VollstĂ€ndig konfiguriertes DHCP fĂŒr die Arbeit mit WDS
3. Das WDS selbst
4. IIS
5. Virtuelle Maschine oder PC mit UbuntuAuĂerdem werden hier Aktionen beschrieben, die mir nicht den gewĂŒnschten Erfolg gebracht haben.
Ich habe sie beschrieben, um die Suche zu erleichtern und Ihre Zeit zu sparen.
Vorwort
Ich habe einmal bei der Arbeit ein WDS mit vielen Extras eingerichtet, da ich es leid war, stÀndig mit einer Menge USB-Sticks herumzulaufen und sie neu zu bespielen.
Diese Artikel haben mir damals ĂŒbrigens geholfen:
So sieht das aus

Und alles war gut, neue Boot-Images wurden hinzugefĂŒgt, das Image winPE erhielt neue Funktionen und alles funktionierte.
Aber lĂ€ngst unterstĂŒtzen nicht alle GerĂ€te den BIOS-/Legacy-Bootmodus, oder falls sie es tun, kann das Aktivieren an einem sehr unauffĂ€lligen Ort sein.
AuĂerdem ist die Installation von Windows im Legacy-Modus, wenn es die Möglichkeit zur Installation in UEFI gibt â nicht optimal.
Also habe ich beschlossen, die Möglichkeit des Bootens in UEFI hinzuzufĂŒgen und habe Google konsultiert.
Aber ich fand keine strukturierten Informationen darĂŒber, wie man ein funktionierendes WDS + UEFI erhĂ€lt.
Deshalb habe ich beschlossen, diesen Artikel zu schreiben.
Bevor ich beginne, beschreibe ich das Problem, das mir am meisten Zeit geraubt hat.
Beim HinzufĂŒgen von UEFI zu WDS kann folgende, recht unauffĂ€llige Situation auftreten:
Wenn Sie eine Bootdatei zu WDS hinzufĂŒgen und beim Booten auf dem GerĂ€t
im UEFI sehen Sie folgenden Text:
Das ausgewĂ€hlte BootgerĂ€t ist fehlgeschlagen. DrĂŒcken Sie , um fortzufahren.
Oder BootgerÀt nicht gefunden
Aber das Booten im Legacy funktioniert bei Ihnen.
Dann ist einer der möglichen GrĂŒnde â die Abwesenheit der Datei wdsmgfw.efi,
an folgendem Ort: %WDSpath%Bootx64wdsmgfw.efi
Sie können sie hier bekommen: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Oder, falls Ihnen diese Datei aus irgendeinem Grund fehlt, habe ich sie auf .
FĂŒr diese Lösung danke ich den Jungs von .
Mit diesem Problem habe ich am meisten Zeit verloren, da ich dachte, das Problem liege irgendwo in der WDS- oder DHCP-Konfiguration.
Ich habe Richtlinien konfiguriert, indem ich Vendor Classes (Anbieterklassen) fĂŒr verschiedene Architekturen hinzugefĂŒgt und die DHCP-Optionen 060, 066, 067 eingerichtet habe. zu den DHCP-Richtlinieneinstellungen.
ASCII-Architekturen zur Konfiguration von DHCP
PXEClient:Arch:00000 â BIOS/Legacy
PXEClient:Arch:00006 â UEFI x86
PXEClient:Arch:00007 â UEFI x64
Ich habe auch verschiedene Varianten von Boot-Dateien ausprobiert .efi
- syslinux
- grub 2
Ich habe auch versucht, das Problem im Ereignisprotokoll zu finden.
win + r -> eventvwr -> Anwendungs- und Dienstprotokolle -> Microsoft -> Windows -> Deployment-Services-Diagnostics
Wie ich bereits oben erwÀhnte, lag das Problem in der Datei wdsmgfw.efi.
Entweder habe ich sie versehentlich gelöscht oder sie wurde bei der Installation nicht kopiert.
und Konfiguration von WDS.
Nun, lassen Sie uns anfangen!
Anleitung
Schritt 1 â ĂberprĂŒfung der FunktionsfĂ€higkeit von WDS
Nehmen Sie ein beliebiges GerĂ€t oder eine virtuelle Maschine mit UEFI-NetzwerkbootunterstĂŒtzung und versuchen Sie, zu booten.
Sie sollten folgendes Bild haben:

Wenn ja, ist alles gut, Sie können fortfahren.
Wenn nicht, schauen Sie sich an, was ich im Vorwort geschrieben habe.
Schritt 2 â Erstellung der Boot-Datei iPXE
Starten Sie die vorab vorbereitete Ubuntu-Version, öffnen Sie das Terminal und fĂŒgen Sie diese Zeile ein:
git clone https://git.ipxe.org/ipxe.git ipxe
Hier möchte ich einen kleinen Hinweis geben, dass Sie möglicherweise in Ubuntu Pakete hinzufĂŒgen mĂŒssen, die fĂŒr die C- und C++-Kompilierung erforderlich sind.
Ich hatte sie bereits installiert.
Heruntergeladen? â Hervorragend!
Jetzt mĂŒssen Sie eine Konfigurationsdatei fĂŒr den Build erstellen.
Im Terminal geben Sie ein:
cd ipxe/src
gedit chain.ipxeUnd fĂŒgen Sie in diese Datei den folgenden Code ein, speichern Sie dann:
#!ipxe
dhcp
chain http://%IP-address-your-IIS-server%/install.ipxeGehen Sie wieder ins Terminal und starten Sie die Kompilierung:
make bin-x86_64-efi/ipxe.efi EMBED=chain.ipxe
Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe im Terminal erhalten:

Und die Datei ipxe.efi, unter folgendem Pfad: ipxe/src/bin-x86_64-efi/ipxe.efi
Wenn Sie aus irgendeinem Grund nicht selbst kompilieren konnten,
habe ich meine .
Sie ist fĂŒr das Booten von http://192.168.0.100/install.ipxe
Damit ist unser Teil mit Ubuntu abgeschlossen.
Schritt 3 â HinzufĂŒgen von ipxe.efi zu WDS
Nehmen Sie die Datei, die wir im zweiten Schritt erhalten haben, und kopieren Sie sie unter folgendem Pfad:
%WDSpath%Bootx64%your-boot-folderIBOOT
Benennen Sie sie anschlieĂend in BOOTX64.EFI um.
Das ist nicht zwingend erforderlich, es ist nur praktischer.
Dann starten Sie cmd als Administrator und geben Sie die folgenden Befehle ein:
wdsutil /set-server /bootprogram:Bootx64%your-boot-folderIBOOTBOOTX
64.EFI /architecture:x64uefi
und
wdsutil /set-server /N12bootprogram:Bootx64%your-boot-folderIBOOTBOOTX
64.EFI /architecture:x64uefiDamit legen wir die erstellte Datei fĂŒr den WDS-Boot fest.
ĂberprĂŒfen wir die Konfiguration:
wdsutil /get-server /Show:Config
Ich habe auch die Datei ipxe.efi kopiert, sie in BOOTIA32.EFI umbenannt und das Booten fĂŒr sie konfiguriert, nur fĂŒr den Fall. architecture:x86uefi
Aber im GroĂen und Ganzen macht das keinen Sinn, da die Datei Bootmgfw.efi x86 nicht unterstĂŒtzt.
Lass uns ĂŒberprĂŒfen, was herausgekommen ist.

Ausgezeichnet, WDS ĂŒbertrĂ€gt unsere Datei zum Booten und sucht ihrerseits die Konfiguration unter folgendem Pfad: http://192.168.0.100/install.ipxe
Schritt 4 â MenĂŒkonfiguration
Gehe in das Stammverzeichnis deiner Website.
StandardmĂ€Ăig ist das: C:inetpubwwwroot
Erstelle eine Textdatei install.ipxe.
Und konfiguriere sie entsprechend und deinen BedĂŒrfnissen.
Es gibt auch eine russische von Befehlen.
Ich habe die Anleitung bei der Konfiguration meines WDS verwendet.
Beispielkonfiguration fĂŒr 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Ăber die Konfiguration zum Booten von winPE kannst du lesen .
Schritt 5 â MIME-Typen
Nach der Erstellung des MenĂŒs und der HinzufĂŒgung aller notwendigen Dateien in das Stammverzeichnis von IIS,
muss darauf zugegriffen werden.
Denn selbst wenn du versuchst, eine Datei ĂŒber ihren URI herunterzuladen, erhĂ€ltst du einen Fehler: HTTP 404.3 - Nicht gefunden.

DafĂŒr musst du in der IIS-Systemsteuerung MIME-Typen hinzufĂŒgen, gemĂ€Ă
den Dateiendungen, die ĂŒber http hochgeladen werden sollen.
Ich habe nicht nach dem besten MIME-Typ fĂŒr diesen Zweck gesucht und habe application/octet-streameingestellt, danach hat alles funktioniert.
FĂŒr Dateien ohne Endung verwende einen Punkt.
So:

Fazit
Insgesamt haben wir die Möglichkeit, ĂŒber UEFI im lokalen Netzwerk zu booten.
Wenn wir alles richtig gemacht haben, sieht das BootauswahlmenĂŒ ungefĂ€hr so aus:

Wenn du die grundlegenden Werkzeuge vorbereitet hast und dich nicht mit der Konfiguration aufhÀltst, dauert die Umsetzung dieser Möglichkeit etwa 10-20 Minuten.
Ich selbst habe dafĂŒr 2 Arbeitstage gebraucht, da ich viel googeln musste.
Viel Erfolg bei der Umsetzung!
Danke fĂŒr deine Aufmerksamkeit und ein groĂes Dankeschön an die Leute, deren Artikel mir geholfen haben!
Auf HabrĂ© heiĂt das: und .
Quelle: habr.com
