Hyper-V-VMs sichern, ohne sie herunterzufahren
Ab dem lionbackup-Client 0.2.0 tragen Sie unter hyperv: nur noch die Namen Ihrer VMs ein. Der Client sucht sich alle Dateien selbst zusammen, holt über den Hyper-V-Writer einen konsistenten Stand und sichert ihn verschlüsselt in die Cloud. Herunterfahren müssen Sie die VMs dafür nicht.
Veröffentlicht am 13. November 2026 · ab lionbackup-Client 0.2.0 · ← Blog

Eine VM ist mehr als eine .vhdx
Zu einer Hyper-V-VM gehören Dateien an mehreren Orten: die Konfiguration (.vmcx, .vmrs, .vmgs) unter „Virtual Machines“, die virtuellen Platten irgendwo auf dem Host und für jeden Prüfpunkt eine Differenzplatte (.avhdx), die ohne ihre Elternplatte nichts wert ist. Wer diese Pfade von Hand unter files: pflegt, vergisst nach dem nächsten Prüfpunkt die neue .avhdx, und die gesicherte VM startet nicht mehr.
Dazu kommt die Sperre: Eine laufende VM hält ihre Platten exklusiv offen. Bisher las der Client sie aus einer Schattenkopie ohne VSS-Writer. Das ging, war aber nur absturzkonsistent, als hätte man der VM den Strom abgestellt.
Die Konfiguration: nur der Name
Die übrige Konfiguration bleibt wie in der Windows-Anleitung. Neu ist der Abschnitt hyperv::
lionbackup:
environment: prod
storagezone: "IHRE-STORAGE-ZONE"
project: "IHRE-PROJEKT-UUID"
token: "IHR-WRITE-TOKEN"
hyperv:
vms:
- FILESRV01
- DC01
encryption_keyfile: C:\lionbackup\key\lionbackup.pub
tmp_directory: D:\lionbackup\tmp
log_directory: C:\lionbackup\log
compression_method: ZSTD
compression_level: 6
resume: true
require_https: trueDie Namen sind die aus Get-VM. Mit "*" statt einer Liste sichert der Client alle VMs des Hosts. files: darf daneben stehen, etwa für Freigaben auf dem Host, oder ganz fehlen.
Legen Sie tmp_directory auf ein Volume mit genug Platz: Der Client schreibt jede VM dort zuerst komprimiert und verschlüsselt ab und lädt sie dann hoch.

