Sauvegarder le Registre

Avant ...
  • d'utiliser un logiciel de Tweak (réglage)
  • d'utiliser un nettoyeur de Registre <== DANGER !
  • d'utiliser Regedit
  • de fusionner un fichier REG
  • d'appliquer un script ou un batch
  • d'appliquer un tip vu dans une revue ou sur Internet
  • d'installer un logiciel
... il est prudent de sauvegarder le Registre !

On dispose de trois méthodes :

  • Exporter la clé que l'on va modifier
  • Faire un Point de Restauration
  • Utiliser Erunt (conseillé !)


Après c'est peut-être trop tard....
==>
Mais on peut réparer <==

 

C'est quoi le Registre

KB256986 : Informations sur le Registre Windows pour utilisateurs expérimentés
http://fr.wikipedia.org/wiki/Base_de_registre
http://en.wikipedia.org/wiki/Windows_Registry

Mémoire de Windows et des logiciels, le Registre conserve toutes les modifications apportées à l'environnement. Le Registre est donc modifié par Windows et par les logiciels. Il est susceptible d'être modifié par l'utilisateur avec Regedit.exe ou la commande REG. Il faut sauvegarder le Registre avant toute intervention car Regedit ne fait aucune sauvegarde automatique. Les modifications sont enregistrées immédiatement et sont souvent actives tout de suite. Pour certaines modifications il faut redémarrer Explorer pour activer la modif. Il peut être nécessaire de redémarrer la session, voire la machine.

Les utilitaires qui écrivent dans le Registre font appel au système pour que les nouveaux paramètres soient activés immédiatement. Par exemple les modifications effectuées avec TweakUI sont prises en compte immédiatement. Si on modifie les valeurs du Registre avec Regedit, il faudra la plupart du temps redémarrer Explorer ou la session pour la voir appliquée au système. On observe quelques cas particuliers : un changement de thème provoque une relance partielle du système, sans sortir de la session.

 

C'est stocké où

Windows\System32\Config
Le Registre est composé de gros fichiers binaires appelés Ruches, en anglais Hives.
L'emplacement des ruches est défini à la clé hivelist :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist

Les ruches principales se trouvent donc dans le dossier Windows\System32\Config :

Les ruches concernant plus particulièrement l'utilisateur sont stockées dans son profil :

 

Menu de Démarrage Avancé (F8)

Malgré toutes les précautions que prend Windows, ces gros fichiers très sollicités ne résistent pas toujours aux coupures de l'alimentation électrique et il est parfois nécessaire de faire un CHKDSK /R depuis la Console de Récupération ou depuis un BARTPE pour pouvoir redémarrer un ordinateur. Dans certains cas on devra tenter de récupérer une sauvegarde des ruches dans les points de restauration.

Mode sans échec
Avant d'en arriver là, essayer le mode sans échec en appuyant sur F8 au démarrage (il faut insister avec certains ordinateurs dont le BIOS intercepte cette touche pour proposer la liste des volumes de démarrage ==> tapoter à nouveau sur la touche après avoir confirmé le démarrage à partir du disque dur). Outre qu'il est possible d'accéder à la restauration comme on le ferait normalement (Menu Démarrer, Accessoires, Outils système), le mode sans échec affiche lors de son démarrage un avertissement se résumant ainsi :
[Oui] je veux entrer en mode sans échec
[Non] je veux restaurer mon ordinateur dans un état précédent

Cliquer sur [Non] proposera donc le retour à un point de restauration.

Invite de commandes en mode sans échec
Si le mode sans échec graphique ne fonctionne pas, essayer "Invite de commandes en mode sans échec". Revenir à un point de restauration est alors possible en lançant directement la commande :
%systemroot%\system32\restore\rstrui.exe

Dernière bonne configuration connue
Cette option permet souvent de rétablir un démarrage correct en recopiant une sauvegarde de la clé HKLM\System\CurrentControlSet...
Démarrer l'ordinateur avec la dernière bonne configuration connue
KB307852 : Démarrer votre ordinateur avec la fonctionnalité de dernière configuration correcte connue

Dernière bonne configuration connue, ça ne marche pas toujours
Comme seule la clé CurrentControlSet est concernée par cette option, cette action ne sera pas efficace lorsque d'autres parties du registre sont concernées par le dysfonctionnement, "Dernière bonne configuration connue" ne fera que remettre en place la branche HKLM\SYSTEM\ControlSet00x qui marchait.
Les anomalies situées dans HKU, HKLM\SAM, HKLM\Security, HKLM\SOFTWARE (très souvent en cause) ne seront pas corrigées.
À propos des branches HKLM\SYSTEM\ControlSetxxx et HKLM\SYSTEM\CurrentControlSet

 

