Base de registre : découverte et optimisation

Stéphane Ruscher
Par Stéphane Ruscher, Spécialiste informatique.
Publié le 27 juin 2008 à 17h04

Elément central de Windows depuis Windows NT et 95 (même si elle existait déjà sous Windows 3.1, avec un rôle plus restreint), la base de registre est une grande inconnue pour un certain nombre d'utilisateurs. Parmi les lieux communs qui circulent à son sujet, on sait vaguement qu'elle grossit au fur et à mesure des installations, et qu'elle serait un des facteurs de dégradation des performances de Windows qui, dans les cas extrêmes, conduit à sa réinstallation. Néanmoins, pour peu que l'on s'y penche, elle fournit un nombre important d'informations sur le système, et permet d'en modifier certains paramètres, à condition de savoir l'utiliser.

Afin d'y voir plus clair, nous vous proposons un tour d'horizon de la base de registre : à quoi sert-elle, comment est elle structurée, quels sont les éléments importants... Nous essayerons de répondre à ces questions, ainsi qu'aux interrogations suscitées quant à ses problèmes de taille grandissante et l'impact éventuel que cela peut avoir sur les performances. Nous aurons enfin l'occasion d'évoquer quelques astuces permettant d'utiliser la base de registre pour personnaliser certains aspects de Windows.

Attention : les termes et les concepts que nous allons détailler dans cet article peuvent être trop techniques pour un utilisateur néophyte. Modifier la base de registre de Windows est une tâche complexe qui peut entraîner des instabilités dans le système, voire le rendre inutilisable. Si tel est votre cas, ne vous lancez pas dans cette opération sans l'aide d'un utilisateur averti.

Définition de la base de registre

La base de registre réunit de manière hierarchisée, toutes les informations relatives à la configuration de Windows : paramètres de Windows et des applications intégrées au système, réglages des logiciels tiers, préférences des différents utilisateurs du système ou encore associations de fichiers y sont stockés. La base remplace les nombreux fichiers textes qui contenaient ces informations dans MS Dos et Windows 3.x (Autoexec.bat, Config.sys et autres fichiers .INI). Windows intègre évidemment le fameux Regedit pour en visualiser et éditer le contenu. Petite précision : même si nous parlerons de base de registre dans notre article, le terme étant couramment utilisé, Microsoft utilise généralement le terme de Registre.


012C000001412698-photo-regedit.jpg
Regedit : l'éditeur de la base de registre intégré à Windows


Avant de se lancer dans l'exploration de chaque clé, il semble également important d'expliquer les différents types de données que l'on peut rencontrer dans la base. Un répertoire de la base de registre est appelé une clé. Cette clé peut contenir différentes données :

  • REG_BINARY : des données binaires chiffrées qu'il est fortement déconseillé d'éditer. Ces données sont faciles à repérer dans l'éditeur : elles se présentent sous la forme « ff 00 05 00 01 02 00... »

  • REG_DWORD : des données codées sur 32 bits, que l'on peut saisir sous forme décimale ou hexadécimale

  • REG_SZ : des chaînes de caractères, fréquemment utilisées dans la base. On notera deux autres types de chaines de caractère : les chaînes de type REG_MULTI_SZ peuvent contenir plusieurs chaînes, tandis que les chaînes de type REG_EXPAND_SZ sont extensibles et peuvent contenir des variables.

Structure de la base de registre

La base de registre est décomposée en 5 sections principales. Chaque section contient des informations relatives à une catégorie de paramètres. Ces sections sont également appelées des ruches (« Hives »), mais on les appelle plus communément « clés » en se référant aux sous catégories comme des sous clés.

HKEY_LOCAL_MACHINE

