Konfigurieren eines PXE-Servers für das Laden von Windows PE

Gilt für:

  • Windows 10

In dieser exemplarischen Vorgehensweise wird beschrieben, wie ein PXE-Server so konfiguriert wird, dass Windows PE durch das Starten eines Clientcomputers über das Netzwerk geladen wird. Mithilfe der Windows PE-Tools und einer Windows 10-Imagedatei können Sie Windows 10 über das Netzwerk installieren.

Voraussetzungen

  • Ein Bereitstellungscomputer: Ein Computer mit dem Windows Assessment and Deployment Kit (Windows ADK) und dem Windows PE-Add-On, auf dem ADK installiert ist.
  • Ein DHCP-Server: ein DHCP-Server oder DHCP-Proxy, der für die Beantwortung von PXE-Clientanforderungen konfiguriert ist (erforderlich)
  • Ein PXE-Server: ein Server mit dem TFTP-Dienst, der vom Client heruntergeladene Windows PE-Startdateien hosten kann
  • Ein Dateiserver: ein Server mit einer gehosteten Netzwerkdateifreigabe

Alle vier der oben angegebenen Rollen können auf demselben Computer gehostet werden oder sich auf getrennten Computern befinden.

Schritt 1: Kopieren der Windows PE-Quelldateien

  1. Wählen Sie auf dem Bereitstellungscomputer Start aus, und geben Sie bereitstellung ein.

  2. Klicken Sie mit der rechten Maustaste auf Umgebung für Bereitstellungs- und Imageerstellungstools , und wählen Sie Als Administrator ausführenaus. Durch die Verknüpfung „Umgebung für Bereitstellungs- und Imageerstellungstools“ wird ein Eingabeaufforderungsfenster geöffnet, und die Umgebungsvariablen werden automatisch so festgelegt, dass sie auf alle erforderlichen Tools verweisen.

  3. Führen Sie den folgenden Befehl aus, um die Windows PE-Basisdateien in einen neuen Ordner zu kopieren. Das Skript erfordert zwei Argumente: die Hardwarearchitektur und den Zielspeicherort. <Architektur> kann den Wert x86, amd64 oder arm aufweisen, und <Ziel> ist ein Pfad zu einem lokalen Verzeichnis. Wenn das Verzeichnis noch nicht vorhanden ist, wird es erstellt.

    copype.cmd <architecture> <destination>
    

    Mit dem folgenden Befehl werden beispielsweise amd64-Architekturdateien in das Verzeichnis C:\winpe_amd64 kopiert:

    copype.cmd amd64 C:\winpe_amd64
    

    Durch das Skript werden die Zielverzeichnisstruktur erstellt und alle erforderlichen Dateien für diese Architektur kopiert. Im vorherigen Beispiel werden die folgenden Verzeichnisse erstellt:

    C:\winpe_amd64
    C:\winpe_amd64\fwfiles
    C:\winpe_amd64\media
    C:\winpe_amd64\mount
    
  4. Stellen Sie das Windows PE-Standardimage (winpe.wim) mithilfe des DISM-Tools im Verzeichnis „\mount“ bereit. Durch das Bereitstellen einer Imagedatei wird der Dateiinhalt in einen Ordner entpackt, sodass Änderungen entweder direkt oder mithilfe eines Tools wie DISM vorgenommen werden können. Nachfolgend sehen Sie ein Beispiel.

    dism.exe /mount-image /imagefile:c:\winpe_amd64\media\sources\boot.wim /index:1 /mountdir:C:\winpe_amd64\mount
    

    Vergewissern Sie sich, dass die Meldung Der Vorgang wurde erfolgreich abgeschlossen angezeigt wird.

    Hinweis

    Geben Sie ein dism.exe /get-MountedWiminfo, um die aktuell eingebundenen Images anzuzeigen.

  5. Ordnen Sie dem TFTP-Stammverzeichnis auf dem PXE/TFTP-Server eine Netzwerkfreigabe zu, und erstellen Sie einen Ordner „\Boot“. Informieren Sie sich in der Dokumentation zum TFTP-Server, um das Stammverzeichnis des TFTP-Servers zu ermitteln. Aktivieren Sie dann die Freigabe für dieses Verzeichnis, und stellen Sie sicher, dass über das Netzwerk darauf zugegriffen werden kann. Im folgenden Beispiel lautet der PXE-Servername PXE-1, und das TFTP-Stammverzeichnis wird mithilfe des Netzwerkpfads \\PXE-1\TFTPRoot freigegeben:

    net.exe use y: \\PXE-1\TFTPRoot
    y:
    md Boot
    
  6. Kopieren Sie die PXE-Startdateien aus dem bereitgestellten Verzeichnis in den Ordner „\boot“. Beispiel:

    copy c:\winpe_amd64\mount\windows\boot\pxe\*.* y:\Boot
    
  7. Kopieren Sie die Datei „boot.sdi“ auf den PXE/TFTP-Server.

    copy C:\winpe_amd64\media\boot\boot.sdi y:\Boot
    
  8. Kopieren Sie das startbare Windows PE-Image (boot.wim) in den Ordner „\boot“.

    copy C:\winpe_amd64\media\sources\boot.wim y:\Boot
    
  9. (Optional) Kopieren von TrueType-Schriftarten in den Ordner \boot

    copy C:\winpe_amd64\media\Boot\Fonts y:\Boot\Fonts
    