Les Ruches ça se sauvegarde où

On a vu que les ruches actives se trouvaient dans System\config
Il est utile de savoir où trouver de copies de secours au cas où un chkdsk /R ne serait pas suffisant à réparer une ruche endommagée (souvent constaté : arrêt par coupure de courant provoquant sur XP une ruche SYSTEM introuvable ou endommagée).

Windows\Repair
Windows XP seulement, n'existe plus depuis Vista.
Lors de l'installationde Windows XP, une copie est faite dans c:\Windows\Repair.
Cette copie peut ainsi avoir quelques années. Souvent indiquée comme un moyen de redémarrer, c'est vraiment l'opération de la dernière chance avant de tenter une réparation globale par réinstallation par-dessus. Essayer plutôt de récupérer les ruches depuis le SVI, ou pour Vista et W7, depuis le dossier RegBack. On a également la solution de revenir à un point de restauration, avec ERD Commander (XP) ou avec WINRE ou "Réparer l'ordinateur" sur les systèmes plus récents (F8 au démarrage).

System Volume Information
La Restauration Système stocke ses sauvegardes dans le dossier System Volume Information situé à la racine du disque. Ce dossier n'est normalement pas accessible, mais il existe des moyens de retrouver ces sauvegardes si la Restauration Système ne fonctionne plus ou si Windows ne démarre pas. Plus d'infos dans cet article : Récupération d'une copie du Registre depuis le SVI avec la CDR. C'est devenu différent avec W7, le SVI n'est plus aussi lisible qu'avant. Mais W7 offre la possibilité de revenir à un point de restauration dans ses options de démarrage de secours (F8), via "Réparer l'ordinateur", ou encore en démarrant avec un CD WINRE. Vista/W7 sauvegardent tous les jours une copie des ruches dans RegBack.

Windows\System32\Config\RegBack    Nouveau !
On a vu que les ruches actives sont situées dans Config. Avec Vista est apparu un nouveau dossier nommé RegBack astucieusement situé dans Config. Tous les jours une copie de secours des ruches est effectuée dans RegBack. RegBack sera très pratique pour se récupérer depuis winre ou un bartpe. Une fois démarré avec un de ces systèmes de secours (on peut même utiliser un Live CD Linux), on commencera par effectuer une copie de sécurité des ruches contenues dans Config. On rapatriera alors par copier-coller les ruches depuis RegBack dans Config.

Windows\ERDNT
Erunt fait des sauvegardes dans Windows\ERDNT et/ou dans un dossier au choix.
Même avec les améliorations apportées par Vista concernant la sauvegarde des ruches, il reste apprécié des bidouilleurs par sa capacité à sauvegarder automatiquement ou manuellement de nombreuses copies des ruches. L'élévation de privilèges nécessaire à son automatisation sur Vista est contournable facilement en utilisant le Planificateur de Tâches.

 

Regedit.exe, the Registry Editor

L'utilisateur dispose de l'utilitaire Regedit.exe pour accéder au contenu du Registre. Ce n'est pas un explorateur de fichiers, malgré la similitude de présentation avec Explorer. Ce qui est parfois pris pour des dossiers sont des clés. Le panneau de droite affiche les valeurs contenues dans ces clés. Le système utilise les contenus de ces valeurs, mais peut avoir besoin uniquement du nom d'une valeur, ou d'une clé. Particularité : tous les espaces sont pris en compte, même en fin de nom !

Notation
On utilise souvent cette notation abrégée pour désigner les clés principales :

HKCR = HKEY_CLASSES_ROOT
HKCU = HKEY_CURRENT_USER
HKLM = HKEY_LOCAL_MACHINE
HKU    = HKEY_USERS
HKCC = HKEY_CURRENT_CONFIG

Exporter la clé que l'on va modifier
On peut sauvegarder une clé et son contenu avant d'y faire une modification. On crée pour cela un fichier REG (avec une extension.REG) en utilisant le Menu Fichier>Exporter ou par un clic droit sur la clé. Il conviendra de donner un nom explicite au fichier REG obtenu. Celui-ci pourra être fusionné à nouveau au Registre en cliquant dessus. Si la modification consiste à créer une valeur ou une sous-clé, fusionner ce fichier REG ne supprimera pas ces ajouts. Il est toutefois possible d'utiliser certaines syntaxes pour obtenir ce résultat.

Les revues proposent souvent l'exportation de l'ensemble du Registre. On obtient alors un gros fichier REG. Cette solution est un compromis et nombre de clés ne seront pas sauvegardées de cette façon car elles sont interdites d'accès. Et on vient de voir que les ajouts ne seront pas corrigés en fusionnant le fichier REG.