hyperv: mit FILESRV01. Das Token steht nicht in der Datei, es kommt per --token-stdin.Was bei jedem Lauf passiert
- Hyper-V fragen. Der Client holt zu jeder VM die aktuelle Liste ihrer Dateien: Konfiguration, Prüfpunkte und jede Platte samt ihrer
.avhdx-Kette. Ein neuer Prüfpunkt ist beim nächsten Lauf von selbst dabei. - Schattenkopie mit dem Hyper-V-Writer. Über DiskShadow, ein Bordwerkzeug von Windows Server, legt der Client eine Schattenkopie an, an der der Hyper-V-Writer beteiligt ist. Alle anderen VSS-Writer schließt er aus. Hyper-V hält jede VM dafür an einem konsistenten Punkt fest.
- Lesen, packen, verschlüsseln. Gelesen wird aus der Schattenkopie, und zwar genau die Dateien, die der Hyper-V-Writer nennt. Dazu gehört ein Prüfpunkt, den Hyper-V nur für die Dauer der Sicherung anlegt. Jede VM wird ein eigenes Backup, komprimiert und auf dem Host Ende-zu-Ende verschlüsselt, bevor ein Byte die Maschine verlässt.
- Hochladen, dann abschließen. Erst wenn der Upload gelungen ist, meldet der Client die Sicherung als abgeschlossen, und Hyper-V vermerkt sie. Scheitert der Lauf, meldet er stattdessen den Abbruch.
Online oder offline
Wie Hyper-V die VM festhält, hängt vom Gast ab. Läuft im Gast der Integrationsdienst „Sicherung (Volumeschattenkopie)“, ist es eine Online-Sicherung: Die VM läuft weiter, und die Anwendungen im Gast, etwa SQL Server oder Active Directory, werden über deren eigenes VSS konsistent. Ohne diesen Dienst sichert Hyper-V offline: Die VM wird kurz in den gespeicherten Zustand versetzt. Herunterfahren muss sie in keinem der beiden Fälle. Welcher Fall vorlag, steht im Log.
DiskShadow kennt nur vollständige VSS-Sicherungen. Anwendungen im Gast behandeln eine gelungene Online-Sicherung deshalb wie jede vollständige Sicherung auf Host-Ebene.
Bricht der Client hart ab, etwa weil jemand die Aufgabe beendet, merkt DiskShadow das binnen Sekunden, meldet den Abbruch und löscht die Schattenkopien. Die VM verlässt den Zustand „Sicherung wird ausgeführt“ sofort.
Zum Ausprobieren starten Sie einen Lauf von Hand, in einer PowerShell als Administrator:
C:\lionbackup\bin\lionbackup-client.exe --config C:\lionbackup\conf\hyperv.yaml --progress-barDas Token muss nicht in der Konfiguration stehen. Mit --token-stdin liest der Client es von der Standardeingabe, etwa aus einer Datei, die nur Administratoren lesen dürfen. So steht es weder in der Konfiguration noch in der Kommandozeile, und so lief auch unser Test. Der Normalfall bleibt token: in der Konfiguration.
Get-Content C:\lionbackup\geheim\schreib-token.txt | C:\lionbackup\bin\lionbackup-client.exe --config C:\lionbackup\conf\hyperv.yaml --token-stdin
Jede Nacht, auch ohne Anmeldung
Im Betrieb gehört der Lauf in die Aufgabenplanung. Er braucht Administratorrechte, denn nur ein Administrator darf Schattenkopien anlegen. Unter dem Konto SYSTEM mit höchsten Rechten läuft die Aufgabe auch, wenn niemand angemeldet ist:
Register-ScheduledTask -TaskName "lionbackup Hyper-V" -Action (New-ScheduledTaskAction -Execute 'C:\lionbackup\bin\lionbackup-client.exe' -Argument '--config C:\lionbackup\conf\hyperv.yaml') -Trigger (New-ScheduledTaskTrigger -Daily -At 22:00) -User 'SYSTEM' -RunLevel HighestZurückholen: Restore und Import-VM
Das Backup einer VM holen Sie zurück wie jedes andere, mit einem Lese-Token und Ihrem privaten Schlüssel. Die einzelnen Schritte stehen in der Restore-Anleitung, einen kompletten Test mit simuliertem Totalverlust zeigt der Beitrag Hyper-V-VM aus der Cloud wiederherstellen.
C:\lionbackup\bin\lionbackup-client.exe --config C:\lionbackup\conf\restore.yaml --list
C:\lionbackup\bin\lionbackup-client.exe --config C:\lionbackup\conf\restore.yaml --restore IHRE-FILE-ID --identity E:\lionbackup.key --target D:\RestoreUnter D:\Restore\FILESRV01 liegen danach „Virtual Machines“, „Virtual Hard Disks“ und „Snapshots“, aufgebaut wie ein Export von Hyper-V. Compare-VM prüft zuerst, ob Hyper-V die VM so übernehmen kann; die Liste der Unverträglichkeiten sollte leer sein. Import-VM legt sie dann als Kopie mit neuer ID an, eine noch vorhandene Original-VM bleibt unberührt. Zum Schluss entfernen Sie den Prüfpunkt, den Hyper-V nur für die Sicherung angelegt hat:
$ziel = 'D:\Restore\FILESRV01'
$cfg = Get-ChildItem "$ziel\Virtual Machines\*.vmcx" | Select-Object -First 1
$bericht = Compare-VM -Path $cfg.FullName -Copy -GenerateNewId `
-VhdSourcePath "$ziel\Virtual Hard Disks" `
-VirtualMachinePath 'D:\Hyper-V\FILESRV01-neu' `
-VhdDestinationPath 'D:\Hyper-V\FILESRV01-neu\Virtual Hard Disks' `
-SnapshotFilePath 'D:\Hyper-V\FILESRV01-neu'
$bericht.Incompatibilities | Format-List Message # sollte leer sein
$vm = Import-VM -CompatibilityReport $bericht
# Den Prüfpunkt, den Hyper-V nur für die Sicherung angelegt hat, entfernen:
Get-VMSnapshot -VM $vm -SnapshotType Recovery | Remove-VMSnapshot
Rename-VM -VM $vm -NewName 'FILESRV01-wiederhergestellt' # optionalDie Platten der importierten VM zeigen danach auf die Kopie unter D:\Hyper-V\FILESRV01-neu, nicht auf die Originale.

