A.1. Concepts de base concernant le disque dur
Les disques durs ont une fonction très simple — ils permettent de conserver des données et de les récupérer de façon fiable à la demande.
Concernant les questions telles que le partitionnement de disques, il est important de connaître le matériel sous-jacent utilisé. Cependant, au vu de la complexité et de l'exhaustivité de la théorie, seuls les concepts de bases seront expliqués ici. Cette annexe utilise un ensemble de diagrammes de disques simplifiés afin d'expliquer les processus et théories des partitions.
A.1.1. Systèmes de fichiers
Pour stocker des données sur un disque, il est avant tout nécessaire de formater le disque. Le formatage (aussi connu sous le nom de « création d'un système de fichiers ») écrit des informations sur le disque, créant un ordre à partir de l'espace vide sur un disque non-formaté.
Un faible pourcentage de l'espace disponible du pilote est utilisé pour stocker des données concernant le système de fichiers et peut être considéré comme espace supplémentaire.
Un système de fichiers sépare l'espace restant en petits segments de taille cohérente. Sur Linux, ces segments sont connus en tant que blocs.
Veuillez noter qu'il n'existe pas de système de fichiers unique et universel. Comme l'illustre la
Figure A.3, « Disque dur avec un système de fichiers différent », un disque dur peut contenir un système de fichiers parmi de nombreux autres. Les différents systèmes de fichiers ont tendance à être incompatibles ; cela signifie qu'un système d'exploitation prenant en charge un système de fichiers (ou une poignée de types de systèmes de fichiers apparentés) ne pourra peut-être pas en prendre en charge un autre. Cependant, Red Hat Enterprise Linux prend par exemple en charge un vaste éventail de systèmes de fichiers (dont beaucoup sont couramment utilisés par d'autres systèmes d'exploitation), ce qui facilite l'échange de données.
L'écriture d'un système de fichiers sur le disque n'est que la première étape. Ce processus a pour objectif de stocker et de récupérer des données. Le graphique ci-dessous montre un disque après écriture de certaines données :
Comme l'illustre la
Figure A.4, « Disque dur sur lequel figurent des données », certains des blocs précédemment vides contiennent à présent des données. Il est cependant impossible de déterminer le nombre de fichiers se trouvant sur cette unité ; il peut y en avoir un seul ou plusieurs, étant donné que tous les fichiers utilisent au moins un bloc et que certains fichiers utilisent plusieurs blocs. Un autre point important est que les blocs utilisés n'ont pas la forme d'une zone continue ; les blocs utilisés et inutilisés peuvent être intercalés. C'est ce qu'on appelle la
fragmentation. Celle-ci peut jouer un rôle en cas de tentative de redimensionnement d'une partition existante.
Comme toutes les technologies en rapport avec l'informatique, les disques durs évoluent en permanence. Cela se traduit notamment par une augmentation de leur taille, non de leur taille physique, mais de leur capacité de stockage d'informations. C'est précisément ce gain de capacité qui a induit une évolution fondamentale dans le mode d'utilisation des disques durs.
A.1.2. Partitions : transformation d'un disque dur en plusieurs disques
Les disques peuvent être divisés en partitions. Chaque partition est accessible comme s'il s'agissait d'un disque distinct. Ceci est possible grâce à l'ajout d'une table des partitions.
Voici plusieurs raisons d'allouer de l'espace disque sur des partitions disque séparées :
Séparation logique des données du système d'exploitation à partir des données utilisateur
Capacité à utiliser différents systèmes de fichier
Capacité à exécuter plusieurs systèmes d'exploitation sur une machine
Même si les schémas de ce chapitre montrent la table des partitions comme étant distincte du disque dur réel, ce n'est pas rigoureusement exact. En réalité, elle est stockée au tout début du disque, avant tout système de fichiers ou toute donnée de l'utilisateur. C'est par souci de clarté que nous l'avons séparée du reste de l'unité sur les schémas.
Comme l'indique la
Figure A.5, « Disque dur avec table des partitions », la table des partitions est divisée en quatre sections ou quatre partitions
primaires. Une partition primaire est une partition sur un disque dur qui ne peut contenir qu'un seul lecteur logique (ou section). Chaque section peut accueillir les informations nécessaires pour la définition d'une simple partition, ce qui signifie que la table des partitions ne peut pas définir plus de quatre partitions.
Chaque table des partitions contient un ensemble d'informations portant sur les caractéristiques importantes de la partition telles que :
Les points du début et de la fin définissent la taille et la location de la partition sur le disque. L'indicateur « active » est utilisé par les chargeurs de démarrage de certains systèmes d'exploitation. En d'autres termes, le système d'exploitation se trouvant dans la partition marquée comme étant « active » est démarré.
Le type est un nombre identifiant l'utilisation anticipée de la partition. Certains systèmes d'exploitation utilisent le type de partition pour dénoter un type de système de fichiers en particulier, pour indiquer que la partition est associée à un système d'exploitation en particulier, pour indiquer que la partition contient un système d'exploitation de démarrage, ou pour indiquer une combinaison de ces trois possibilités.
Très souvent, une seule partition occupe tout le disque, ce qui correspond à la méthode utilisée avant l'existence des partitions. La table des partitions n'utilise qu'une seule entrée pointant sur le début de la partition.
Nous avons étiqueté cette partition comme étant de type « DOS ». Même si ce n'est que l'un des différents types de partitions possibles qui sont répertoriés dans la
Tableau A.1, « Types de partition », il est en accord avec la discussion qui suit.
Tableau A.1. Types de partition Type de partition | Valeur | Type de partition | Valeur |
---|
Vide | 00 | Novell Netware 386 | 65 |
DOS 12-bit FAT | 01 | PIC/IX | 75 |
XENIX root | 02 | Anciennes MINIX | 80 |
XENIX usr | 03 | Linux/MINUX | 81 |
DOS 16-bit <=32M | 04 | Swap Linux | 82 |
Étendue | 05 | Natif Linux | 83 |
DOS 16-bit >=32 | 06 | Linux étendue | 85 |
OS/2 HPFS | 07 | Amoeba | 93 |
AIX | 08 | Amoeba BBT | 94 |
AIX de démarrage | 09 | BSD/386 | a5 |
Gestionnaire de démarrage OS/2 | 0a | OpenBSD | a6 |
Win95 FAT32 | 0b | NEXTSTEP | a7 |
Win95 FAT32 (LBA) | 0c | BSDI fs | b7 |
Win95 FAT16 (LBA) | 0e | Swap BSDI | b8 |
Win95 étendue (LBA) | 0f | Syrinx | c7 |
Venix 80286 | 40 | CP/M | db |
Novell | 51 | accès DOS | e1 |
PReP Boot | 41 | DOS R/O | e3 |
GNU HURD | 63 | DOS secondaire | f2 |
Novell Netware 286 | 64 | BBT | ff |
A.1.3. Partitions à l'intérieur de partitions — Présentation des partitions étendues
Si quatre partitions ne vous suffisent pas, vous pouvez utiliser des partitions étendues pour créer des partitions supplémentaires. Pour cela, définissez le type de partition comme « étendu ».
Une partition étendue est similaire à un lecteur de disque — elle possède une table de partition faisant référence à une ou plusieurs partitions (maintenant appelées
partitions logiques, contrairement aux quatre
partitions primaires) entièrement contenue(s) dans la partition étendue elle-même. La
Figure A.7, « Disque dur avec partition étendue » montre un lecteur de disque avec une partition primaire et une partition étendue contenant deux partitions logiques (ainsi que de l'espace libre non-partitionné).
Comme le montre cette illustration, il existe une différence entre une partition primaire et une partition logique (il ne peut y avoir que quatre partitions primaires, mais le nombre de partitions logiques est illimité). Cependant, étant donné la manière utilisée pour accéder aux partitions sous Linux, il est déconseillé de définir plus de 12 partitions logiques sur un seul disque dur.
A.1.4. Table de partition GPT (GUID Partition Table)
La table de partition
GPT (GUID Partition Table) est un nouveau modèle de partitionnement basé sur l'utilisation de
GPT (Globally Unique Identifiers).
GPT a été développé pour gérer les limitations de la table de partitions
MBR, plus particulièrement l'espace de stockage adressable maximum limité d'un disque. Contrairement à
MBR, qui est utilisable pour adresser un espace de stockage supérieur à 2,2 téra-octets,
GPT peut être utilisé avec des disques durs supérieurs à cela ; la taille de disque adressable maximum est de 2,2 zéta-octets. De plus,
GPT prend en charge par défaut la création de 128 partitions primaires. Ce chiffre peut être plus important en allouant plus d'espace à la table de partition.
Les disques
GPT utilisent LBA (Logical Block Addressing) et leur agencement de partition est comme suit :
Pour conserver la compatibilité rétroactive avec des disques MBR, le premier secteur (
LBA 0) de
GPT est réservé aux données
MBR et est appelé
« protective MBR ».
Le
premier en-tête GPT commence sur le deuxième bloc logique (
LBA 1) du périphérique. L'en-tête contient le GUID du disque, l'emplacement de la première table de partition, l'emplacement du deuxième en-tête GPT et ses sommes de contrôle CRC32 ainsi que la première table de partition. Il spécifie également le nombre d'entrées de partitions de la table.
La
table GPT principale inclut, par défaut, 128 entrées de partition, chacune avec une taille d'entrée de 128 octets, son GUID de type de partition et un GUID de partition unique.
La
table GPT secondaire est identique à la table
GPT principale. Elle est généralement utilisée comme table de sauvegarde au cas où la première table de partition soit endommagée.
Le
second en-tête GPT se situe sur le dernier secteur logique du disque et il peut être utilisé pour récupérer les informations d'une table
GPT en cas d'endommagement du premier en-tête. Il contient le GUID du disque, l'emplacement de la seconde table de partitions, l'emplacement du deuxième en-tête
GPT et ses sommes de contrôle CRC32 ainsi que la seconde table de partitions, et le nombre d'entrées de partitions de la table.
Il doit y avoir une partition de démarrage du BIOS pour que le chargeur de démarrage soit installé avec succès sur un disque qui contient une GPT (GUID Partition Table). Cela inclut des disques initialisés par Anaconda. Si le disque contient déjà une partition de démarrage du BIOS, il peut être réutilisé.