Sauvegarder une image disque complète de son système directement depuis Windows avec wbadmin

C'est simple, ça marche et c'est disponible dans toutes les versions récentes de Windows. Amen.

Image d'entête

par skywodd | | Licence (voir pied de page)

Catégories : Tutoriels Administration système | Mots clefs : Windows wbadmin sdclt sauvegarde utilitaire


Dans ce mini tutoriel, je vais vous faire découvrir un utilitaire de sauvegarde fourni de base avec toutes les versions récentes de Windows : wbadmin. Avec cet utilitaire, il est possible de faire des images disques de son système, directement depuis Windows. En bonus, je vous présenterai un script batch permettant de sauvegarder sur un disque externe un PC Windows d'un simple clic.

Sommaire

Bonjour à toutes et à tous !

Je dois avouer que ma façon de gérer mes sauvegardes est bipolaire (stupide est un synonyme acceptable dans le cas présent).

D'un côté, toutes mes données "importantes" sont sauvegardées dans une grappe de disques sécurisés matériellement contre la perte de données et les coupures de courant, avec une copie sur deux supports locaux et un support distant (suivant la règle du 3-2-1).

Mais d'un autre côté, toutes mes données personnelles "pas super importantes, mais importantes quand même pour moi", ainsi que mon environnement de travail ne sont pas sauvegardés du tout et sont stockés en une seule copie sur un SSD qui pourrait très bien cramer (ou planter) du jour au lendemain. Pas terrible comme situation, on est d'accord.

Dans ce mini tutoriel, je vous propose de voir ensemble comment faire une sauvegarde complète d'un PC Windows, sans avoir à sortir un live-CD de CloneZilla et sans installer d'utilitaire particulier.

La solution graphique introuvable

Capture d'écran de de l'utilitaire sdclt

Capture d'écran de de l'utilitaire sdclt.exe

Toutes les versions de Windows ont un utilitaire graphique pour sauvegarder les données des utilisateurs. Sous Windows 8.1 par exemple, cet utilitaire est disponible dans le panneau de configuration, onglet "Système et sécurité", sous onglet "Historique des fichiers" dans le menu de gauche sous le nom de "Sauvegarde d'image système" (après chargement dudit menu).

Microsoft a tellement bien caché cet utilitaire que la plupart des utilisateurs de celui-ci l'appellent directement en cherchant sdclt.exe dans la barre de recherche, puis en lançant le premier résultat en tant qu'administrateur. Le tout après avoir cherché sur Google le nom dudit utilitaire, car personne ne s'en souvient pas en général.

Sdclt.exe permet de faire une sauvegarde complète d'un PC Windows directement depuis Windows, vers un disque local, un disque externe ou un disque réseau. C'est pratique et efficace, mais ce serait encore plus pratique si on pouvait lancer la sauvegarde d'un clic, voir automatiquement.

La solution en ligne de commande

Capture d'écran de de l'utilitaire wbadmin

Capture d'écran de de l'utilitaire wbadmin.exe

La version en ligne de commande de l'utilitaire graphique ci-dessus s'appelle wbadmin. C'est un utilitaire fourni à l'origine avec les versions serveur de Windows, mais aussi en version limitée dans les versions professionnels et familles.

