La structure du contenu de votre disque dur

Classé dans : informatique | 4 commentaire(s)

29
04 | 10

Partitionnement, MBR, bootloader, tout ce bataclan rapport à votre disque dur (ou autres périphériques bloc, mémoires flash…) vous laisse parfois perplexe ?

Clarifions tout cela.

Cette description est valable uniquement sur les ordinateurs compatible IBM PC — soyons précis —, ça en fait tout de même un bon paquet : les "PC" du commerce, et plein d'autres appareils qui en sont, mais ne sont pas officiellement décrits comme tels.

Je vous ai fait un petit schéma bleu pour suivre les explications ci-dessous.

Ceux qui n'aiment pas le bleu, vous ferez avec. ☺

Le contenu du disque (pas les fichiers hein, le contenu brut) est géré par le BIOS. Le BIOS est la puce de la carte mère qui démarre le PC jusqu'à ce que le bootloader puis l'OS prenne le relais.
Le BIOS le découpe en « secteurs » : des parts de 512 octets. C'est comme ça, vous ne pouvez pas faire autrement, c'est écrit dans cette puce sur la carte mère.

● Le premier secteur, le MBR, est très important : il contient le bootloader, et la table de partitions.
  • Ses 446 premiers octets servent à mettre un chargeur de démarrage que doit lancer le BIOS. Par exemple GRUB, Lilo, ou encore un programme d'amorçage (datant de DOS), qui lance le bootloader du premier secteur de la première partition qui est marquée bootable. (voir flags plus bas)

  • Ensuite, 64 octets servent pour la table de partitions. On ne peut avoir que 4 partitions, avec 64 pauvres octets.
    On a donc 4 partitions appelées primaires.
    Elles peuvent avoir un type, et divers « flags », dont le flag "bootable" : il sert à demander au chargeur de démarrage (si celui-ci en tient compte), de lancer le bootloader situé dans le premier secteur de la partition (aussi appelé secteur de démarrage).
    Une partition est décrite par son début et sa taille, en 16 octets on ne peut pas faire plus !

  • Suivent deux octets « magiques », qui disent au BIOS qu'il peut booter ce disque. Le compte est bon, on a 512 octets.
● Les secteurs qui suivent contiennent généralement des systèmes de fichiers (ext, reiserfs, zfs, xfs, jfs, vfat, …), dans les zones décrites par la table de partitions, ces zones qui sont les partitions.
On peut caser un chargeur de démarrage dans leurs 512 premiers octets.

Il existe un type spécial de partition primaire : la partition étendue. (type 05 pour info)
Elle peut contenir des partitions secondaires (aussi appelées logiques), autant qu'on veut, c'est à dire d'autres partitions !
Comme on ne pouvait en faire que 4 primaires, il a bien fallu trouver un truc pour ceux qui en voulaient davantage.
Le nombre de partitions possible est illimité, car les EBR (équivalent du MBR en début de partition étendue) appellent le suivant, etc...

Le contenu d'une partition, qui est généralement un système de fichiers, est une archive, finalement. Comme les .tar : un bloc, une arborescence dedans. (sauf que la partition a une taille fixe et de l'espace libre, pas une archive)

Un détail croustillant pour la fin : vous pouvez créer une partition étendue dans une partition étendue, et ainsi de suite.
Ça ne sert à rien bien sûr, puisque vous pouviez créer autant de partitions que voulu dans la première partition étendue. De plus, ça ne sera pas reconnu par beaucoup de systèmes…

Bon, votre disque dur doit vous paraître tout aussi fouillis qu'avant, mais maintenant, vous savez pourquoi et comment !

Article publié sous licence GFDL.

Commentaires

Le 08 mai 2010 erdnaxeli a dit :

Tu n'as pas dit qu'on ne peut pas booter sur une partition secondaire (enfin il me semble). Sinon, billet assez intéressant.

Le 10 mai 2010 avd a dit :

erdnaxeli, tu as mal lu l'article

Le 10 mai 2010 CalimeroTeknik a dit :

On peut booter sans problème sur une partition secondaire, avec un vrai chargeur de démarrage.

Certains systèmes, dont un très connu, propriétaire, ne savent pas le faire, par contre.

Le 12 décembre 2011 babi a dit :

Ne m'étant jamais penché sur un disque dur, je ne suis pas étonné que ce soit si complexe. Est ce que la table de partition est "un index" de ce que contient le reste du HDD ? Merci pour ces infos.

Fil des commentaires de cet article

Ecrire un commentaire




Quelle est la troisième lettre du mot ujhmgs ? :