Menu Géométrie

From CGSecurity
Jump to navigation Jump to search

En.png English De.png Deutsch Es.png Español Fr.png Français


TestDisk 6.2-WIP, Data Recovery Utility, November 2005
Christophe GRENIER <grenier@cgsecurity.org>
https://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 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.

Quelques astuces sur la géométrie du disque

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 trouver le nombre correct de secteurs?

Habitullement cette valeur est toujours de 63 secteurs, mais pour certains disques ou clés USB, il faut indiquer 32 secteurs par tête.

Retour à Exécuter TestDisk