La Base de Registre de
Windows 95

Enfin, voici (presque) tout ce que vous vouliez savoir sur la BdR...

Sommaire :

1/ Généralités, évolution depuis Windows 3.1
2/ Les précautions à prendre avant de bidouiller : sauvegarder la BdR
3/ Description des 6 branches de la BdR, conventions de nommage
4/ Astuces à connaitre dans la BdR
       
- Reconstruire une base de registre endommagée
5/ Références & conseils de lecture



 

1/ Généralités, évolution depuis Windows 3.1

A l'origine était le chaos...
Sous Windows 3.1x, chaque application créait un fichier .ini dans le dossier windows, ou pour les plus économes, ajoutait quelques lignes dans win.ini. Les 2 fichiers principaux de ce joyeux foutoire :
win.ini, qui contient tous les paramètres utilisateurs (couleurs, param internationaux ,...) et system.ini qui contient les paramètres machine (type de clavier, d'écran...). Et pourtant, déjà on trouve un petit fichier, bien caché au millieu des autres : reg.dat ...mais oui! : une mini base de registre, qui contenait les enregistrements complets des associations de fichier. En effet, les associations listées dans win.ini ne permettent pas les interactions entre applications (OLE & DDE), par son (trop) simplicime fonctionnement du type "txt=c:\windows\notepad.exe ^.txt", d'où cette méthode pour noter les associations de fichiers, et au besoin les paramètres (+ ou - complexes) d'ouverture de l'application.
...Maintenant est le bordel organisé
Avec le lancement de windows95 et NT4, MS a décidé d'uniformiser son système et de regrouper toutes les infos nécessaires au bon fonctionnement du PC dans 2 fichiers accessibles avec 1 programme : regedit. Que voici une louable intention : toute appli désirant stocker ses paramètres de fonctionnement n'a plus à créer un fichier sur le DD pour 3 ou 4 lignes de texte... et encombrer ainsi inutilement le DD (voir explications dans la partie FAT32). 2 fichiers donc,
user.dat et system.dat situés dans le répertoire windows, ce qui rend en fait beaucoup plus fragile windows, car sans ces fichiers, il est incapable de fonctionner. Elément criticable, la méthode de gestion choisie par MS : toute branche supprimée garde sa place dans les fichiers, mais est notée comme supprimée et n'apparait plus, d'où ce gonflement des fichiers system.dat et user.dat au fur et à mesure de l'install et suppression de logiciels (shareware ou non). Cette méthode ressemble fort au principe des suppressions de fichiers sur un disque : le fichier est noté "supprimé", enlevé des index (FAT), mais reste quand même sur le disque. A la différence que la place laissée par le fichier peut être réutilisée, contrairement aux branches supprimées de la BdR...
Le seul moyen efficace pour réduire sa taille (et ainsi accélérer un peu le démarrage de windows) est soit d'utiliser un outil (style Norton Utilities3, etc...), capable de faire un vrai ménage ; soit le faire manuellement, ce qui est suffisament risqué pour que je n'en parle pas ici.

 


 

2/ Précaution à prendre avant de bidouiller : sauvegarder la BdR

2 méthodes, qui permettent de restaurer sous DOS:
A/ première méthode : mano-mano ou avec des batchs.
Pour sauvegarder :
1/ créer un répertoire
save dans le répertoire Windows 
2/ y copier les fichiers c:\windows\
system.dat et c:\windows\user.dat
les fichiers étant cachés, choisir "afficher tous les fichiers" dans l'explorateur.
Pour restaurer :
1/ démarrer sous DOS (F8 au boot puis ligne de commande uniquement)
2/ aller dans le répertoire Windows (
cd windows
3/ taper :

 

attrib -r -h -s system.dat
attrib -r -h -s user.dat 
copy save\*.dat c:\windows 

On peut également créer 2 fichiers batch (fichiers de commande DOS). Recopier le texte dans le tableau ci-dessous dans 2 fichiers texte, à nommer comme indiqué.
Attention : si vous avez installé Windows ailleurs que dans c:\windows, corrigez le texte en rouge... Attention également au "." en fin de certaines lignes.

Sauvereg.bat (sauvegarde)

Restreg.bat (récupération)

@echo off
cls
c:
cd
\windows
if not exist save\nul md save
attrib -r -s -h system.dat
attrib -r -s -h user.dat
copy /y user.dat save
copy /y system.dat save
attrib +r +s +h system.dat
attrib +r +s +h user.dat
echo
.
echo sauvegarde terminee.

@echo off
cls
c:
cd
\windows
attrib -r -s -h system.dat
attrib -r -s -h user.dat
copy /y save\user.dat  
.
copy /y save\system.dat  
.
attrib +r +s +h system.dat
attrib +r +s +h user.dat
echo.
echo restauration terminee.
 

B/ Deuxième méthode : télécharger ERU chez Microsoft... c'est pas épais et ça vaut le coup.


 

3/ Description des 6 branches de la BdR, conventions de nommage

Dans Regedit, 6 branches sont visibles :

Branche

Convention de nommage

HKEY_CLASSES_ROOT

HKCR

HKEY_CURRENT_USER

HKCU

HKEY_LOCAL_MACHINE

HKLM

HKEY_USERS

HKU

HKEY_CURRENT_CONFIG

HKCC 

HKEY_DYN_DATA

HKDD

Les 2 dernières branches sont liées à la configuration courante du PC.
Hkey_Current_config reprend en fait la configuration courante à partir des informations contenues dans HKLM\Config, tandis que Hkey_Dyn_data ne contient que des infos "volatiles" qui ne sont pas enregistrées sur disque, mais seulement présente en RAM pour la session en cours.

Physiquement, la BdR est en fait composée de 2 branches : HKU et HKLM. Les autres sont en fait que des sous-branches de celles-ci.
* HKEY_CLASSES_ROOT est en fait HKEY_LOCAL_MACHINE\SOFTWARE\Classes
* HKEY_CURRENT_USER est en fait une des sous branches de HKEY_USERS :
sur un système mono-utilisateur, c'est HKEY_USERS\.default ; sur un système multi-utilisateurs, c'est HKEY_USERS\<nom user>

HKLM représente tout ce qui est lié à la machine :
hklm\hardware (processeur),
hklm\enum (matériel),
hklm\network (réseau y compris Internet) :
hklm\software (paramètres logiciels communs à tous les utilisateurs)

HKCU recense tous les paramètres utilisateurs :
hkcu\control panel (Panneau de config),
hklm\software (logiciels)
hkcu\AppEvents (sons systèmes)
hkcu\keyboard layout (config clavier)
hkcu\Remote Access (les entrées de l'accès réseau à distance)
hkcu\Network (ressources réseau accédées par l'utilisateur) 

HKCR, qui vient directement de win3.1, regroupe toutes les associations de fichiers, les enregistrements OLE, DDE et ActiveX
les premières branches commencent par .xxx et indiquent tous les types de fichiers enregistrés. à chaque type correspond une description, dont le nom se retrouve plus bas.
Exemple :
\HKCR\.txt
default = txtfile
on retrouve plus bas
\HKCR\txtfile qui contient
- une branche pour l'icone (hkcr\txtfile\DefaultIcon),
- une branche pour les types d'actions possibles (hkcr\txtfile\shell)
 dans cette dernière branche, on trouve une branche par action possible depuis l'explorateur 


 

4/ Astuces à connaitre dans la BdR

- Au démarrage, Windows 95 m'indique que ma base de registre est endommagée, et qu'il faut redémarrer pour restaurer une autre version. le problème c'est que ça le fait à tous les démarrages.
Notes :  
* Dans win95 première version, un bug dans regedit empêche cette manoeuvre de fonctionner. Il est toutefois possible de se servir de regedit.exe d'un win95 OSR2, en bootant sur une disquette faite à partir de win95 OSR2.
* Dans win98, un système de sauvegarde et de contrôle de la BdR est intégré (scanreg.exe).

- si vous avez la version OSR2 de Windows 95, vous pouvez tenter cette méthode :
(attention, ma manip est risquée si pas effectuée avec soin.)
Avant tout, faire une sauvegarde de ta BdR, comme indiqué sur mon site. Lire également les instructions pour la restauration d'une BdR sauvegardée.
1/ démarrer windows (même en mode sans échec), et aller dans REGEDIT (démarrer / exécuter / regedit),
2/ dans regedit, sélectionner "Poste de travail", puis le menu (base de) registre / exporter un fichier du registre sélectionne "Tout" et indique comme nom de fichier "c:\export.reg"
3/ redémarre en mode MSDOS, et taper
REGEDIT /C c:\export.reg
/!\ Cette opération peut prendre plus ou moins longtemps, selon lePC et la taille de la base de registre (+ d'une 1/2 heure). surtout ne pas s'inquiéter.
En cas de problème, se servir de la sauvegarde qu'on aura pas manqué de faire...
4/ quand l'opération est terminée, éteindre et rallumer l'ordinateur.

-----------

Toutes les astuces sont sur l'excellent site de mon camarade Jean-Claude Bellamy :
http://www.bellamyjc.net 

 


 

 

 

 


 

 

5/ Références & conseils de lecture

Références :
"Kit de Ressources Techniques Windows 95" (MS Press)
(1500 pages - 450F)

A lire :
"Dans les coulisses de la base de registres" (MS Press)
(environ 300 pages - 190F). Clair et bien détaillé.

"Base de Registres" (Micro Application)
(environ 400 pages - 104F). Accessible à tous. 

 

Retour

Copyright 1998 © Bruno tous droits réservés.