Ich habe eine VMWare-VM (ESXi 6.5, VM-Version 13), die ich über das Netzwerk abbilden möchte. In den letzten Jahren haben wir (mit großem Erfolg) einen TFTP-Server verwendet, der ein PXE-Abbild enthält. Jetzt möchte ich auf UEFI umsteigen und den UEFI-Client das Abbild über HTTPS abrufen lassen.
- Auf der VMWare-VM habe ich „Bootoptionen|Firmware“ von „BIOS“ auf „EFI“ geändert.
- Dem Image-Server wurde ein HTTPS-Endpunkt hinzugefügt, damit der UEFI-Client das UEFI-Image herunterladen kann (
https://example.com/ldlinux.e64
). - Die DHCP-Einstellung für den Client wurde vom Senden von „Dateiname“ mit dem Wert „pxeclient.0“ in das Senden von geändert
https://example.com/ldlinux.e64
.
Wenn ich die VM boote, wird der EFI-Bootmanager gestartet, aber ich sehe diesen Fehler:
_unsuccessful.bell (Unsupported option) 0:0)
PXE-E23: Client received TFTP error from server.inux.64
Beim Sniffen des Netzwerks sehe ich, dass der UEFI-Client immer noch versucht, auf den TFTP-Dienst und nicht auf den HTTPS-Dienst zuzugreifen. Was muss ich tun, um den UEFI-Client davon zu überzeugen, das von der URL angezeigte Bild herunterzuladen, anstatt weiterhin TFTP zu verwenden?
AKTUALISIEREN: Beim Aufspüren des DHCP-Verkehrs auf unserem DHCP-Server sehe ich, dass der VM-Gast eine DHCP-Anforderung mit Option 60 und Vendor Class ID auf gesetzt sendet PXEClient:Arch:...
. Die UEFI-Spezifikation für HTTP-Boot besagt, dass dieser Wert sein sollte HTTPClient:Arch:...
. Das Problem läuft also darauf hinaus, wie man das VM-Gastsystem dazu bringt, seine DHCP-Anforderung mit Option 60 auf „HTTPClient“ gesetzt zu senden.
Antwort1
Sie haben mehrere Probleme;
VMware UEFI unterstützt keinen HTTP-Boot
Wenn dies der Fall wäre, würden Sie auf Boot .e64 verweisen,
ldlinux
was keine PE-UEFI-Anwendung, sondern eine ELF-Komponente von Pxelinux ist. Es wird nie booten.
Und schließlich: Wie viel schneller wird Ihrer Meinung nach eine HTTP-Boot-Erfassung im Vergleich zu einer regulären PXE-Erfassung sein, bei der nur die anfängliche Boot.wim-Datei eine TFTP-Übertragung mit beispielsweise Windowsize=16 ist und dann eine MS-Freigabe für den Großteil der Erfassung? Der Gewinn ist nicht groß; machen Sie es einfach.