La commande la plus intéressante (et disponible, qu'importe la version de Windows) est wbadmin start backup. Cette commande permet de créer une image disque complète du système et de l'envoyer vers un disque local, externe ou distant.

Dans le cas d'un disque distant, il est possible de spécifier l'identifiant et le mot de passe de l'utilisateur à utiliser pour accéder au disque (voir lien ci-dessus pour la documentation complète). Il est donc possible de se faire un dossier partagé sur son NAS, accessible uniquement par un utilisateur "sauvegarde" par exemple et qui n'est pas accessible en tant normal pour les autres "vrais" utilisateurs. En cas d'attaque par un ransomware (un virus qui chiffre le contenu des disques durs de la victime puis lui demande une rançon), la sauvegarde ne risque rien.

Voici un script batch nommé sauvegarde.bat que j'ai écrit pour sauvegarder mes PC sur mon NAS en un simple clic droit / "exécuter en tant qu'administrateur" :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@echo off

REM Constantes à modifier 
SET BackupTarget="\\192.168.1.1\Sauvegardes\"
SET BackupArgs=-user:NomUtilisateur -password:MotDePasseUtilisateur

REM Le script DOIT être lancer en tant qu'administrateur
net session >nul 2>&1
if /I "%ERRORLEVEL%" NEQ "0" (
    echo Ce script doit etre lance en tant qu'administrateur !
    pause
    exit 1
)

REM Message d'avertissement pour l'utilisateur
echo +--------------------------------------------------+
echo + SAUVEGARDE EN COURS, NE PAS ARRETER L'ORDINATEUR +
echo + Merci de patienter, cela peut prendre du temps.  +
echo +                                                  +
echo + Toujours verifier les erreurs avant de fermer ce +
echo + programme.                                       +
echo +--------------------------------------------------+

REM Sauvegarde (affiche la commande pour debug)
echo RUNNING: wbadmin start backup -backupTarget:%BackupTarget% %BackupArgs% -allCritical 
wbadmin start backup -backupTarget:%BackupTarget% %BackupArgs% -allCritical -quiet

REM Pause le script pour laisser le temps à l'utilisateur de voir si tout c'est bien passé
pause

Il suffit de remplacer les deux constantes en début de script pour l'adapter à vos besoins ;)

PS Pour ceux qui désirent avoir une confirmation avant le début de la sauvegarde, vous pouvez supprimer l'option -quiet à la fin de la commande.

Bonus : Sauvegarde en mode ninja informatique

Si vous utilisez le script batch ci-dessous pour cloner un ordinateur dans le dos de son utilisateur, c'est un crime et vous êtes entièrement responsable de vos actes.

Copier-coller le script ci-dessous dans un fichier sauvegarde.bat à la racine d'un disque externe USB de taille raisonnable :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@echo off

REM Le script DOIT être lancer en tant qu'administrateur
net session >nul 2>&1
if /I "%ERRORLEVEL%" NEQ "0" (
    echo Ce script doit etre lance en tant qu'administrateur !
    pause
    exit 1
)

REM Message d'avertissement pour l'utilisateur
echo +--------------------------------------------------+
echo + SAUVEGARDE EN COURS, NE PAS ARRETER L'ORDINATEUR +
echo + Merci de patienter, cela peut prendre du temps.  +
echo +                                                  +
echo + Toujours verifier les erreurs avant de fermer ce +
echo + programme.                                       +
echo +--------------------------------------------------+

REM Sauvegarde (affiche la commande pour debug)
echo RUNNING: wbadmin start backup -backupTarget:%~pd0% -allCritical -quiet
wbadmin start backup -backupTarget:%~pd0% -allCritical 

REM Pause le script pour laisser le temps à l'utilisateur de voir si tout c'est bien passé
pause

En exécutant le script depuis le disque externe via un simple clic droit / "exécuter en tant qu'administrateur", l'intégralité des disques systèmes du PC auquel est connecté le disque externe sera sauvegardé vers celui-ci dans un dossier portant le nom du PC en cours de sauvegarde.

Pour les curieux, le script ci-dessus utilise une astuce vielle comme le monde : %~pd0%, pour récupérer le chemin d'accès au disque externe où se trouve le script batch et lancer la sauvegarde automatiquement vers celui-ci.

N.B. La sauvegarde effectuée par wbadmin est une image disque complète du système sans compression. Si le disque C: contient 50Go de données, la sauvegarde fera 51-52Go environ. Prévoyez donc un disque de sauvegarde suffisamment gros pour contenir la sauvegarde.

Conclusion

Ce mini tutoriel est désormais terminé.

Si ce mini tutoriel vous a plu, n'hésitez pas à le commenter sur le forum, à le partager sur les réseaux sociaux et à soutenir le site si cela vous fait plaisir.