# Menu Géométrie

### From CGSecurity

#### La géométrie du disque

    TestDisk 6.2-WIP, Data Recovery Utility, November 2005
    Christophe GRENIER <grenier@cgsecurity.org>
    http://www.cgsecurity.org

    Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63, sector size=512

    Because these numbers change the way that TestDisk looks for partitions
    and calculates their sizes, it's important to have the correct disk geometry.
    PC partitionning programs often make partitions end on cylinder boundaries.

    A partition's CHS values are based on disk translations which make them
    different than its physical geometry. The most common CHS head values
    are: 255, 240 and sometimes 16.

    [ Cylinders ]  [   Heads   ]  [  Sectors  ]  [Sector Size]  [    Ok     ]

                              Done with changing geometry

Changer les paramètres de la géométrie de disque dur (Cylindres, Têtes, Secteurs).

Les programmes de partitionnement de PC font souvent (toujours) finir les partitions aux limites des cylindres. Les valeurs CHS changent la manière dont TestDisk recherche les partitions et calcule leurs tailles, etc. Cela n'affecte pas le disque dur lui-même, à moins que vous écriviez vraiment des données sur le disque, concernant les partitions perdues. Le choix de paramètres erronés de la géométrie du disque et la sauvegarde de toutes partitions perdues basées sur ces paramètres erronés pourraient rendre la récupération de vos données plus dure voire impossible.

### Quelques informations

Pour accéder aux données, les systèmes d'exploitation modernes utilisent l'adressage de blocs logiques (LBA). Les secteurs du disque dur sont numérotés 0,1, 2 jusqu'à N-1 avec N le nombre total de secteurs.

Mais avant l'apparition des disques IDE (plus grand que 8 Go) et des disques SCSI, une autre méthode était utilisée. Pour accéder aux données, le BIOS et le système d'exploitation (Dos/Win9x) utilisaient l'adressage CHS. Les valeurs CHS sont limitées à 1023 cylindres, 255 têtes et 63 secteurs (8 Go). Un contournement connu introduit avec des disques plus grands que 504 Mo (1023 cylindres, 16 Têtes, 63 secteurs) était d'utiliser une géométrie (Cylindre/Tête/Secteur) différente de la géométrie physique (CHS étendu ou mode d'adressage large).

Une méthode utilisée par le BIOS est de lire la table de partition et de déduire le nombre de têtes. Quand la table de partition est effacée ou corrompue, la géométrie physique du disque peut être utilisée à la place. Il devient alors plus dur pour les outils de récupération de données de retrouver les partitions perdues dans le disque dur.

Ce problème n'est pas limité qu'aux utilisateurs du DOS. Les utilisateurs de Linux peuvent aussi le rencontrer.

Sous Linux, lancez dmesg et recherchez Partition check. Dans l'exemple suivant, la géométrie du disque dur hdc est déterminée par la table de partition (PTBL).

    Partition check:
     hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 hda9 hda10 hda11 hda12 hda13 >
     hda3: <bsd: hda14 hda15 hda16 hda17 >
     hdc: [PTBL] [7476/255/63] hdc1 < hdc5 hdc6 hdc7 hdc8 hdc9 hdc10 hdc11 hdc12 hdc13 >

### Comment trouver le nombre exact de têtes?

Si la géométrie du disque dur ne correspond pas à la géométrie utilisée en créant la table de partition, des messages d'avertissement comme : `Bad sector count`, `Bad relative sector` ou `Bad ending head` apparaissent lorsque l'on sélectionne Analyse dans le menu principal. Si de telles erreurs apparaissent, vous devez utiliser le menu `Geometry` pour changer le nombre logique de têtes. Essayez les valeurs 255, 16, 32, 64, 128 et 240 pour le nombre de têtes jusqu'à ce que TestDisk trouve toutes vos partitions. 255 et 240 sont les valeurs de têtes les plus communes. Si vous installez Linux comme seul OS sur votre disque dur, la valeur par défaut tend à être de seulement 16 têtes.

#### Comment TestDisk obtient-il la géométrie du disque ?

- Sous DOS, TestDisk obtient les tailles de disque en utilisant une fonction du BIOS étendu (ah=0x48, int 0x13), et la géométrie (nombre de têtes et de secteurs) en utlisant une fonction du BIOS standard (ah=0x08, int 0x13). TestDisk utilise la taille par défaut de secteur(512 octets).

- Sous Windows, TestDisk obtient le nombre de cylindres, têtes et secteurs, et la taille du secteur en utilisant l'appel DeviceIoControl, IOCTL_DISK_GET_DRIVE_GEOMETRY.

- Sous Linux, TestDisk obtient la taille du secteur en utilisant BLKSSZGET ioctl, et la géométrie en utilisant HDIO_GETGEO_BIG ou HDIO_GETGEO ioctl; les tailles de disque proviennent de BLKGETSIZE64 ou BLKGETSIZE.

- Sous BSD, TestDisk obtient toutes les informations en utilisant DIOCGDINFO. Si cela échoue, TestDisk suppose que la taille de secteur est de 512 octets, et il utilise DIOCGFWSECTORS, DIOCGFWHEADS et DIOCGMEDIASIZE pour obtenir tous les autres paramètres.

- Sous Sun Solaris, TestDisk utilise la taille de secteur par défaut, 512 octets, et obtient le nombre de cylindres, têtes et secteurs en utilisant DKIOCGGEOM ioctl.

Retour à Exécuter TestDisk

Categories: Data Recovery

##### Data Recovery

- TestDisk
- PhotoRec
- Download