# Partition (informatique)

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:, etc.) ;
* 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_DiskPartition$^,$.
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 :
| ID | Type |
| 00 | Vide |
| 01 | FAT12 |
| 02 | XENIX root |
| 03 | XENIX /usr |
| 04 | FAT16 <32Mio (adressage CHS) |
| 05 | Étendue |
| 06 | FAT16 |
| 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 80286 |
| 41 | PPC PReP Boot |
| 42 | SFS |
| 4d | QNX4.x |
| 4e | QNX4.x 2$^{de}$ partition |
| 4f | QNX4.x 3e partition |
| 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$^{128}$ = 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 :

## 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 2002).

### 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.
Depuis le déploiement des ordinateurs Apple équipés de processeurs Intel ainsi que des serveurs équipés de processeurs Itanium, le type de partitionnement employé par ces systèmes a été supplanté par le GPT (GUID Partition Table). Ce nouveau format de partitionnement, qui n'est pas lisible directement par un compatible PC équipé d'un BIOS ou par un Macintosh à PowerPC ou 680x0, s'est progressivement généralisé sur PC avec l'apparition des cartes-mères gérées par UEFI au lieu du BIOS originel.

## Outils
### Outils de partitionnement ou formatage

Voici une liste non exhaustive d'outils permettant de créer des partitions et (pour certains d'entre eux) de formater ces partitions :
* fdisk : Utilitaire utilisé sous DOS, Linux, macOS et certains systèmes UNIX (comme FreeBSD) pour manipuler les partitions et la table de démarrage. Bien que le nom de cet outil soit identique sur ces quatre systèmes, il ne s'agit pas du même programme. Sous DOS, l'utilitaire est présenté sous forme de menus ; sous Linux, sous forme d'un outil en ligne de commande ; sous macOS, il faut ouvrir une fenêtre Terminal pour l'utiliser de manière interactive et sous FreeBSD (par exemple), il prendra la forme d'un programme en console.
* diskpart est l'utilitaire de partitionnement en ligne de commande de Windows depuis Windows 2000.
* diskmgmt.msc est l'utilitaire MMC de gestion des disques durs et autres supports de stockage de Windows depuis Windows 2000.
* DiskDrake est un utilitaire de Mandriva et de Mageia permettant de créer, enlever, redimensionner les partitions via une interface visuelle.
* Utilitaire de disque est le gestionnaire de supports de stockage livré avec macOS pour manipuler les partitions (nommées « volumes » sur le système Mac).
* sfdisk est un utilitaire disponible sous Linux pour manipuler les partitions. C'est l'un des seuls utilitaires à pouvoir être utilisé en mode non interactif. Des problèmes sont rapportés lors de la création de partitions.
* cfdisk est un utilitaire disponible sous Linux pour manipuler les partitions. Il est présenté sous forme de menus à la manière de fdisk sous DOS.
* pdisk est un utilitaire disponible sous Linux pour manipuler des partitions Macintosh sur architecture PowerPC.
* PartitionMagic est un utilitaire payant de manipulation de partitions fonctionnant sous DOS ou Windows, développé par PowerQuest puis par Symantec Corporation.
* EASEUS Partition Master est un logiciel, gratuit à l'origine mais devenu payant, et fiable sous Windows permettant de gérer toutes les partitions, créer, déplacer, redimensionner sans pertes de données.
* O&O PartitionManager.
* GNU Parted est un éditeur de partitions. Il contient la bibliothèque libparted ainsi qu'un frontal en ligne de commande. Une interface graphique le transforme sous Linux en Gparted, beaucoup plus simple d'emploi.
* GNU fdisk se définit comme une alternative à GNU parted.
* QtParted se définit comme « un clone de Partition Magic écrit en C++ en utilisant la bibliothèque graphique Qt ». Ce dernier est en fait une implémentation graphique de GNU parted.
* GParted est une autre implémentation graphique de GNU parted. Il utilise la bibliothèque graphique GTK et peut manipuler de nombreux formats de systèmes de fichiers. À noter que Gparted existe en version LiveCD qui permet de préparer/modifier des partitions sans système installé sur la machine.
* TestDisk est un programme qui permet de récupérer une partition dont la table aurait été effacée.
* Atola Partition find and mount est un programme gratuit qui permet de récupérer et réparer une partition sur un disque dur. Il est sans risque, ce qui n'est pas le cas de Testdisk. Fonctionne sous Windows.
* fat32format, de Ridgecrop Consultants Ltd, permet de formater une partition de plus de 32 Gio en FAT32.
* MiniTool Partition Wizard, gratuiciel comportant divers outils de partitionnement pour Windows.
* Disk director suite d'Acronis, édité en France par Micro Application sous le nom Partition suite 9, est très complet. Il permet le formatage, le déplacement sans pertes de données, la création, le redimensionnement, la copie, etc. des partitions de formats courants et moins courants. De plus un logiciel de gestion « multi-OS » est fourni afin de faciliter les changements de système sans redémarrage.
* Partition Expert est un programme payant édité par Micro Application qui permet la gestion, le partitionnement, le nettoyage des disques durs. Il est très complet mais on rapporte des dysfonctionnements avec Microsoft Windows Vista.
* Partition Manager 10 Professional, est un programme édité par Micro Application, qui permet la gestion complète des partitions : création, fusion, redimensionnement, copie, restauration des partitions perdues, effacées ou endommagées, gestion multi-OS, défragmentation. La gestion est effectuée sans pertes de données. Outil complet.
* BootIt NG est un utilitaire payant édité par TeraByte Unlimited. Il permet de créer, copier et redimensionner des partitions. Il inclut un gestionnaire de démarrage permettant de définir plusieurs configurations différentes. Parmi ses spécificités, la possibilité de gérer plus de 4 partitions primaires via la création d'un MBR étendu (EMBR) et la possibilité de réaliser des backups de partitions complètes.
* FIPS est un des premiers programmes (si ce n'est le premier) permettant de redimensionner une partition FAT16 ou FAT32 sans l'effacer. On le trouvait sur les CD d'installation des distributions Linux (Red Hat 5.2 par exemple), pour réduire les partitions de systèmes MS-DOS ou Windows. Il fonctionne sous MS-DOS.

### Outils de lecture de partition

* explore2fs permet de lire le contenu d'une partition ext2 ou ext3 depuis Windows ;
* ext2ifs Ext2 Installable File System for Windows
* les Mtools permettent d'accéder au contenu de partitions FAT depuis UNIX ;
* MacDrive permet de lire et d'écrire le contenu de disques durs / SSD et CD-ROM Macintosh (HFS Extended (HFS+) et HFS Standard (HFS)) depuis Windows.