Compare-VM meldet 0 Unverträglichkeiten, Import-VM legt die Kopie an. Danach laufen Original und Kopie im normalen Betrieb.Voraussetzungen und Grenzen
| Punkt | Was gilt |
|---|---|
| Host | Windows Server 2025 oder 2022 mit Hyper-V-Rolle; getestet haben wir auf 2025. |
| Rechte | Der Client läuft als Administrator, etwa als geplante Aufgabe unter SYSTEM. Die Schattenkopie (use_vss) bleibt eingeschaltet. |
| Ohne DiskShadow oder bei Writer-Fehler | DiskShadow ist ein Werkzeug von Windows Server. Ohne es, oder wenn der Writer scheitert, sichert der Client VMs nur absturzkonsistent und warnt. Mit on_writer_error: abort bricht er stattdessen ab. |
| Speicherort der VMs | Lokale Volumes eines eigenständigen Hosts. Cluster Shared Volumes, SMB-Freigaben, Pass-through-Platten und VHD-Sets lehnt der Client mit Meldung ab, statt sie still auszulassen. |
| Umfang | Jeder Lauf ist eine Vollsicherung der ganzen VM. Das Standardlimit liegt bei 100 GB je Backup und lässt sich auf Anfrage anheben. |
Was wir getestet haben
Auf Windows Server 2025 mit Hyper-V: eine laufende VM samt Prüfpunkt-Kette, ein echter Upload in unsere dev-Umgebung, die Sicherung als geplante Aufgabe unter SYSTEM, den harten Abbruch des Clients und eine komplette Wiederherstellung aus der Cloud mit vollständigen Daten. Wie die ablief, zeigt der Beitrag Hyper-V-VM aus der Cloud wiederherstellen. Die dev-Umgebung ist unsere Testumgebung, Ihre Sicherungen laufen in prod. Die Test-VM hatte kein Gast-Betriebssystem, Hyper-V hat sie also offline gesichert.
Noch nicht selbst geprüft haben wir eine Online-Sicherung mit einem echten Gast. Windows Server 2022 bringt DiskShadow und den Hyper-V-Writer ebenfalls mit; eigene Tests dort folgen.
Sonderfälle: Befehle vor und nach der Sicherung
Für Fälle, die hyperv: nicht abdeckt, führt der Client ab 0.2.0 auch eigene Befehle aus. Ein Beispiel ist eine VM, die Sie für die Sicherung lieber sauber herunterfahren: pre_backup fährt sie herunter, post_snapshot startet sie wieder, sobald die Schattenkopie steht, und der Client liest danach aus dem Abbild.
lionbackup:
files:
- D:\Hyper-V\LEGACY01
hooks:
pre_backup:
- 'powershell -NoProfile -Command "Stop-VM -Name LEGACY01"'
post_snapshot:
- 'powershell -NoProfile -Command "Start-VM -Name LEGACY01"'
timeout_sec: 3600Setzen Sie die Befehle in einfache Anführungszeichen und verdoppeln Sie ein ' darin. Ein Doppelpunkt mit Leerzeichen oder ein # im Befehl bricht sonst das YAML. --validate zeigt solche Fehler mit Zeilennummer.
pre_backupläuft vor allem anderen. Scheitert ein Befehl, sichert der Lauf nichts.post_snapshotläuft, sobald die Schattenkopie steht. Ohne Schattenkopie erst, wenn alle Daten gelesen sind.post_backupläuft immer zum Schluss, auch nach einem Fehler.
Genauso lässt sich eine VM vorher mit Export-VM exportieren und der Export unter files: sichern.
Verfügbarkeit
Der Abschnitt hyperv: und die Befehle vor und nach der Sicherung kommen mit dem lionbackup-Client 0.2.0. Den Client gibt es unter Downloads, den Quelltext offen im öffentlichen Repository. Wie lionbackup Ihre Daten schützt, steht auf der Seite Sicherheit.
Dürfen wir Sie unterstützen?
Wir richten die Sicherung Ihres Hyper-V-Hosts gern gemeinsam mit Ihnen ein: kostenlos und per Videocall.