La valeur \DosDevices\C:

Cette valeur est un exemple du contenu de HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
Cet article vient en complément du sujet "Créer un clone du système" pour expliciter le repérage de la partition dans \Dosdevices\C:

 

 

Première partition du disque

Le Gestionnaire de Disques numérote les disques 0, 1, 2, 3,...
Soit un disque numéroté 2 par le Gestionnaire de Disques. Il comprend deux partitions C et T :

La partition C du disque 2 est définie dans le Registre :
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
\DosDevices\C:  =  9e cc ab 42 00 7e 00 00 00 00 00 00

Les quatre premiers octets (9e cc ab 42) sont la signature du disque enregistré à l'offset 0x1B8 du premier secteur (MBR, Master Boot Record).
Les octets suivants (00 7e 00 00 00 00 00 00) indiquent la position de la partition C sur le disque.

Notation hexadécimale
La notation utilisée est hexadécimale codée Petit-Boutiste / Little-Endian.
Pour différencier les nombres hexadécimaux des nombres décimaux on ajoute le préfixe 0x devant les octets. Exemple : 0xFFFF. Comme dans le système décimal, il n'est pas nécessaire d'écrire les chiffres non significatifs ==> 0x000000FFFF s'écrira donc 0xFFFF (Conventions typographiques pour les nombres hexadécimaux)

L'adresse se lit donc poids forts à droite, ou, si on préfère, de droite à gauche : 0x0000000000007E00 ==> la partition commence à l'offset 0x7E00.
Chaque secteur comportant 512 octets (0x200), utiliser la calculatrice de Windows (WIN+R, calc) pour diviser 0x7E00 par 0x200.
On obtient 0x3F ou 63 décimal. En conséquence la partition C commence au secteur 63.

Le même résultat est obtenu à l'aide d'un éditeur hexadécimal permettant l'édition du disque tel l'excellent freeware HxD de Maël Hörz sur mh-nexus.
ATTENTION : Le gestionnaire de disques numérote à partir de 0 alors que HxD numérote à partir de 1
Le Disque 2 devient donc le "Disque dur 3" dans l'éditeur HxD ==>

Le secteur 63 sera donc le début de la première partition d'un disque. Qu'en est-il pour les partitions suivantes ?
Examinons le cas de la partition T, seconde partition du disque signé 9e cc ab 42 ==>

 

Seconde partition du disque

C'est bien la même signature de disque que précédemment.
La partition T commence à l'offset 0x04de40dc00.
0x04de40dc00 divisé par 0x200 donne 0x26F206E soit le secteur 40 837 230 ==>

 

 

Une autre clé avec les signatures disques

La clé CurrentcontrolSet\Enum reprend la signature du disque, et les offsets et longueurs des partitions.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\STORAGE\Volume

À comparer avec les données vues plus haut :
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
\DosDevices\C:  =  9e cc ab 42 00 7e 00 00 00 00 00 00                    (notation Petit-Boutiste)
1&30a96598&0&Signature42ABCC9EOffset7E00Length4DE405E00    (sens de lecture normal)
ParentIdPrefix  est défini dans cette clé :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\ftdisk\0000

 

 

Liens

Créer un clone du système

http://fr.wikipedia.org/wiki/Petit-boutiste
http://fr.wikipedia.org/wiki/Endianness
http://en.wikipedia.org/wiki/Big_endian
http://en.wikipedia.org/wiki/Little_endian
http://en.wikipedia.org/wiki/Endianness
Intel HEX format
Définition de Endianness
http://www.google.fr/search?num=99&q=Endianness

HxD éditeur hexadécimal
Liste des outils de support Windows XP Service Pack 2
DskProbe le sondeur de disques mis à disposition par Microsoft

Exemple d'utilisation de DskProbe : Recovering an NTFS backup boot sector

Disk Concepts and Troubleshooting
How Basic Disks and Volumes Work
http://en.wikipedia.org/wiki/Disk_partitioning
http://en.wikipedia.org/wiki/GUID_Partition_Table
http://en.wikipedia.org/wiki/NTFS

http://fr.wikipedia.org/wiki/Disque_dur
http://fr.wikipedia.org/wiki/Master_boot_record
MBR, FAT et Secteurs de boot : Explications... (commentaires)
Différences entre secteurs et clusters d'un disque dur
Organisation d'un disque dur et de ses partitions
Comparaison entre FAT32 et NTFS


Remerciements à Michel__D.
Retour au début
Les restes du site
JF (Jean-François)

compteur Free
Publié le 14/02/2009