Ci-dessus, nous avons vu la structure du MBR (secteur 0) : code du programme d'amor�age suivi par 4 entr�es de la table des partitions de 16 octets chacune, suivies par une signature AA55. Les entr�es de la table des partitions de type 5 ou F ou 85 (en hexad�cimal) ont une signification particuli�re : elles d�crivent les partitions �tendues : espaces qui seront ult�rieurement fractionn�s en partitions logiques. (Donc, une partition �tendue n'est qu'une bo�te et ne peut pas �tre utilis�e par elle-m�me ; on utilise alors les partitions logiques qu'elle contient.) Ce n'est que la position du premier secteur de la partition �tendue qui est important. Ce premier secteur contient une table des partitions avec quatre entr�es : une est une partition logique, une est une partition �tendue et deux sont inutilis�es. De cette mani�re, on obtient une cha�ne de secteurs de table des partitions, dispers�s sur le disque dur, o� le premier d�crit trois partitions primaires et la partition �tendue et chaque secteur de table des partitions qui suit d�crit une partition logique et la position du prochain secteur de table des partitions.
Il est important de comprendre cela : quand les gens font des b�tises en partitionnant leur disque, ils veulent savoir : "est-ce que mes donn�es sont toujours l� ?" Et la r�ponse est g�n�ralement : "oui". Mais si des partitions logiques ont �t� cr��es, alors les secteurs de table des partitions les d�crivant sont �crits au d�but des ces partitions logiques et les donn�es qui �taient initialement � ces emplacements sont perdues.
Le programme sfdisk
montre la cha�ne compl�te. Par exemple,
# sfdisk -l -x /dev/hda
Disk /dev/hda: 16 heads, 63 sectors, 33483 cylinders
Units = cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/hda1 0+ 101 102- 51376+ 83 Linux
/dev/hda2 102 2133 2032 1024128 83 Linux
/dev/hda3 2134 33482 31349 15799896 5 Extended
/dev/hda4 0 - 0 0 0 Empty
/dev/hda5 2134+ 6197 4064- 2048224+ 83 Linux
- 6198 10261 4064 2048256 5 Extended
- 2134 2133 0 0 0 Empty
- 2134 2133 0 0 0 Empty
/dev/hda6 6198+ 10261 4064- 2048224+ 83 Linux
- 10262 16357 6096 3072384 5 Extended
- 6198 6197 0 0 0 Empty
- 6198 6197 0 0 0 Empty
...
/dev/hda10 30581+ 33482 2902- 1462576+ 83 Linux
- 30581 30580 0 0 0 Empty
- 30581 30580 0 0 0 Empty
- 30581 30580 0 0 0 Empty
#
Il est possible de construire une mauvaise table des partitions. Beaucoup de
noyaux entrent dans une boucle s'il y a des partitions �tendues qui pointent sur
elles-m�mes ou sur une partition plac�e avant dans la cha�ne. Il est possible
d'avoir deux partitions �tendues dans un de ces secteurs de table des
partitions, de sorte que la cha�ne de la table de partitions se divise. (Cela
peut arriver par exemple avec un fdisk
qui ne reconna�t pas les
partitions typ�es 5, F ou 85 comme �tendues et qui cr�e une 5 � la suite d'une
F.) Des programmes de type fdisk
non standards peuvent provoquer de
telles situations et quelques manipulations sont n�cessaires pour les r�parer.
Le noyau de Linux acceptera une division au niveau le plus ext�rieur. Ainsi,
vous pouvez avoir deux cha�nes de partitions logiques. C'est parfois utile
-- par exemple, on peut utiliser pour l'une le type 5 afin qu'elle soit vue par DOS,
et pour l'autre le type 85, invisible pour DOS, ainsi DOS FDISK ne plantera pas �
cause d'une partition logique au-del� du cylindre 1024.
En g�n�ral il faut sfdisk
pour cr�er une telle configuration.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:42