Si cette solution ne permet pas une véritable sauvegarde du Registre elle peut être utile pour opérer de multiples corrections en se servant des possibilités du Bloc-Notes ou d'un éditeur ASCII. Une fois les corrections effectuées, comme la correction de chemins erronés par exemple, il suffira de fusionner le résultat. L'exercice est délicat, par prudence faire précéder cette manip d'une sauvegarde Erunt et d'un point de Restauration.

Cet article montre les avantages et inconvénients de quelques éditeurs de Registre et de leurs modules de recherche.

Regedit est capable d'éditer une ruche d'un système inopérant en important une ruche  : Édition du Registre d'une autre partition.
Opération réservée aux connaisseurs, mais qu'il est bon de connaître pour désactiver par exemple un pilote tiers qui empêche un démarrage (Start=4 pour désactiver un service). La façon dont on utilise regedit pour éditer le registre situé sur une autre partition peut être déroutnate, UBCD4WIN offre un outil d'édition du registre distant plus pratique.

 

Restauration système

Windows sauvegarde régulièrement le système en faisant des Points de Restauration, et le Registre est évidemment compris dans cette sauvegarde. Un point de Restauration est également créé lors de modifications importantes, comme les mises à jour Windows ou l'installation de certains logiciels. Comparé à la méthode vue ci-dessus, créer un Point de Restauration avant d'utiliser Regedit met l'utilisateur réellement à l'abri, en particulier quand il utilise des logiciels dits de nettoyage du Registre qui provoquent parfois des catastrophes quand on leur fait trop confiance. Savoir qu'ils ne servent pas à grand chose, alléger le registre de ses soi-disant erreurs ne rend pas le système plus rapide. Ce qui n'empêche pas de faire quelque tests, une fois qu'on maitrise bien la récupération des ruches avec Erunt ou autre moyen (SVI, RegBack).

 

Dernière bonne configuration connue

Pourquoi "Dernière bonne configuration connue" ne résoudrait pas un problème de registre ?
Cette option est proposée dans les options de démarrage avancé que l'on voit apparaître suite à un plantage ou en tapotant sur F8 pendant le démarrage. Si elle est souvent efficace, elle ne corrige pas toujours le problème. On pourrait penser que ça remet en place une sauvegarde du registre effectuée par Windows mais ce n'est pas le cas. Le mécanisme est partiel et interne au registre. Seule la sous-clé HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00x est traitée. Le procédé est donc TRÈS limité ! Il est par conséquent fortement conseillé d'utiliser erunt.

 

Erunt

Erunt est le must de la sauvegarde du registre. Contrairement à la restauration système il ne s'occupe que des Ruches, il est donc plus rapide et plus pratique. Comme il sauvegarde vraiment tout le Registre il sera capable de le restituer quelle que soit la situation, et cela même si le système ne redémarre pas.
Absolument indispensable avec Windows XP, son utilité est moindre avec Vista/W7 qui conservent très intelligemment une copie récente dans config\regback. Il reste cependant apprécié des bidouilleurs en les mettant plus à l'abri dans leurs expérimentations.

 

Réparation du Registre

On a vu qu'on a la possibilité de réparer le Registre en restituant simplement une sauvegarde Erunt. Oui mais que faire quand Windows ne démarre plus et qu'on n'avait pas utilisé Erunt ? Que faire quand le Menu de Démarrage Avancé (F8) n'offre pas de solution (Mode Sans Échec, Ligne de Commande en Mode Sans Échec, Démarrage selon Dernière Bonne Configuration) ? Lire les articles  :

Depuis Vista le système enregistre régulièrement une copie des ruches. L'opération est déclenchée tous les dix jours par une Tâche Planifiée (Registry, RegIdleBackup) :

Notez que CHKSDK /R depuis la Console de Récupération ou un BARTPE est souvent efficace. Si doute sur l'état du disque commencer par un CHKDSK sans paramètres. S'il indique beaucoup d'erreurs il vaut peut-être mieux essayer d'abord de récupérer les données importantes.

Maintenant que vous avez lu ces articles, vous avez découvert UBCD4WIN et ses possibilités, l'existence de sauvegardes récentes du registre dans le SVI, ainsi que la présence d'une ancienne copie dans Windows\repair. En cas de crash logique il devrait y avoir une copie config\system.ALT de la ruche config\SYSTEM.