Egalement appelée HKLM, cette branche inclut principalement des paramètres système et matériels tels que les paramètres de sécurité, les réglages des logiciels intégrés à Windows et des logiciels tiers, les chemins d'accès aux applications, les informations sur la configuration matérielle ou encore certains paramètres réseau. En examinant l'arborescence, on distingue notamment les clés suivantes:

  • HARDWARE : cette sous-clé comprend notamment les informations sur la configuration matérielle, telles qu'elles sont détectées par Windows au démarrage. En la déployant, dans la sous catégorie Description , vous pourrez par exemple y trouver les informations sur le processeur,telles qu'elles apparaissent dans le panneau de configuration système de Microsoft. On trouvera aussi dans DeviceMap et RessourceMap, des informations sur les périphériques et les ressources système. La clé est générée à chaque démarrage de Windows à partir du matériel détecté.

012C000001412700-photo-hkey-local-machine-hardware.jpg
La sous-clé Hardware contient des informations sur la configuration matérielle


  • SECURITY et SAM : ces deux clés contiennent des informations relatives aux comptes utilisateurs. La modification des clés est impossible, même pour un administrateur du système.
  • SOFTWARE : comme son nom l'indique, la clé Software contient des paramètres relatifs aux logiciels inclus dans Windows, ainsi qu'aux logiciels tiers. On remarquera en la déployant que les clés sont organisées selon l'arborescence Editeur/Logiciel. Les paramètres présents dans la clé SOFTWARE sont des paramètres qui s'appliquent à tous les utilisateurs. D'autres paramètres spécifiques à l'utilisateur se trouveront dans les clés HKEY_USERS ou HKEY_CURRENT_USER.
  • SYSTEM : cette sous-clé contient des paramètres matériel ainsi que des informations sur le système, tels que les pilotes ou la mémoire système. On notera que la sous clé contient deux jeux de configuration, Windows utilisant toujours le dernier jeu de configuration n'ayant pas posé de problème.

012C000001413604-photo-hkey-local-machine-software.jpg


HKEY_ USERS et HKEY_CURRENT_USER

