vignette|Exemple schématique de partitionnement d'un support mixte Linux/Windows, avec des liens entre les partitions. En informatique, une partition, région ou un disque est une section d'un support de stockage (disque dur, SSD, carte-mémoire...). Le partitionnement est l'opération qui consiste à diviser ce support en partitions dans lesquelles le système d'exploitation peut gérer les informations de manière séparée, généralement en y créant un système de fichiers, une manière d’organiser l’espace disponible.
Chaque système d’exploitation a une manière différente de désigner les partitions qu’il détecte :
les systèmes Windows les désignent par des lettres suivies du signe deux-points (C:, D:) ; les systèmes Mac OS les désignent par un identifiant sous la forme diskNsM, avec N le numéro du support et M le numéro de la partition sur le support (par exemple disk2s3 pour la troisième partition du disque 2) ; les systèmes Unix ou Gnu/Linux, les désignent par un identifiant sous la forme sdXN, avec X une lettre représentant le support et N le numéro de la partition sur le support (par exemple sdb3 pour la troisième partition du disque b).
Le CIM Schema, sous-ensemble de Common Information Model, représente une partition avec la classe CIM_DiskPartitionCIM_DiskPartition classClass CIM_DiskPartition extends CIM_GenericDiskPartition.
On nomme « partition d'amorçage », ou en anglais boot partition, (parfois par abus de langage « partition primaire ») celle dans laquelle le micro-code, après avoir accompli l'initialisation du matériel, va chercher les premières instructions à exécuter pour continuer le processus de démarrage. En général, ce micro-code y trouve un chargeur d'amorçage qui lui permet, soit de démarrer l'unique système d'exploitation présent sur l'ordinateur, soit de présenter à l'utilisateur un choix entre différents systèmes chargeables.
Un support de stockage peut être partitionné pour différentes architectures. On trouve ainsi le partitionnement de type MBR (partitionnement Intel) longtemps employé sur la majorité des ordinateurs personnels de type PC pour les supports d'une capacité inférieure ou égale à 2 To (le partitionnement MBR étant limité par l'adressage en 32 bits), ou GPT pour des architectures plus récentes (Macintosh, Linux, et PC depuis les années 2010) conçues pour exploiter pleinement les supports de capacité supérieure à 2 To.
Type de partition Sur un ordinateur de type PC, un type associé à chaque partition signale quel type de système de fichiers elle abrite. Cet identificateur occupe un octet, avec la table de correspondance suivante (cliquer sur "Développer" pour voir les codes) List of partition identifiers for PCs, par Andries Brouwer : ID Type 00 Vide 01 FAT12 02 XENIX root 03 XENIX /usr 04 FAT16 <32Mio (adressage CHS) 05 Étendue 06 FAT16 (adressage LBA) 07 NTFS (et son prédécesseur HPFS) 08 AIX, voir JFS 09 AIX bootable 0a OS/2 Boot Manager 0b Win95 OSR2 FAT32 (adressage CHS) 0c Win95 OSR2 FAT32 (adressage LBA, appelée aussi FAT32X ) 0e Win95 FAT16 (adressage LBA) 0f Étendue (adressage LBA) 10 OPUS 11 Hidden FAT12 12 Compaq diagnostic 14 Hidden FAT16 <32M 16 Hidden FAT16 17 Hidden HPFS/NTFS 18 AST SmartSleep 1b Hidden Win95 FAT32 1c Hidden Win95 FAT32 (LBA) 1e Hidden Win95 FAT16 (LBA) 24 NEC DOS 2f Smart File System 30 AROS RDB 39 Plan 9 3c PartitionMagic Recoverable Partition (PqRP) 40 Venix venix 80286 41 PPC PReP Boot 42 SFS 4d QNX4.x 4e QNX4.x partition 4f QNX4.x 50 OnTrack DM 51 OnTrack DM6 Aux 52 CP/M 53 OnTrack DM6 Aux 54 OnTrackDM6 55 EZ-Drive 56 Golden Bow 5c Priam Edisk 61 SpeedStor 63 GNU HURD or Sys 64 Novell Netware 65 Novell Netware 70 DiskSecure Mult 75 PC/IX 80 Ancien Minix 81 Minix / ancien Linux 82 Swap Linux / pool ZFS 83 Ce type de partition est utilisé par les systèmes de fichiers ext2, ext3, ext4, ReiserFS et JFS 84 OS/2 hidden C: 85 Linux étendu 86 FAT16 volume set 87 NTFS volume set 8e Linux LVM 93 Amoeba 94 Amoeba BBT 9d SDF 9f BSD/OS a0 IBM Thinkpad hi a5 FreeBSD a6 OpenBSD a7 NeXTSTEP a8 Darwin UFS a9 NetBSD ab Darwin boot af HFS+ b7 BSDI fs b8 BSDI swap bb Boot Wizard hid / Acronis Hidden bc Acronis Secure Zone be Solaris boot c0 Fichier CrashDump.sys CTOS-III PC (CTOS = système d'exploitation x86 [i386] multi-tâche & multi-utilisateur de Bull & Unisys, porté sur PC au milieu des années 1990) c1 DRDOS/sec (FAT- c4 DRDOS/sec (FAT- c6 DRDOS/sec (FAT- c7 Syrinx cd Système de fichiers (disque système ou disque de données) CTOS-III PC (CTOS = système d'exploitation x86 [i386] multi-tâche & multi-utilisateur de Bull & Unisys, porté sur PC au milieu des années 1990) da Non-FS data db CP/M / CTOS /. de Dell Utility df BootIt e1 DOS access e3 DOS lecture seule e4 SpeedStor eb BeOS file system ee EFI GPT ef Partition système EFI (formatée en FAT12 ou FAT16 ou FAT32) f0 Linux/PA-RISC b f1 SpeedStor f4 SpeedStor f2 DOS secondaire f7 MVTFS fd Linux raid auto fe LANstep ff BBT
Identification des partitions dans le système d'exploitation
Trois procédés distincts sont utilisables pour désigner une partition.
Adressage matériel
Historiquement, on désignait un périphérique de stockage par le contrôleur qu'il utilisait, et dans ce périphérique la partition par son numéro.
Exemple en Linux : /dev/sdb3 : /dev est le repertoire des "devices" (=périphériques), s signifie "SCSI" ou encore "serial" (par opposition à h désignant les disques IDE à accès parallèle), d signifie "disk" ou "drive" ou "device", b désigne le deuxième disque trouvé au boot dans cette catégorie, et 3 désigne le numéro de partition sur ce disque.
Cette méthode est bien adaptée aux périphériques fixes, malgré des disparités de dénomination (Grub les numérote à partir de 0, d'autres à partir de 1).
Elle devient plus hasardeuse avec des périphériques externes (par exemple : disque dur SCSI ou USB), dont le numéro de montage va dépendre de leur ordre de branchement.
Adressage par étiquette (« label »)
Une solution pour adresser les partitions sans ambiguïté est d'assigner à chacune une étiquette, ou « label ». Une partition sera ainsi identifiable de façon claire par l'utilisateur ou l'administrateur (en Linux, les labels utilisés par e2label sont limités à 16 caractères et tronqués au-delà).
Cette solution est la plus confortable dans le cas d'un système ayant un utilisateur unique. Dans le cas de plusieurs utilisateurs, il leur revient de se mettre d'accord pour éviter les conflits possibles dus à une collision d'étiquettes.
L'homonymie d'étiquettes peut aussi être un effet recherché pour substituer aisément à un disque un autre disque avec des partitions possédant le même contenu (mais éventuellement des tailles différentes : remplacement d'un support par un autre proposant davantage d'espace, substitution d'une copie de secours ou de test, etc.).
Adressage par UUID
L'UUID (« Universally unique identifier ») est un identificateur de 128 bits généré automatiquement au formatage d'une partition. Le risque de collision de deux identificateur est infime (2 = 340 282 366 920 938 463 463 374 607 431 768 211 456), ce qui permet d'exclure tout risque de collision – excepté dans le cas d'une partition clonée bit à bit.
On perd évidemment la lisibilité du label. Un UUID est généralement représenté en hexadécimal avec des tirets pour aider sa lecture. En usage domestique, les quatre derniers caractères pourront suffire pour identifier rapidement le périphérique sur une étiquette papier.
Exemple : e8bac219-c30c-4315-9dc5-f47075bf697e
En Linux, la commande (administrateur) blkid permet de disposer des trois informations, si elles existent, pour chaque périphérique de stockage présent sur le système :
mint17 ~ # blkid /dev/sda1: SEC_TYPE="msdos" LABEL="DellUtility" UUID="3030-3030" TYPE="vfat" /dev/sda2: LABEL="RECOVERY" UUID="FC10BC6C10BC2F8E" TYPE="ntfs" /dev/sda3: LABEL="OS" UUID="00B8457CB8457168" TYPE="ntfs" /dev/sdb1: UUID="c298c9ac-f202-4d1d-81a9-31dd69f62992" TYPE="ext4" /dev/sdb2: LABEL="Mint 17.2 Mate64" UUID="c236a94f-6696-49b5-9892-3d4f4324eee4" TYPE="ext4" /dev/sdb3: LABEL="homecommon" UUID="e8bac219-c30c-4315-9dc5-f47075bf697e" TYPE="ext4" /dev/sdc1: LABEL="SAMSUNG" UUID="C43CC9B13CC99EB4" TYPE="ntfs"
Types de partitionnement Il existe différents types de partitionnement d’un support de stockage, selon le format de la table de partitionnement utilisée. En 2015, les deux principaux formats de table de partitionnement, tous deux conçus par Intel sont celui utilisant le MBR (datant de 1983) et celui utilisant des GUID, GPT. (datant de 2002Le format GUID Partition Table est décrit dans la spécification d’EFI datée du .).
Partitionnement MBR
Cette partie traite de la façon historique de partitionner les supports de stockage (à l'origine des disques durs exclusivement) d'ordinateurs compatibles PC. Cette méthode a été fixée dans les années 1980 et perdure encore de nos jours (2015). Cependant, le remplacement des BIOS des ordinateurs personnels par l'EFI devrait achever la transition vers le mode de partitionnement GPT.
Tables de partitions Les informations sur les partitions sont enregistrées sur le support lui-même dans des zones appelées tables de partitions. La table de partitions principale est contenue dans le tout premier secteur du support (dit secteur d'amorçage dans le cas MBR il contient également le code du programme d'amorçage) ou dans les premiers (dans le cas GPT avec une copie de secours à la fin du support). Chaque entrée d'une table de partitions contient l'adresse de début de la partition et sa taille. Il peut s'agir de partitions primaires, qui contiendront un système de fichiers, ou (dans le cas MBR) de partitions étendues, qui contiendront à leur tour une table de partitions ayant la même structure que la table principale.
Partitions primaires La partition d'amorçage d'un système Windows est forcement la première partition primaire.
La partition d'amorçage d'un système GNU/Linux peut être n'importe où, y compris sur un support externe.
Il existe des restrictions sur les tables de partitions, certaines liées à la place occupée dans le secteur d'amorçage, d'autres destinées à simplifier le fonctionnement du système d'exploitation. Dans la table de partitions principale, on peut créer au plus quatre partitions, qui sont ou bien quatre partitions primaires, ou bien une à trois partitions primaires associée(s) à une partition étendue (généralement la dernière). Une partition étendue permet de s'affranchir de la limite historique de quatre partitions par support.
Partition étendue, partitions secondaires, etc. Lorsque l'on a besoin de plus de quatre partitions, il faut donc créer une partition étendue. Cette dernière est simplement une partition primaire spéciale qui va contenir à son tour des partitions secondaires (souvent appelées partitions logiques). L'outil fdisk sous Linux gère jusqu'à 60 partitions : trois partitions principales et une partition étendue contenant 56 partition logiques.
Ces partitions secondaires ne se distinguent nullement pour un programme utilisateur (ni pour le système) des autres partitions. Cependant seules les partitions primaires sont directement reconnues par le BIOS, qui prend le contrôle au démarrage, lors de la séquence de boot, avant d'en passer le contrôle soit directement à un système d'exploitation, soit à un sélecteur de système d'exploitation souhaité parmi ceux installés.
La table de partition étendue est contenue dans l'EBR. L'EBR peut lui aussi, si besoin, contenir une partition étendue qui contiendra à ce moment-là des partitions tertiaires et ainsi de suite. Cette possibilité théorique est toutefois rarement requise en 2015.
Partitionnement GPT
Auparavant les ordinateurs Apple utilisaient un système spécifique de partitionnement, lisible sur tous les types de Macintosh mais ne permettant pas le démarrage sur un Mac Intel, lequel ne fonctionne que sur un PowerPC.