
Proxmox VHDX-Import. Wandeln Sie einen Windows-PC in eine VM mit einem VHDX-Image um.
Vor kurzem musste ich einen Proxmox-Hypervisor einrichten und einen physischen Windows 10-Rechner in eine virtuelle Maschine umwandeln, um auf diesem Server zu laufen. Das ist kein besonders komplizierter Vorgang, aber da dies mein erstes Mal mit Proxmox war, gab es ein paar Schritte, die ich vorher nicht kannte, und daher hab ich den Vorgang dokumentiert.
Erstellen des Windows VHDX-Images
Diese Anleitung befasst sich nicht mit dem gesamten Prozess zum Erstellen der VHDX-Datei. Du kannst dies jedoch tun, indem du Disk2VHD herunterlädst und auf dem Computer ausführst, den du migrieren möchtest. Denk daran, dass die Datei ziemlich groß sein wird (je nach Festplattengröße). Achte also darauf, dass du genügend Speicherplatz dafür hast.
Transfer the VHDX to Your Proxmox Host
Die VHDX-Datei muss auf den Proxmox-Server übertragen werden, damit sie importiert werden kann. Dazu gibt es mehrere Möglichkeiten.
Option 1: VHDX über SFTP (WinSCP) kopieren
Du kannst WinSCP auf den gleichen Windows-Rechner herunterladen und installieren und die VHDX-Datei über SFTP auf Proxmox kopieren.
Option 2: VHDX mit einem USB-Stick verschieben
Du kannst die VHDX-Datei auf einen USB-Stick kopieren, diesen dann an den Proxmox-Server anschließen und mounten, um auf die Dateien zuzugreifen.
Stelle sicher, dass das USB-Laufwerk korrekt angeschlossen ist. Der folgende Befehl zeigt eine Liste aller an deinem System angeschlossenen Blockgeräte an. Suche nach einem Gerät, das der Größe und/oder Bezeichnung deines USB-Laufwerks entspricht. Es kann als /dev/sdb, /dev/sdc oder ähnlich angezeigt werden.
lsblk
Erstelle den Ordner, in dem du das USB-Laufwerk mounten willst. Du kannst einen beliebigen Speicherort und Namen wählen, aber /mnt ist häufig dafür genutzt.
mkdir /mnt/usb
Mounte das USB-Laufwerk, damit es im Dateisystem zugänglich ist. Mounte es an dem von dir erstellten Mountpunkt.
mount /dev/sdb1 /mnt/usb
Ersetze sdb1 mit dem Gerätenamen, den du vorher identifiziert hast. Achte darauf, dass du die Partition (z. B. sdb1) und nicht das Gerät (z. B. sdb) angibst. Wenn das USB-Laufwerk mit NTFS formatiert ist, musst du dies angeben, und es kann sein, dass du das ntfs-3g Paket installieren musst:
apt update apt install ntfs-3g mount -t ntfs-3g /dev/sdb1 /mnt/usb
Nach dem Mounten kannst du den Inhalt des Mountpunkts mit ls -l /mnt/usb und das gemountete Dateisystem und den Speicherplatzverbrauch mit df -h /mnt/usb überprüfen.
Neue Proxmox Windows-VM erstellen
Erstelle eine neue VM in Proxmox. Es gibt einige Einstellungen, die du anpassen musst.
- Auf der „OS“ (Betriebssystem) Tab:
- Kein Installationsmedium verwenden.
- Als Typ wähle Microsoft Windows.
- Als Version wähle die Version, die mit der VHDX übereinstimmt.
- Wähle „Zusätzliches Laufwerk für VirtIO-Treiber hinzufügen”.
- Wähle die ISO-Image für deine VirtIO-Treiber.
- Auf der „System”-Tab:
- Für „Maschine” wähle q35.
- Für „SCSI-Controller” wähle VirtIO SCSI.
- Wähle „QEMU Agent“.
- Unter „BIOS“ wähle „OVMF (UEFI)“.
- Wähle „EFI-Datenträger hinzufügen“.
- Unter „EFI-Speicher“ wähle deinen Speicherort.
- ⚠️ Wenn du einen Windows 10/11-Rechner migrierst, wähle „TPM hinzufügen“, lege das TPM-Speichervolumen fest und wähle unter „Version“ v2.0.
- Auf der „Datenträger“ (Disks) Tab entferne die Standarddatenträger.
- Lege die CPU und den Arbeitsspeicher nach Bedarf fest.
- Unter „Netzwerk“ wähl für „Modell“ die Option „VirtIO“ aus.
- Schließ die Erstellung der VM ab. ⚠️ Deaktivier die Option „Nach Erstellung starten“.
- ⚠️ Merk dir die VM-ID für die spätere Verwendung.
Den konvertierten Datenträger zur VM hinzufügen
Die VHDX in den Proxmox-Speicher importieren
Die Shell auf dem Proxmox-Node öffnen und den folgenden Befehl ausführen:
qm importdisk [vm_id] [vhdx_file] [storage]
[vm_id]durch die ID der erstellten VM ersetzen.- Ersetzen
[vhdx_file]durch den Pfad und Dateinamen der VHDX-Datei, entweder auf dem USB-Laufwerk oder dem Verzeichnis, in das du sie per SFTP kopiert hast. - Ersetze
[storage]durch deinen Speichernamen.
Beispiel:
qm importdisk 200 /mnt/usb/WIN10.vhdx local_lvm
Dieser Vorgang kann je nach Größe der Festplatte eine Weile dauern.
Schließe die importierte Festplatte an die VM an und bootet von ihr.
Jetzt machen wir noch ein paar Änderungen an den Einstellungen der VM. Auf der „Hardware“-Tab
- Such die importierte Festplatte, die normalerweise als „Unused Disk 0“ angezeigt wird, doppelklick drauf und stell den Bus/Device auf SATA.
- Füge eine neue 1 GB VirtIO Block-Festplatte hinzu. Die ist nur vorübergehend, um Windows zu zwingen, die VirtIO-Treiber zu laden.
Auf der „Options“-Tab
- Wähle „Boot-Reihenfolge“ (Boot Order) aus, setze die SATA-Festplatte als erstes Gerät und stelle sicher, dass „Enabled“ aktiviert ist.
Starte die VM und öffne die Konsole. Lass Windows booten und installiere die VirtIO-Festplattentreiber, sobald du dich in der VM befindest. Öffne nach der Installation die Datenträgerverwaltung und überprüfe, ob die VirtIO-Festplatte korrekt angezeigt wird. Möglicherweise musst du auch VirtIO-Netzwerktreiber installieren, damit der Netzwerkadapter der VM korrekt funktioniert.
Wenn alles in Ordnung ist, fahre die VM herunter.

Nun bearbeiten wir erneut die Einstellungen der VM. Auf der „Hardware“-Tab:
- Trenne sowohl die 1-GB-VirtIO-Festplatte als auch die von dir importierte Hauptfestplatte. Wähle jede Festplatte aus und klicke auf „Trennen“ > „Ja“ (detach > yes).
- Verbinde die Hauptfestplatte wieder, diesmal jedoch als VirtIO-Blockfestplatte.
- Entferne die 1-GB-VirtIO-Festplatte.
Auf der „Optionen“-Tab:
- Aktualisiere die Startreihenfolge, um die VirtIO-Festplatte zu verwenden.
Starte die VM und öffne die Konsole. Windows sollte nun ordnungsgemäß starten und die VM sollte nativ in Proxmox laufen, mit einer besseren Leistung als mit der Standard-SATA-Konfiguration.