Schritt 2: Konfigurieren der Starteinstellungen und Kopieren der BCD-Datei

  1. Erstellen Sie mit „bcdedit.exe“ einen BCD-Speicher:

    bcdedit.exe /createstore c:\BCD
    
  2. Konfigurieren Sie RAMDISK-Einstellungen:

    bcdedit.exe /store c:\BCD /create {ramdiskoptions} /d "Ramdisk options"
    bcdedit.exe /store c:\BCD /set {ramdiskoptions} ramdisksdidevice boot
    bcdedit.exe /store c:\BCD /set {ramdiskoptions} ramdisksdipath \Boot\boot.sdi
    bcdedit.exe /store c:\BCD /create /d "winpe boot image" /application osloader
    

    Der letzte Befehl gibt eine GUID zurück, z. B.:

    The entry {a4f89c62-2142-11e6-80b6-00155da04110} was successfully created. 
    

    Kopieren Sie diese GUID, um sie im nächsten Befehlssatz zu verwenden. Ersetzen Sie „GUID1“ in jedem angezeigten Befehl durch Ihre GUID.

  3. Erstellen Sie einen neuen Startanwendungseintrag für das Windows PE-Image:

    bcdedit.exe /store c:\BCD /set {GUID1} device ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions} 
    bcdedit.exe /store c:\BCD /set {GUID1} path \windows\system32\winload.exe 
    bcdedit.exe /store c:\BCD /set {GUID1} osdevice ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions} 
    bcdedit.exe /store c:\BCD /set {GUID1} systemroot \windows
    bcdedit.exe /store c:\BCD /set {GUID1} detecthal Yes
    bcdedit.exe /store c:\BCD /set {GUID1} winpe Yes
    
  4. Konfigurieren Sie BOOTMGR-Einstellungen (denken Sie daran, „GUID1“ im dritten Befehl durch Ihre GUID zu ersetzen):

    bcdedit.exe /store c:\BCD /create {bootmgr} /d "boot manager"
    bcdedit.exe /store c:\BCD /set {bootmgr} timeout 30 
    bcdedit.exe /store c:\BCD -displayorder {GUID1} -addlast
    
  5. Kopieren Sie die BCD-Datei auf Ihren TFTP-Server:

    copy c:\BCD \\PXE-1\TFTPRoot\Boot\BCD
    

Der PXE/TFTP-Server ist jetzt konfiguriert. Sie können die BCD-Einstellungen anzeigen, die mit dem Befehl bcdedit.exe /store <BCD-Dateispeicherort> /enum all konfiguriert wurden. Dieser Schritt wird im folgenden Beispiel dargestellt. Hinweis: Ihre GUID unterscheidet sich von der unten angezeigten GUID.

