Partition (informatique)
En informatique, le partitionnement d'un support de stockage (disque dur, SSD, carte-mémoire...) est l'opération qui consiste à le diviser en partitions ou régions dans lesquelles les systèmes d'exploitation présents sur la machine peuvent gérer leurs informations de manière séparée et privée. Chaque système d'exploitation est libre de diviser les partitions qu'il utilise de la manière qui lui convient ; il le fait généralement en y créant un système de fichiers qui n'est autre qu'une manière de subdiviser l'espace disponible en y plaçant des repères “logiques” (par opposition aux subdivisions matérielles qui n'ont pas d'incidence pour l'utilisateur) et en maintenant à jour des tables d'allocations pour déterminer à quoi sont utilisés les différents sous-espaces.

Les différentes partitions apparaissent aux systèmes d'exploitation qui les repèrent, chacun à sa manière, en leur donnant en général le nom de « disque » (désormais impropre puisque pouvant désigner des unités de stockage basés sur la mémoire flash comme les SSD) ou « volume ». Les systèmes Windows les présentent généralement à l'utilisateur en les repérant par des lettres (C:, D:, ...) ce qui rend compliqué la différentiation entre un disque dur ou une partition d'un disque ("C:", "D:", et "E:" n'indiquent pas si C, D et E sont des disques ou des partitions d'un même disque), alors que les systèmes Mac OS les présentent sous forme d'icônes sur le bureau et le Finder.
Dans les systèmes UNIX ou GNU/Linux, les disques durs apparaissent toujours sous la forme "sd", les lettres étant utilisées pour les supports (disques durs, mémoire flash, etc... et les nombres pour les partitions (typiquement, la désignation est de la forme sda, sdb, ... pour un support matériel, et si deux partitions sont créées elles seront désignées par sda1, sda2 => contrairement a Windows, on sait que sda3 est la troisième partition du disque a, et que sdb2 est la deuxième partition du disque b).
Le CIM Schema, sous-ensemble de Common Information Model, représente une partition avec la class CIM_DiskPartition[1],,[2].
On nomme « partition d'amorçage » (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.
Partitionnement Intel (PC)
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 conservées sur le support lui-même dans des zones appelées tables de partitions. La table de partitions principale est contenue dans le premier secteur du support, dit secteur d'amorçage (généralement MBR ou GPT) qui contient également le programme d'amorçage. Chaque ligne 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 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.
Détails en ce qui concerne le 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 de les cartes-mères gérées par UEFI au lieu du BIOS originel.
Outils de partitionnement et/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.
- Partition Magic (créé à l'origine par PowerQuest pour Windows XP) est un utilitaire payant de la société Symantec Corporation fonctionnant sous DOS ou Windows. Norton PartitionMagic est notamment reconnu pour pouvoir redimensionner, déplacer ou fusionner une ou des partitions sans perdre les données qu'elle contient. Il permet diverses opérations impossibles à réaliser avec les outils fournis en standard par Microsoft comme convertir un système de fichiers NTFS en FAT (l'inverse est réalisable en interne par les systèmes dérivés de Windows NT grâce à la commande convert) ou réparer une table de partitions endommagée. Attention cependant à la compatibilité avec Microsoft Windows Vista. Il est connu un phénomène de disparition de partition difficilement réversible.
- Nota bene : ces deux logiciels ne sont plus commercialisés par l'éditeur (site Symantec consulté le 21/01/2010) ; de nombreux sites en proposent le téléchargement gratuit, avec tous les risques que cela comporte.
- 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[3] 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.[non neutre] Fonctionne sous Windows.
- fat32format, de Ridgecrop Consultants Ltd, permet de formater une partition de plus de 32 Gio en FAT32.
- 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[4].
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.
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[5] :
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[6] 80286 |
41 | PPC PReP Boot |
42 | SFS |
4d | QNX4.x |
4e | QNX4.x 2de 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 par 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 (2128 = 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"
Notes et références
Liens externes
- (fr) Partitionnement d'un disque dur sur Mac OS X (Apple)
- (fr) Comment faire pour partitionner et formater un disque dur dans Windows XP (Microsoft)
- (fr) Réparer les partitions d'un disque dur
- Portail de l’informatique