Gendan en Hyper-V VM fra skyen: en komplet gendannelsestest
En backup er først noget værd, når gendannelsen virker. Så vi prøvede det: slettede en Hyper-V VM, hentede den tilbage fra skyen, importerede den i Hyper-V og kontrollerede dataene. Alle skærmbilleder stammer fra denne test den 13. november 2026 på Windows Server 2025.
Udgivet 13. november 2026 · fra lionbackup-klienten 0.2.0
Udgangspunktet er test-VM'en FILESRV01 fra indlægget Backup af Hyper-V VM'er uden at lukke dem ned: en kørende VM med to kontrolpunkter og 300 bilag i en delt mappe. Den blev sikkerhedskopieret med lionbackup-klienten 0.2.0 til vores dev-miljø; du følger de samme trin mod prod. Skærmbillederne viser en tysk Windows Server og klientens tyske output.
Hvilke backups findes der?
Der listes og gendannes med læsetokenet. Skrivetokenet, som værten tager backup med, kan ikke det, og det er med vilje: den, der stjæler det, kommer ikke til dataene. Også her kommer tokenet fra en fil, som kun administratorer kan læse:
Get-Content .\secret\read-token.txt | .\lionbackup-client.exe --config .\hyperv-host.yaml --token-stdin --listListen viser to backups af FILESRV01, hver på 20,2 MB, med file_id og tidspunkt.

Simuler et totaltab
Så nødsituationen: sluk VM'en, fjern den fra Hyper-V, og slet dens mappe med alle diske. Bagefter kender Hyper-V ingen VM, og der er intet tilbage på disken.
Stop-VM -Name FILESRV01 -TurnOff -Force
Remove-VM -Name FILESRV01 -Force
Remove-Item C:\Hyper-V\FILESRV01 -Recurse -Force
Get-VM
Test-Path C:\Hyper-V\FILESRV01
Hent den tilbage fra skyen
Gendannelsen kræver tre ting: læsetokenet, file_id fra listen og den private nøgle. Nøglen har kun du; uden den kan ingen læse backuppen, heller ikke vi.
Get-Content .\secret\read-token.txt | .\lionbackup-client.exe --config .\hyperv-host.yaml --token-stdin `
--restore DIT-FILE-ID --identity .\secret\hyperv-host.key --target C:\RestoreKlienten downloader backuppen, kontrollerer og dekrypterer den og pakker den ud til C:\Restore. I metadataene står kilden: hyperv:FILESRV01. Bagefter ligger der 16 filer, i alt 493 MB, opbygget som en eksport fra Hyper-V.
I testen tog det 2,1 sekunder for en lille VM, der komprimeret fylder 20,2 MB. For store VM'er afhænger tiden af deres størrelse og din båndbredde; tallet kan ikke overføres.

C:\Restore, derefter 16 filer, 493 MB.Importér i Hyper-V
Importen er et PowerShell-trin. Da den oprindelige VM er væk, kommer kopien tilbage på den gamle placering C:\Hyper-V\FILESRV01. Compare-VM tjekker først, om Hyper-V kan overtage den: 0 uforeneligheder. Derefter fjerner du det kontrolpunkt, som Hyper-V kun oprettede til backuppen. Dine to egne kontrolpunkter, „vor-dem-update“, er tilbage.
$target = 'C:\Restore\FILESRV01'
$cfg = Get-ChildItem "$target\Virtual Machines\*.vmcx" | Select-Object -First 1
$report = Compare-VM -Path $cfg.FullName -Copy -GenerateNewId `
-VhdSourcePath "$target\Virtual Hard Disks" `
-VirtualMachinePath 'C:\Hyper-V\FILESRV01' `
-VhdDestinationPath 'C:\Hyper-V\FILESRV01\Virtual Hard Disks' `
-SnapshotFilePath 'C:\Hyper-V\FILESRV01'
$report.Incompatibilities.Count
$vm = Import-VM -CompatibilityReport $report
Get-VMSnapshot -VM $vm -SnapshotType Recovery | Remove-VMSnapshot
Get-VMSnapshot -VM $vm | Format-Table Name, SnapshotType -AutoSize
Stemmer dataene?
En VM, der starter, er endnu ikke et bevis. Derfor monterede vi dens disk skrivebeskyttet, før den blev startet, og talte efter: de 300 bilag fra testdataene i Freigaben\Buchhaltung og en stikprøve, beleg-123, med det forventede indhold. Derefter afmonteres disken, og VM'en startes.
$disk = (Get-VMHardDiskDrive -VMName FILESRV01).Path
$drive = (Mount-VHD -Path $disk -ReadOnly -Passthru | Get-Disk | Get-Partition | Where-Object DriveLetter).DriveLetter
(Get-ChildItem "${drive}:\Freigaben\Buchhaltung").Count
(Get-Content "${drive}:\Freigaben\Buchhaltung\beleg-123.txt" -Raw).Substring(0, 36)
Dismount-VHD -Path $disk
Start-VM -Name FILESRV01
Get-VM | Format-Table Name, State, Status -AutoSize
FILESRV01 kører normalt igen, i Hyper-V-styring med sin komplette kæde af kontrolpunkter. Den blev oprettet den 13. november 2026 kl. 17:30:44, ved importen.

Hvad testen viser, og hvad den ikke viser
- Test-VM'en havde intet gæsteoperativsystem. Hyper-V tog derfor backup af den offline; en online-backup med en rigtig gæst har vi endnu ikke selv afprøvet.
- Importen i Hyper-V er et PowerShell-trin og ikke en del af lionbackup Wizard.
- Hver backup er en fuld backup af hele VM'en, så hver enkelt på listen kan gendannes for sig.
- De 2,1 sekunder gælder kun for denne lille test-VM.
Test gendannelsen regelmæssigt. Det kan du gøre uden at røre den oprindelige VM: med -GenerateNewId og en anden målsti, som vist i Backup af Hyper-V VM'er uden at lukke dem ned.
Må vi støtte dig?
Vi laver gerne den første gendannelsestest sammen med dig på din Hyper-V-vært: gratis og via videoopkald.