C:\>bcdedit.exe /store C:\BCD /enum all
Windows Boot Manager
--------------------
identifier              {bootmgr}
description             boot manager
displayorder            {a4f89c62-2142-11e6-80b6-00155da04110}
timeout                 30

Windows Boot Loader
-------------------
identifier              {a4f89c62-2142-11e6-80b6-00155da04110}
device                  ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions}
description             winpe boot image
osdevice                ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions}
systemroot              \Windows
detecthal               Yes
winpe                   Yes

Setup Ramdisk Options
---------------------
identifier              {ramdiskoptions}
description             ramdisk options
ramdisksdidevice        boot
ramdisksdipath          \Boot\boot.sdi

Tipp

Wenn Sie den PXE-Startvorgang starten, aber den Fehler The boot configuration data is missing or contains error erhalten, überprüfen Sie, ob das \boot Verzeichnis unter dem richtigen TFTP-Serverstammverzeichnis installiert ist. In dem hier verwendeten Beispiel ist der Name des Verzeichnisses TFTPRoot, Ihr TFTP-Server kann jedoch abweichen.

Zusammenfassung des PXE-Startvorgangs

Im folgenden Prozess wird der PXE-Clientstart zusammengefasst.

Hinweis

Im Folgenden wird davon ausgegangen, dass sich der Client und der PXE-Server im selben Netzwerk/Subnetz/vlan befinden oder dass PXE-Anforderungen vom Client über im Router oder Switch konfigurierte IP-Hilfsprogramme ordnungsgemäß vom Client an den PXE-Server weitergeleitet wurden. Weitere Informationen zu IP-Hilfsprogrammen finden Sie unter Konfigurieren Ihres Routers für die Weiterleitung von Broadcasts.

  1. Ein Client kontaktiert den PXE-Server. Wenn sich der Client in einem anderen Netzwerk/Subnetz/vlan als der PXE-Server befindet, wird der Client mithilfe der IP-Hilfsprogramme an den PXE-Server weitergeleitet.

  2. Der PXE-Server sendet die DHCP-Optionen 060 (Clientbezeichner PXEClient), 066 (Hostname des Startservers) und 067 (Name der Startdatei) an den Client.

  3. Der Client lädt boot\PXEboot.n12 vom TFTP-Server basierend auf dem Wert des Startdateinamens der DHCP-Option 067 herunter, der vom PXE-Server empfangen wurde.

  4. PXEboot.n12 startet sofort einen Netzwerkstart.

  5. Der Client lädt und die boot\BCD Datei vom TFTP-Server herunterboot\bootmgr.exe.

    Hinweis

    Der BCD-Speicher muss sich im \boot Verzeichnis auf dem TFTP-Server befinden und den Namen BCD haben.

  6. Bootmgr.exe liest die BCD-Betriebssystemeinträge und -Downloads boot\boot.sdi sowie das Windows PE-Image (boot\boot.wim). Optionale Dateien, die auch heruntergeladen werden können, umfassen TrueType-Schriftarten (boot\Fonts\wgl4_boot.ttf) und die Ruhezustandsdatei (\hiberfil.sys), wenn diese Dateien vorhanden sind.

  7. Bootmgr.exe startet Windows PE, indem innerhalb des Windows PE-Images aufgerufen winload.exe wird.

  8. Windows PE wird geladen, eine Eingabeaufforderung wird geöffnet und wpeinit.exe ausgeführt, um Windows PE zu initialisieren.

  9. Der Windows PE-Client ermöglicht den Zugriff auf Tools wie imagex.exe, diskpart.exeund bcdboot.exe über die Windows PE-Eingabeaufforderung. Mit Hilfe dieser Tools, die von einer Windows 10 Imagedatei begleitet werden, kann der Zielcomputer ordnungsgemäß formatiert werden, um eine vollständige Windows 10 Betriebssystem zu laden.

Windows PE – Exemplarische Vorgehensweisen