Restaurer une VM Hyper-V depuis le cloud : un test de restauration complet
Une sauvegarde ne vaut quelque chose que si la restauration fonctionne. Nous avons donc essayé : supprimer une VM Hyper-V, la récupérer depuis le cloud, l'importer dans Hyper-V et vérifier les données. Toutes les captures proviennent de ce test du 13 novembre 2026 sous Windows Server 2025.
Publié le 13 novembre 2026 · à partir du client lionbackup 0.2.0
Le point de départ est la VM de test FILESRV01 de l'article Sauvegarder des VM Hyper-V sans les éteindre : une VM en marche avec deux points de contrôle et 300 pièces comptables dans un partage. Le client lionbackup 0.2.0 l'a sauvegardée dans notre environnement dev ; vous suivez les mêmes étapes vers prod. Les captures montrent un Windows Server en allemand et la sortie du client en allemand.
Quelles sauvegardes existent ?
La liste et la restauration se font avec le jeton de lecture. Le jeton d'écriture avec lequel l'hôte sauvegarde ne le peut pas, et c'est voulu : qui le vole n'accède à aucune donnée. Ici aussi, le jeton vient d'un fichier que seuls les administrateurs peuvent lire :
Get-Content .\secret\read-token.txt | .\lionbackup-client.exe --config .\hyperv-host.yaml --token-stdin --listLa liste affiche deux sauvegardes de FILESRV01, de 20,2 Mo chacune, avec file_id et horodatage.

Simuler une perte totale
Puis le cas d'urgence : éteindre la VM, la retirer de Hyper-V et supprimer son dossier avec tous les disques. Ensuite, Hyper-V ne connaît plus aucune VM et il ne reste rien sur le disque.
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
La récupérer depuis le cloud
La restauration nécessite trois choses : le jeton de lecture, le file_id de la liste et la clé privée. Vous seul détenez la clé ; sans elle, personne ne peut lire la sauvegarde, pas même nous.
Get-Content .\secret\read-token.txt | .\lionbackup-client.exe --config .\hyperv-host.yaml --token-stdin `
--restore VOTRE-FILE-ID --identity .\secret\hyperv-host.key --target C:\RestoreLe client télécharge la sauvegarde, la vérifie, la déchiffre et l'extrait dans C:\Restore. Les métadonnées indiquent la source : hyperv:FILESRV01. On y trouve ensuite 16 fichiers, 493 Mo au total, organisés comme une exportation Hyper-V.
Dans le test, cela a pris 2,1 secondes pour une petite VM qui pèse 20,2 Mo compressée. Pour de grandes VM, la durée dépend de leur taille et de votre bande passante ; ce chiffre n'est pas transposable.

C:\Restore, puis 16 fichiers, 493 Mo.Importer dans Hyper-V
L'importation est une étape PowerShell. La VM d'origine n'existant plus, la copie retourne à l'ancien emplacement C:\Hyper-V\FILESRV01. Compare-VM vérifie d'abord si Hyper-V peut la reprendre : 0 incompatibilité. Supprimez ensuite le point de contrôle que Hyper-V a créé uniquement pour la sauvegarde. Vos deux points de contrôle, « vor-dem-update », sont de retour.
$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
Les données sont-elles justes ?
Une VM qui démarre n'est pas encore une preuve. Avant de la démarrer, nous avons donc monté son disque en lecture seule et compté : les 300 pièces des données de test dans Freigaben\Buchhaltung, et un échantillon, beleg-123, avec le contenu attendu. Ensuite, on démonte le disque et on démarre la VM.
$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 tourne de nouveau normalement, dans le Gestionnaire Hyper-V avec sa chaîne complète de points de contrôle. Elle a été créée le 13 novembre 2026 à 17:30:44, lors de l'importation.

Ce que ce test montre et ce qu'il ne montre pas
- La VM de test n'avait pas de système d'exploitation invité. Hyper-V l'a donc sauvegardée hors ligne ; nous n'avons pas encore vérifié nous-mêmes une sauvegarde en ligne avec un vrai invité.
- L'importation dans Hyper-V est une étape PowerShell et ne fait pas partie du lionbackup Wizard.
- Chaque sauvegarde est une sauvegarde complète de toute la VM : chacune de la liste peut donc être restaurée seule.
- Les 2,1 secondes ne valent que pour cette petite VM de test.
Testez la restauration régulièrement. C'est possible sans toucher à la VM d'origine : avec -GenerateNewId et un autre chemin de destination, comme le montre Sauvegarder des VM Hyper-V sans les éteindre.
Pouvons-nous vous accompagner ?
Nous réalisons volontiers avec vous le premier test de restauration sur votre hôte Hyper-V : gratuitement, en visioconférence.