Cette branche que l'on nomme habtuellement HKU contient les informations relatives aux utilisateurs du système. On y trouvera notamment des paramètres d'apparence de Windows, les réglages d'accessibilité, de localisation, des paramètres du compte Outlook Express/Windows Mail, des paramètres utilisateur pour les logiciels, ou encore des parmètres d'impression. En déployant la clé HKEY_USERS, on remarque plusieurs entrées, dont une première intitulée DEFAULT. Cette entrée contient des paramètres par défaut qui s'appliqueront à tous les utilisateurs du système. On trouve également des entrées correspondant aux différents utilisateurs de la machine, dont l'utilisateur courant, que l'on trouve aussi à la racine de la clé HKEY_CURRENT_USER (HKCU) Les informations relatives à chaque utilisateur se décomposent comme suit :

  • AppEvents : répertorie les sons associés aux événements Windows (paramétrables depuis le panneau de configuration Son
  • Console : regroupe les paramètres des fenêtres de ligne de commande (MS-DOS) comme les couleurs, les polices ou la taille du curseur
  • Control Panel : regroupe tous les paramètres définis dans le panneau de configuration (réglages de la souris, thème de bureau, couleurs, accessibilité, paramètres internationaux...
  • Identities : comprend notamment les paramètres d'Outlook Express/Windows Mail
  • Keyboard : informations sur le clavier
  • Printers : informations sur les imprimantes installées
  • Session Information : affiche notamment le nombre d'applications ouvertes
  • Software : contient certains paramètres utilisateurs des applications installées. Cette section n'est pas la section Software de la clé HKEY_LOCAL_MACHINE qui stocke des paramètres logiciels valables pour tous les utilisateurs : ici, les paramètres sont spécifiques à l'utilisateur en question. On retrouve la même arborescence Editeur/Logiciel.

012C000001413654-photo-hkey-current-user.jpg
La clé HKEY_CURRENT_USER contient des paramètres de l'utilisateur (personnalisation, localisation...)


HKEY_CLASSES_ROOT

Cette section contient toutes les informations relatives à l'association des différents types de fichiers aux applications qui les lancent depuis l'explorateur. Il s'agit en fait de la fusion des informations de deux sous-clés : HKEY_LOCAL_MACHINE\Software\Classes et HKEY_CURRENT_USER\Software\Classes. L'arborescence liste les différentes extensions de fichiers et les programmes qui y sont associés. En fait, cette clé regroupe les informations provenant de deux autres emplacements : HKEY_LOCAL_MACHINE\Software pour les associations s'appliquant par défaut, et HKEY_CURRENT_USER\Software pour les paramètres s'appliquant à l'utilisateur, ces derniers étant prioritaires sur les premiers.

012C000001413696-photo-hkey-classes-root.jpg
HKEY_CLASSES_ROOT réunit les associations de fichiers


Modifier les informations contenues dans cette clé permet notamment de spécifier les applications à exécuter pour ouvrir un certain type de fichier. Les informations contenues correspondent aux possibilités offertes depuis les options des dossiers de l'Explorateur sous Windows XP (onglet Types de fichier) ou depuis le panneau Programmes par défaut sous Windows Vista : les applications prenant en charge l'extension (appelées "Applications recommandées" lorsque vous modifier une associations de fichier dans l'explorateur), mais également les actions associées à un type de fichier (lecture, ouverture, nouveau...).

012C000001413704-photo-windows-vista-association-de-fichiers.jpg


HKEY_CURRENT_CONFIG

Cette branche est une copie des informations contenues à l'emplacement HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Hardware Profiles\Current. Elle réunit des informations sur le profil matériel en cours d'utilisation. Ces informations sont récupérées au démarrage du PC.

Nettoyage de la base de registre

La base de registre a tendance à enfler au fur et à mesure de l'installation de logiciels, et même de leur désinstallation, celle-ci ne s'effectuant pas forcément de manière très propre. Il en résulte des clés de registre obsolètes qui remplissent inutilement la base. Chaque problème de Windows inspirant forcément des éditeurs de logiciels, les problèmes de base de registre dont souffre Windows ont généré un marché pour les nettoyeurs de base de registre et ce depuis des années maintenant. Certains sont des outils spécifiquement destinés à cette tâche comme CCleaner ou Registry Mechanic, d'autres sont inclus dans des solutions plus générales de nettoyage de Windows (TuneUp Utilities, System Mechanic, Glary Utilities...)

000000C801404812-photo.jpg
000000C800583521-photo.jpg

TuneUp Utilities et CCleaner font partie des logiciels permettant de nettoyer le registre


Que faire pour nettoyer la base de registre ? Les logiciels de nettoyage agissent en supprimant des clés qu'ils jugent inutiles, renvoyant par exemple vers des applications qui ne sont plus installées sur le système. Le cas est assez fréquent : malgré la « propreté » réputée des modules de désinstallation des logiciels, merci Windows Installer, il reste souvent des traces, notamment au niveau des réglages utilisateurs contenus dans les sections HKEY_USERS ou HKEY_CURRENT_USER.

Le gain de performances obtenu après le nettoyage de la base de registre, notamment au niveau du temps de démarrage de Windows, est l'argument de vente principal de ces logiciels. Pour autant, de nombreuses réserves ont été émises ces dernières années sur l'efficacité réelle de cette action à ce niveau. Plusieurs spécialistes, sont arrivés à la conclusion que cette opération apportait de vrais résultats sous Windows 95, 98 ou Me, mais nettement moins évidents sur les systèmes basés sur NT, notamment Windows XP et Vista.

012C000001413738-photo-tuneup-registry-affichage-des-erreurs.jpg
Le module de nettoyage de TuneUp Utilities affiche les erreurs trouvées


Pour tenter d'y voir plus clair, nous avons effectué un test sur un PC Dell Vostro 200 Core 2 Duo 2,20 Ghz équipé de 2 Go de mémoire vive,d'un disque dur de 300 Go (206 Go libres) et de Windows Vista Service Pack 1. Le PC en question est utilisé au quotidien et a déjà « subi » de nombreuses installations et désinstallations de logiciels. Nous n'avons pas procédé à une réinstallation « propre » du système pour les besoins du test, ni installé et désinstallé des logiciels spécialement dans le but de réduire artificiellement ses performances. Le PC met environ 65 secondes à démarrer (moyenne obtenue à partir de trois mesures successives)

0190000001414696-photo.jpg
Temps de démarrage de Windows avant et après nettoyage (en secondes)


Sur cette configuration, nous avons utilisé le module de nettoyage de registre de TuneUp Utilities 2008. Celui-ci localise 1362 erreurs, majoritairement des clés relatives à des historiques de fichiers. Après nettoyage des erreurs, le gain de performances au démarrage est totalement imperceptible : le démarrage est même plus lent d'une seconde sur nos mesures (66 secondes). Celles-ci ne sont pas à prendre à la lettre, le démarrage de Windows pouvant être aléatoire. Néanmoins, ce test ne montre aucun gain de performance notable. Bon point, en revanche, pour la stabilité : il ne semble pas que celle-ci ait été impactée par les erreurs réparées. En outre, les nettoyeurs de base de registre proposent généralement une option permettant de sauvegarder et restaurer la base, si des dysfonctionnements se manifestaient.

Si les performances ne bénéficient d'aucun gain, pourquoi alors prendre le risque de nettoyer sa base de registre ? A cette question, on peut répondre que cela permet de faire le ménage dans une base qui peut devenir confuse si on est amené à y chercher des informations : les modules de désinstallation ne faisant pas toujours le ménage correctement, on peut se retrouver avec des entrées qui n'ont plus rien à y faire. Pour l'utilisateur lambda qui ne passe pas sa vie dans Regedit, cela n'est pas d'une grande utilité, mais comme l'a évoqué notamment Mark Russinovich (fondateur de Sysinternals, racheté depuis par Microsoft), il en est tout autre pour un administrateur système. On peut également évoquer l'argument du gain en espace disque : tout comme la suppression des fichiers temporaires et autres historiques, le nettoyage de la base de registre permet de gagner de l'espace disque, même négligeable, et de réduire l'empreinte mémoire de celle ci, ce qui en laisse davantage pour les autres applications. Mais en aucun cas on ne pourrait considérer cette opération comme un remède miracle pour rendre à votre PC ses performances d'antan, en tous cas pas sur les versions récentes de Windows.

Quelques astuces pour personnaliser Windows

Pour finir, nous vous proposons quelques astuces exploitant la base de registre pour personnaliser certains détails de Windows, dont les réglages sont inaccessibles dans les outils proposés par défaut. Ceux ci sont très nombreux et en dresser une liste exhaustive serait impossible. Néanmoins, en voici quelques uns, que nous avons testés avec Windows Vista et Windows XP. Avant d'appliquer ces modifications, pensez à sauvegarder votre base. Pour cela, Regedit propose une fonction d'exportation dans le menu Fichier. La boite de dialogue propose plusieurs niveaux d'exportation : la branche en cours d'exploration ou « Tout ». Choisissez la deuxième option pour sauvegarder l'ensemble de la base sous la forme d'un fichier .REG que vous pourrez placer dans le dossier de votre choix. De même, pour la restaurer, vous n'aurez qu'à exécuter ce fichier .REG.

012C000001414440-photo-regedit-exportation-de-la-base.jpg


Cette méthode n'est cependant pas forcément la plus efficace car elle sous entend que l'on ait encore accès à Windows pour lancer Regedit et restaurer le fichier. Si vous ne parvenez pas à démarrer le système, il faudra avoir réalisé des sauvegardes des fichiers de la base. L'affaire se complique un peu car la base de registre est contenue dans plusieurs fichiers, qui plus est répartis à des emplacements différents. La plupart des fichiers se trouvent dans le dossier Windows\System32\Config. Il s'agit des fichiers intitulés :

  • COMPONENTS
  • DEFAULT
  • SAM
  • SECURITY
  • SOFTWARE
  • SYSTEM

Le fichier correspondant à la branche HKEY_CURRENT_USER est à chercher dans les répertoire de l'utilisateur. (Documents & Settings\NomUtilisateur sous Windows XP et Utilisateurs\NomUtilisateur sous Windows Vista). Le fichier s'intitule ntuser.dat et il est caché par défaut (pensez à afficher les fichiers et dossiers cachés dans l'explorateur). Si plusieurs utilisateurs sont enregistrés, vous devrez récupérer le fichier ntuser.dat de chaque utilisateur. Pour restaurer les fichiers, il faudra remplacer les fichiers endommagés par vos sauvegardes, par exemple en passant par la console de récupération de Windows XP.

Déplacer la barre de menu d'Internet Explorer 7

Si Internet Explorer 7 existe pour Windows XP, son ergonomie a été pensée pour Windows Vista, et la tendance de Microsoft était de cacher, par défaut les barres de menus dans Internet Explorer. Il est possible de l'afficher, mais celle ci se retrouve entre la barre de navigation et la barre de signets, ce qui n'est pas l'emplacement que l'on attend sous Windows XP, et sans qu'on puisse la déplacer, même lorsque les barres d'outils ne sont pas verrouillées. Pour la remettre « à la bonne place », on peut passer par la base de registre. Rendez vous à l'emplacement suivant dans l'arborescence : HKEY_CURRENT_USERS\Software\Microsoft\Internet Explorer\WebBrowser. Puis, créez un nouveau DWORD (Edition > Créer > valeur DWORD) que vous appellerez ITBar7Position. Effectuez un clic droit pour la modifier et attribuez lui une valeur de 1. Lancez IE7 et le tour est joué. A noter que cette manipulation fonctionne sous Windows Vista, mais brise alors l'interface transparente d'IE7. De toute façon, ce comportement est plutôt gênant pour les utilisateurs de Windows XP.

000000C801413818-photo.jpg
000000C801413808-photo-internet-explorer-7-menu-bar-en-haut.jpg


Supprimer les flèches des icônes de raccourci sous Windows Vista

Sans vouloir couper les cheveux en quatre, les petites flèches ajoutées aux raccourcis sont absolument énormes sous Windows Vista. Pourtant, aucune option du panneau de configuration ne permet de les supprimer. Une solution utilisant la base de registre existe. Elle nécessite néanmoins le téléchargement préalable d'une icône vierge que vous trouverez par . Décompressez le contenu de l'archive dans le répertoire Windows. Puis, dans l'éditeur de la base de registre, rendez vous à l'emplacement HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer. Créez une nouvelle clé que vous nommerez « Shell Icons ». Dans cette clé, créez une nouvelle chaîne de caractères et appelez là 29. Enfin, modifiez la et attribuez lui la valeur %SystemRoot%\noarrow.ico,0. Le fichier noarrow.ico doit impérativement se trouver à la racine du répertoire Windows, qui correspond à la variable %SystemRoot%. La modification est prise en compte après le redémarrage de Windows. A noter, si vous utilisez déjà TuneUp Utilities, que cette modification, fait partie des « tweaks » proposés par le logiciel (ainsi que par d'autres outils du même genre). Dans TuneUp, vous la trouverez dans le module TuneUp Styler, en suivant le menu « Icônes » dans le panneau latéral, puis en choisissant « Apparence ». Si vous n'utilisez pas TuneUp, vous trouverez sur notre un petit outil fort bien nommé Vista Shortcut Overlay Remover tout à fait fonctionnel pour appliquer cette modification sans toucher à la base.

000000C801412538-photo.jpg
000000C801414552-photo-tuneup-styler.jpg

Plusieurs outils permettent d'appliquer cette modification sans passer par la base


Réduire le temps nécessaire à l'extinction de Windows

Si vous trouvez la durée d'extinction de Windows trop longue, il est possible de la réduire en agissant sur le délai avant la fermeture des services. Celui ci est réglé par défaut à 20 secondes. Cette donnée se trouve dans la base de registre à l'emplacement HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control, qui contient une chaîne de caractère intitulée WaitToKillServiceTimeout. Cette durée est exprimée en millisecondes : pour la réduire à 5 secondes, attribuez lui une valeur de 5000. La modification prend effet immédiatement.

Désactiver les alertes en cas d'espace disque faible

Windows avertit l'utilisateur lorsque l'espace disque est faible, ce qui est tout à fait normal. Néanmoins, ces alertes plutôt insistantes peuvent vite provoquer un certain agacement. Pour les désactiver, il faut se rendre à l'emplacement HKEY_CURRENT_USER\Software\MicroSoft\ Windows\CurrentVersion\Policies\Explorer, puis créer une valeur DWORD intitulée NoLowDiskSpaceChecks, et lui attribuer une valeur de 1. Vous devriez alors avoir la paix.

Désactiver le blocage des fenêtress « pop-up » pour les sites en HTTPS

Internet Explorer propose un outil de blocage des fenêtres « pop-up » qui peut s'avérer pratique pour bloquer certaines publicités trop envahissantes. Pour permettre malgré tout l'affichage de ces fenêtres sur les sites sécurisés dont l'URL commence par « https:// », rendez vous à l'emplacement HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\New Windows. Vous y trouverez un élément intitulé Allow HTTPS, auquel vous n'aurez qu'à attribuer une valeur de 1. Les pop-ups continueront à être bloquées pour les sites « standard ».

De l'intérêt de la base de registre

0000009601414352-photo.jpg
Que retenir de ce tour d'horizon de la base de registre ? Tout d'abord que son rôle dans la dégradation des performances de Windows nous semble exagéré, en tous cas sous Windows Vista Service Pack 1 où nous n'avons constaté aucune différence notable dans les performances d'un ordinateur pourtant bien affaibli par de multiples installations et désinstallations de logiciels. On remarque tout au plus un ressenti impossible à mesurer. Effet placebo ou réelle optimisation ? Difficile à dire... Cela ne signifie pas pour autant que les nettoyeurs de base de registre sont inutiles : ils permettent de faire le ménage dans une mine d'informations et de paramètres qui peut devenir tentaculaire. Pour un administrateur système amené à se plonger dans la base, cela peut avoir son importance.

Cela nous donne l'occasion de vous mettre en garde sur le second point : la base de registre reste un outil d'une grande complexité, qui nécessite de réelles connaissances pour savoir quoi supprimer ou modifier. Faire une confiance aveugle à des outils de nettoyage de la base, sans l'aide d'une personne compétente dans ce domaine, peut être assez dangereux, de même que modifier un paramètre d'une clé peut avoir une incidence sur la stabilité du système. Là encore, les nettoyeurs proposent souvent un aperçu des clés jugées « obsolètes », parfois même accompagné d'explications sur la raison pour laquelle le logiciel la considère invalide. N'hésitez pas à demander l'avis d'un spécialiste qui saura sans doute mieux vous guider sur le sujet. Si vous vous aventurez dans de telles manipulations, pensez à sauvegarder la base au préalable. C'est possible depuis Regedit, et prévu par la plupart des logiciels de nettoyage, certains le faisant même automatiquement, avec possibilité d'annuler les modifications en un clic.
Stéphane Ruscher
Spécialiste informatique
Commentaires (0)
Rejoignez la communauté Clubic
Rejoignez la communauté des passionnés de nouvelles technologies. Venez partager votre passion et débattre de l’actualité avec nos membres qui s’entraident et partagent leur expertise quotidiennement.
Abonnez-vous à notre newsletter !

Recevez un résumé quotidien de l'actu technologique.

Désinscrivez-vous via le lien de désinscription présent sur nos newsletters ou écrivez à : [email protected]. en savoir plus sur le traitement de données personnelles