Autre outil intéressant car utilisable rapidement, un CD Live Linux. En bootant sur ce CD vous aurez un Bureau Linux depuis lequel vous pourrez explorer votre disque, récupérer vos fichiers importants (via le réseau ou l'USB), et recopier les ruches depuis le SVI ou regback sur Vista. L'inconvénient par rapport à UBCD4WIN est qu'il ne permet pas d'utiliser des outils prévus pour Windows, il ne servira qu'au transfert de fichiers. Nouveau : j'ai ajouté une section sur les Live CD Linux et autres UBCD.

Voir aussi les possibilités de l'outil ERD COMMANDER / MSDART présenté vers la fin du tuto UBCD4WIN. Il permet par exemple en quelques clics de faire revenir à un point de restauration un système Windows XP qui ne démarre plus.

Un malheur n'arrivant jamais seul, vous savez que vous n'avez pas de points de restauration, puisque vous vous souvenez avoir désactivé le système de surveillance disque sur le conseil d'un ami ? Il a oublié de vous dire qu'il fallait le remettre ? Malgré ce mauvais conseilleur, tout n'est pas perdu.

Si vous êtes dans le cas où la Session semble démarrer mais échoue, et qu'aucun des modes de secours ne fonctionne, sachez qu'il est possible d'éditer le Registre depuis un autre système. Avec UBCD4WIN c'est très facile, lire Impossibilité d'entrer en session résolu avec Remote Registry (vers la fin de l'article). Cette manip n'est évidemment pas possible avec un CD Linux. Ou alors si, mais c'est très spécial, en anglais, en lignes de commandes, et en clavier qwerty ! (voici une image de clavier qwerty à imprimer avant de commencer). Offline NT Password & Registry Editor de Peter Nordhal est proposé dans le Menu de Démarrage d'UBCD4WIN, ça permet aux habitués de dépanner plus rapidement. Conçu au départ pour effacer le mot de passe (aides en images 1 et 2), il sait à présent éditer le reste du Registre. À réserver aux spécialistes. Vous préfèrerez certainement UBCD4WIN et Remote Registry.

Autres moyens de réparer :

 

Liens

KB315522 Description des options du mode de démarrage sans échec dans Windows XP
KB315341 Comment faire pour effectuer une mise à niveau sur place (réinstallation) de Windows XP
KB322756 Comment faire pour sauvegarder, modifier et restaurer le Registre
KB822705 Résolution des problèmes d'endommagement du Registre
KB307545 Comment faire pour récupérer Windows XP à partir d'un Registre endommagé qui empêche le démarrage du système
KB322205 : Comment faire pour résoudre les problèmes liés aux pilotes matériels et logiciels dans Windows XP
Tutorial : Réparer Windows XP avec le CD d'installation
Réparation de Windows avec conservation des données
Comment démarrer / redémarrer en mode sans échec
Appuyer sur F8 pendant le démarrage : Menu d'options avancées de Windows XP
Mode sans échec : cliquer sur Non pour restaurer le système
Démarrer l'outil de restauration du système à partir d'une invite de commande
%systemroot%\system32\restore\rstrui.exe
Désactiver le redémarrage automatique en cas d'échec système
Comment faire pour effectuer un démarrage en mode minimal dans Windows XP
Créer un CD bootable comprenant une Console de Récupération pour Windows XP
Les mises à jours téléchargées ne s'installent pas
Récupération d'une copie du Registre depuis le SVI avec la CDR
Édition du Registre d'une autre partition
Informations sur le Registre Windows pour utilisateurs expérimentés
Les fichiers contenant la base de registres de Windows NT
À propos des branches HKLM\SYSTEM\ControlSetxxx et HKLM\SYSTEM\CurrentControlSet
Inside the Registry : Hives, Hive Structure, Cell Maps, The Registry Namespace and Operation, Stable Storage, Registry Optimizations.
Microsoft Windows Internals Fourth Edition, Chapter 4, Management Mechanisms, Registry Data Types, Registry Value Types, Registry Logical Structure, Troubleshooting, Hives.

S'approprier un fichier ou un dossier dans Windows XP
Impossibilité d'accéder à certains dossiers ou fichiers après réinstallation de Windows
Utilisation de NTFS pour protéger facilement  l'accès à un fichier ou un dossier
Différences entre partages et permissions

La stratégie locale de ce système ne vous permet pas d'ouvrir une session de manière interactive

Windows Won't Start by Wes Miller
http://technet.microsoft.com/en-us/magazine/2009.01.desktopfiles.aspx
http://technet.microsoft.com/fr-fr/magazine/2009.01.desktopfiles.aspx (traduction automatique, moyen)

 

 

 

Retour au début


Les trois lois de l'informatique :

1/ Sauvegarder
2/ Sauvegarder
3/ Sauvegarder

compteur Free
Première publication
07/06/2007


JF    Les restes du site

Pour ceux qui connaissent c'est même possible depuis le réseau vers une machine XPPRO avec la commande psexec de Sysinternals (réservé aux geeks; ne marche pas vers une machine XPHOME à cause de l'anonymisation).