Recupération de partitions I : Quelques définitions et structures


Dans les articles qui suivent, nous évoquerons ces termes à maintes reprises. Autant se familiariser tout de suite avec ces termes :

  • LBA = Logical Block Address : Le numéro du secteur. En général, un secteur fait 512 bytes ou 4 KBytes
  • LDM = Logical Disk Manager
  • MFT = Master File Table. La database du système de fichiers NTFS.
    • http://msdn.microsoft.com/en-us/library/windows/desktop/aa365230(v=vs.85).aspx
  • MBR = Master Boot Recor
  • PBS = Partition Boot Sector : Le premier secteur d'une partition.
  • BPB : BIOS Parameter Block : Une partie du PBS
  • GPT = GUID Partition Table.

L'objectif de ces articles est de parcourir les secteurs importants des disques pour comprendre où pourrait se placer une corruption et de la réparer (quand c'est possible) juste en écrivant la bonne information au bon endroit. Toutes les structures que nous allons parcourir sont déjà décrites dans MSDN.

Aussi, si vous souhaitez avoir plutôt une approche développeur, un bon point de départ serait d'invoquer un DeviceIoControl en utilisant le control code IOCTL_DISK_GET_DRIVE_LAYOUT_EX (cf. http://msdn.microsoft.com/fr-fr/library/windows/desktop/aa365174(v=vs.85).aspxpour plus de détails)

Ce contrôle vous fournira une structure de type DRIVE_LAYOUT_INFORMATION_EX

typedef struct _DRIVE_LAYOUT_INFORMATION_EX {

DWORD PartitionStyle;

DWORD PartitionCount;

union {

DRIVE_LAYOUT_INFORMATION_MBR Mbr;

DRIVE_LAYOUT_INFORMATION_GPT Gpt;

};

PARTITION_INFORMATION_EX PartitionEntry[1];

} DRIVE_LAYOUT_INFORMATION_EX, *PDRIVE_LAYOUT_INFORMATION_EX;

Nous n'évoquerons pas d'avantage cette approche dans cette série, mais cela pourrait faire le sujet d'une autre série si la demande est forte.

Comme expliqué, la MSDn regorge de schémas explicatifs mais essayons de les présenter différemment afin d'afficher plutôt une comparaison de ces structures, si cela peut aider.

Comparaison MBR et GPT

Différences principales (liste non exhaustive) dans les fonctionnalités:

 

MBR

GPT

Nombre de partitions primaires

4

128

Taille de disque maximale

2 TB

2^64 LBA = 8*2^30 TB

Protection de la table de partition

NON

OUI

Quelques références:

Comparaisons des structures identifiables, écrites à plat sur les disques basiques

Pour avoir une vision complète des disques basiques, aller sur http://technet.microsoft.com/en-us/library/cc739412(v=ws.10).aspx

clip_image002

Comparaisons des structures identifiables, écrites à plat sur les disques dynamiques

Pour avoir une vision complète des disques dynamiques, aller sur http://technet.microsoft.com/fr-fr/library/cc758035(v=WS.10).aspx

clip_image004

Comparaisons des disques basique et dynamiques

Différences principales (liste non exhaustive) en terme de fonctionnalités

 

Basiques

Dynamiques

Nombre maximal de volumes

4

> 4*

RAID Logiciel

NON

OUI

Protection des volumes

NON

OUI

Extension de volumes

OUI **

OUI

* Le nombre de volumes que peut supporter un disque dynamique n'est pas illimité car la database est limitée à 1 MB. Sachant que chaque disque dynamique attaché à un système contient la descroption de tous les volumes de ce système, rajouter des disques n'augmentera pas cette limite. Au contraire, il faudra rajouter des enregistrement pour en plus pour décrire le nouveau disque.

**Il est possible d'étendre un volume sur plusieurs disques dynamique, mais sur des disques basiques, on ne peut rester que sur le même disque.

Les différents types de volumes sont décrit sur : http://technet.microsoft.com/fr-fr/library/cc737048(v=WS.10).aspx

clip_image006

Dans le post suivant, nous allons tenter de voir concrètement comment cela se traduit en donnée brute écrite sur les disques.

Serge Gourraud

55 AA

Comments (1)

  1. Anonymous says:

    Il arrive que les structures qui décrivent les partitions sur les disques soient perdues ou corrompues

Skip to main content