Fdisk
| Fiche express | |
|---|---|
| Domaine | Partitionnement de disque (table MBR) |
| Commande | fdisk
|
| Contexte | Disques en table MBR (dos) — au-delà de 4 partitions primaires, 2 To ou BIOS UEFI, voir gdisk/parted (GPT) |
| Voir aussi | Aligner des partitions, Blockdev |
fdisk est l'outil historique de partitionnement des disques sous Linux, limité à la table MBR (dos) : 4 partitions primaires (ou 3 primaires + 1 étendue contenant des partitions logiques), 15 partitions au total et 2 To par partition. La table GPT lève ces limites (128 partitions, jusqu'à 8 ZiB par partition en secteurs de 512 o, 64 ZiB en secteurs de 4 Ko) mais nécessite un BIOS UEFI et un outil compatible — gdisk (mêmes commandes interactives que fdisk) ou parted, plus moderne et scriptable.
Lister les disques et partitions
fdisk -l # table de partitions de tous les disques détectés
fdisk -lu /dev/sda # idem, tailles affichées en secteurs plutôt qu'en cylindres
fdisk -s /dev/sda7 # taille d'une partition, en blocs de 1 Ko
Équivalent en lecture seule avec parted, pratique pour vérifier une table de partitions sans risque de modification accidentelle :
parted -s /dev/sda print
Créer une partition
Session interactive typique pour créer une partition de type LVM sur un disque vierge :
fdisk /dev/sda
# n nouvelle partition
# p primaire
# (numéro, premier et dernier cylindre : valeurs par défaut = tout le disque)
# t changer le type de partition
# 8e Linux LVM
# w écrire la table et quitter
Le noyau ne relit pas toujours la nouvelle table de lui-même :
partprobe # recharge la table de partitions sans reboot
# si partprobe échoue (partition déjà en cours d'utilisation), un reboot reste nécessaire
Passer ensuite à LVM pour intégrer la partition à un volume group (pvcreate, vgextend...).
Mode expert : positionner précisément le premier secteur
Le mode expert (x) permet de fixer manuellement le secteur de départ d'une partition, utile notamment pour l'aligner sur une frontière physique du support (voir Aligner des partitions) :
fdisk /dev/sda
# x entrer en mode expert
# b déplacer le début de données d'une partition
# 1 numéro de la partition
# 2048 nouveau secteur de départ
# w écrire la table de partitions
Agrandir une partition existante sans perte de données
Après l'agrandissement d'un disque virtuel ou d'un LUN SAN, la partition elle-même reste à son ancienne taille tant qu'on ne l'a pas recréée. La méthode sans perte de données consiste à supprimer la partition puis à la recréer en gardant exactement le même secteur de départ, en laissant la fin s'étendre sur le nouvel espace disponible :
fdisk /dev/sda
# d supprimer une partition
# 2 numéro de la partition à agrandir
# n nouvelle partition
# p primaire
# 2 même numéro que la partition supprimée
# 2056192 même secteur de départ que la partition supprimée (impératif)
# <Entrée> taille maximale disponible, proposée par défaut
# t changer le type de partition
# 8e Linux LVM
# w écrire la table et quitter
reboot
⚠️ Le secteur de départ doit être rigoureusement identique à celui de la partition supprimée, sous peine de perdre les données existantes — noter sa valeur avec fdisk -lu avant toute suppression.
Une fois la table de partitions mise à jour, étendre le PV LVM sur l'espace nouvellement disponible :
pvresize /dev/sda2
Voir aussi
- Aligner des partitions — vérifier ou corriger l'alignement d'une partition sur le support physique sous-jacent
- Blockdev — forcer le noyau à relire la taille et la table de partitions d'un périphérique bloc
- fdisk ne gère que les tables MBR (dos), avec des commandes interactives (n/p/t/w...) ; pour une table GPT (disques > 2 To, plus de 4 partitions primaires, BIOS UEFI), utiliser
gdisk(mêmes commandes que fdisk) ouparted(scriptable et non interactif avec l'option-s)