FDISK(8)

NOM
fdisk - Manipuler la table de partitions d'un disque

SYNOPSIS
fdisk [options] périphérique

fdisk -l [périphérique ...]

DESCRIPTION
fdisk est un programme piloté par des fenêtres de dialogue permettant la création et la manipulation des tables de partitions. Les tables de partitions GPT, MBR, Sun, SGI et BSD sont prises en charge.

Les périphériques blocs peuvent être divisés en un ou plusieurs disques logiques appelés partitions. Cette division est enregistrée dans la table de partitions qui se trouve habituellement sur le secteur 0 du disque (dans l'univers BSD, les termes « tranches » et « étiquette de disque » sont utilisés).

Tout le partitionnement est piloté par les limites d’E/S du périphérique (la topologie) par défaut. fdisk permet d’optimiser la disposition de disque pour une taille de secteur de 4 Ko et utilise un décalage d’alignement sur les périphériques modernes pour les MBR et GPT. C’est toujours une bonne idée d’accepter les valeurs par défaut de fdisk car ces valeurs (par exemple, les premier et dernier secteurs de partition) et les tailles de partition indiquées par la notation +taille{M,G,...} sont toujours alignées sur les propriétés du périphérique.

Remarquez que partx(8) fournit une interface évoluée pour afficher les dispositions de disque dans les scripts, fdisk est surtout conçu pour les humains. La rétrocompatibilité de la sortie de fdisk n’est pas garantie. L’entrée (les commandes) devraient toujours être rétrocompatibles.

OPTIONS

-b, --sector-size taille
    Indiquer la taille des secteurs du disque. Les valeurs possibles sont 512, 1024, 2048 et 4096 (les noyaux récents connaissent la taille de secteur. N'utilisez cette option que sur des noyaux anciens ou pour passer outre l'avis du noyau). Depuis util-linux 2.17, fdisk fait la différence entre les tailles de secteurs logique et physique. Cette option modifie les tailles des deux secteurs en taille.

-c, --compatibility[=mode]
    Indiquer le mode de compatibilité, dos ou nondos. Le mode non DOS est sélectionné par défaut. Par rétrocompatibilité, cette option peut être utilisée sans le paramètre mode — le mode par défaut est alors utilisé. Remarquez que le paramètre facultatif mode ne peut pas être séparé de l'option -c par une espace, la forme correcte est par exemple « -c=dos ».

-h, --help
    Afficher un texte d'aide puis quitter.

-L, --color[=quand]
    Colorer la sortie. L’argument facultatif quand peut être auto, never ou always. En absence d’argument quand, auto est la valeur par défaut. Les couleurs peuvent être désactivées. Pour les valeurs par défaut, consultez la sortie de la commande avec --help. Consultez également la section COULEURS.

-l, --list
    Afficher les tables de partitions des périphériques indiqués puis quitter. Si aucun périphérique n'est fourni, ceux mentionnés dans /proc/partitions (si ce fichier existe) sont utilisés.

-o, --output liste
    Indiquer les colonnes à afficher. Utilisez --help pour obtenir une liste de toutes les colonnes disponibles.

    La liste de colonnes par défaut peut être étendue si liste est indiquée sous la forme +liste (par exemple, -o +UUID).

-s, --getsz
    Afficher la taille, en secteur de 512 octets, de chaque périphérique bloc donné. Cette option est obsolète, remplacée par blockdev(1).

-t, --type type
    N’activer la prise en charge que pour les étiquettes de disque du type indiqué et désactiver la prise en charge pour tous les autres types.

-u, --units[=unité]
    Lors de l'affichage des tables de partitions, montrer les taille en secteur (sectors) ou en cylindre (cylinders). L'affichage par défaut est en secteur. Par rétrocompatibilité, cette option peut être utilisée sans l’argument unité — le mode par défaut est alors utilisé. Remarquez que l’argument unité facultatif ne peut pas être séparé de l'option -u par une espace, la forme correcte est par exemple « -u=cylinders ».

-C, --cylinders nombre
    Indiquer le nombre de cylindres du disque. L’utilité de cette option est inconnue.

-H, --heads nombre
    Indiquer le nombre de têtes du disque (pas le nombre physique, bien sûr, mais celui utilisé pour la table de partitions). 255 et 16 sont des valeurs raisonnables.

-S, --sectors nombre
    Indiquer le nombre de secteurs par piste du disque (pas le nombre physique, bien sûr, mais celui utilisé pour la table de partitions). 63 est une valeur raisonnable.

-V, --version
    Afficher les informations sur la version et quitter.

PÉRIPHÉRIQUES
Le périphérique est habituellement du genre /dev/sda, /dev/sdb, etc. Un nom de périphérique fait référence au disque entier. Les vieux systèmes sans libata (une bibliothèque utilisée dans le noyau Linux pour gérer les contrôleurs et les périphériques ATA) font une différence entre les disques IDE et SCSI. Dans un tel cas, le nom de périphérique sera /dev/hd* (IDE) ou /dev/sd* (SCSI).

La partition est un nom de périphérique suivi d'un numéro de partition. Par exemple, /dev/sda1 est la première partition du premier disque dur du système. Consultez également Documentation/devices.txt.

TAILLES
La fenêtre de dialogue « last sector » (dernier secteur) accepte une taille de partition indiquée par un nombre de secteurs ou par une notation +<taille>{K,B,M,G,...}.

Si la taille est précédée du préfixe « + », alors elle est interprétée comme relative au premier secteur de la partition. Dans ce cas, la taille est attendue en octet et le nombre peut être suivi des suffixes multiplicatifs KiB=1024, MiB=1024*1024, etc., pour GiB, TiB, PiB, EiB, ZiB et YiB. La partie « iB » est facultative, par exemple « K » est identique à « KiB ».

Les tailles relatives sont toujours alignées d’après les limites d’entrée et sortie. La notation +<taille>{K,B,M,G,...} est recommandée.

Par compatibilité ascendante, fdisk accepte aussi les suffixes KB=1000, MB=1000*1000, etc., pour GB, TB, PB, EB, ZB et YB. Ces suffixes en 10^N sont déconseillés.

FICHIERS DE SCRIPTS
fdisk permet de lire (avec la commande « I ») les fichiers script compatibles avec sfdisk. Le script est appliqué à la table de partitions en mémoire, et la table de partitions peut ensuite être modifiée avant d’être écrite sur le périphérique.

À l’inverse, l’agencement de la table de partitions actuellement en mémoire peut être écrite dans un fichier script à l’aide de la commande « O ».

Les fichiers script sont compatibles entre cfdisk, fdisk, sfdisk et les autres applications libfdisk. Pour plus de précisions, consultez sfdisk(8).

ÉTIQUETTES DE DISQUE
GPT (table de partitions GUID)
    GPT est la norme moderne pour la disposition de la table de partitions. GPT utilise des adresses de blocs logiques sur 64 bits, des sommes de contrôle, des UUID et des noms pour les partitions, et n’est pas limitée en nombre de partitions (bien que le nombre de partitions soit souvent restreint à 128 dans de nombreux outils de partitionnement).

    Remarquez que le premier secteur est toujours réservé pour un secteur d'amorçage principal de protection (protective MBR) dans la spécification GPT. Cela empêche les outils de partitionnement ne prenant en charge que le MBR de ne pas reconnaître et d’écraser les disques GPT.

    GPT est toujours un meilleur choix que MBR, en particulier sur du matériel moderne avec un chargeur d’amorçage UEFI.

Type DOS (MBR)
    Une table de partitions de type DOS peut décrire un nombre illimité de partitions. Dans le secteur 0, il y a de la place pour décrire 4 partitions (appelées « primaires »). L'une d'entre elles peut être une partition étendue ; c'est une sorte de boîte contenant des partitions logiques, dont les descripteurs se trouvent dans une liste chaînée de secteurs, chacun décrivant les partitions logiques correspondantes. Les quatre partitions primaires, présentes ou pas, portent les numéros 1 à 4. Les partitions logiques sont numérotées à partir de 5.

    Dans une table de partitions de type DOS, la position de départ et la taille de chaque partition sont conservés de deux façons : comme un nombre absolu de secteurs (sur 32 bits), ou comme un triplet Cylindres/Têtes/Secteurs (sur 10+8+6 bits). La première manière fonctionne bien — avec des secteurs de 512 octets, cela fonctionnera jusqu'à 2 To. La seconde possibilité souffre de deux problèmes. Tout d'abord, ces champs C/T/S ne peuvent être remplis que si le nombre de têtes et le nombre de secteurs par piste sont connus. Ensuite, même si ces nombres étaient connus, les 24 bits qui sont disponibles ne suffiraient pas. DOS utilise uniquement C/T/S, Windows utilise les deux, Linux n'utilise jamais C/T/S. L’adressage C/T/S est obsolète et pourrait ne plus être pris en charge dans une future version de fdisk.

    Veuillez lire la section sur le mode DOS si vous voulez des partitions compatible DOS. fdisk ne s’occupe pas des limites de cylindre par défaut.

Type BSD ou Sun
    Une étiquette de disque de type BSD ou SUN peut décrire 8 partitions, dont la troisième devrait être une partition de « disque entier ». Ne commencez pas une partition utilisant réellement son premier secteur (comme une partition d'échange) sur le cylindre 0, car cela détruirait l'étiquette du disque. Remarquez qu’une étiquette BSD est normalement imbriquée dans une partition DOS.

Type IRIX/SGI
    Une étiquette de disque IRIX/SGI peut décrire 16 partitions, dont la onzième devrait être une partition entière de « volume », alors que la neuvième devrait être étiquetée « en-tête de volume ». L'en-tête de volume couvre également la table de partitions, c'est-à-dire qu'il débute au bloc zéro et s'étend par défaut sur 5 cylindres. L'espace restant dans l'en-tête de volume peut être utilisé par les répertoires d'en-tête. Aucune partition ne peut empiéter sur l'en-tête de volume. Ne modifiez pas son type et ne créez de système de fichiers dessus, car vous perdriez alors la table de partitions. N'utilisez ce type d'étiquette que lorsque vous travaillez sur des machines IRIX/SGI ou avec des disques IRIX/SGI sous Linux.

Une sync() et une ioctl(BLKRRPART) (relecture de la table de partitions du disque) sont réalisées avant de quitter quand la table de partitions a été mise à jour.

Avertissement sur le mode DOS et DOS 6.x
Remarquez que tout cela est obsolète. Vous n’avez pas à vous soucier de choses comme la géométrie et les cylindres sur les systèmes d’exploitation modernes. Si vous voulez vraiment un partitionnement compatible DOS, alors vous devez activer le mode DOS et le cylindre comme unité en utilisant les options de ligne de commande « -c=dos -u=cylinders ».

La commande FORMAT de DOS 6.x recherche certaines informations dans le premier secteur de la section de données de la partition. Elle considère ces informations comme étant plus fiables que celles de la table de partitions. La commande FORMAT de DOS s'attend à ce que FDISK de DOS efface les 512 premiers octets de la section de données d'une partition chaque fois qu'il y a une modification de sa taille. La commande FORMAT de DOS recherchera cette information supplémentaire même si l’attribut /U est indiqué — nous considérons que c'est un bogue des commandes FORMAT et FDISK de DOS.

Par conséquent, si vous utilisez fdisk ou cfdisk pour modifier la taille d'une partition DOS, vous devez aussi utiliser dd(1) pour mettre à zéro les 512 premiers octets de cette partition avant d'utiliser la commande FORMAT de DOS pour formater cette partition. Par exemple, si vous avez utilisé cfdisk pour créer une entrée de table de partitions DOS pour /dev/sda1, vous devriez alors (après avoir quitté fdisk et redémarré Linux afin que les informations de table de partitions soient correctes) utiliser la commande « dd if=/dev/zero of=/dev/sda1 bs=512 count=1 » pour mettre à zéro les 512 premiers octets de la partition.

fdisk devrait déterminer automatiquement la géométrie du disque. Ce n'est pas nécessairement la géométrie physique du disque (en effet, les disques modernes ne possèdent pas à proprement parler quoi que ce soit pouvant être assimilé à une géométrie physique, et encore moins quelque chose pouvant être décrit par la forme simpliste Cylindres/Têtes/Secteurs), mais c'est la géométrie de disque qu'utilise MS-DOS pour la table de partitions.

D'habitude, tout se passe bien par défaut, et il n'y a aucun problème si Linux est le seul système sur le disque. Néanmoins, si le disque doit être partagé avec d'autres systèmes d'exploitation, c'est en général une bonne idée de créer au moins une autre partition avec un fdisk d'un autre système d'exploitation. Quand Linux démarre, il examine la table de partitions, et essaie de déduire quelle est la géométrie factice nécessaire pour une bonne coopération avec les autres systèmes.

Chaque fois qu'une table de partitions est écrite en mode DOS, un test de cohérence est effectué sur les entrées de la table de partitions. Ce test vérifie que les débuts et fins physiques et logiques sont identiques, et que chaque partition commence et se termine sur une limite de cylindre (sauf pour la première partition).

Certaines versions de MS-DOS créent une première partition qui ne commence pas sur une limite de cylindre, mais sur le secteur 2 du premier cylindre. Les partitions commençant au cylindre 1 ne peuvent débuter sur une limite de cylindre, mais il est peu probable que cela pose problème à moins d'avoir également OS/2 sur la machine.

De façon à obtenir de meilleurs résultats, vous devriez toujours utiliser un programme de table de partitions spécifique au système d'exploitation. Par exemple, vous devriez créer des partitions DOS avec le programme DOS FDISK et des partitions Linux avec les programmes Linux fdisk ou cfdisk.

COULEURS
La coloration implicite peut être désactivée par un fichier /etc/terminal-colors.d/fdisk.disable vide.

Consultez terminal-colors.d(5) pour plus de précisions sur la configuration de coloration. Les noms de couleurs logiques pris en charge par fdisk sont les suivantes.

header
    L’en-tête des tables en sortie.

help-title
    Les titres de la section d’aide.

warn
    Les messages d'avertissement.

welcome
    Le message de bienvenue.

AUTEURS
Karel Zak (kzak@redhat.com)
Davidlohr Bueso (dave@gnu.org)

La version originale a été écrite par Andries E. Brouwer, A. V. Le Blanc et d’autres.

ENVIRONNEMENT

FDISK_DEBUG=all
    Activer la sortie de débogage de fdisk.

LIBFDISK_DEBUG=all
    Activer la sortie de débogage de libfdisk.

LIBBLKID_DEBUG=all
    Activer la sortie de débogage de libblkid.

LIBSMARTCOLS_DEBUG=all
    Activer la sortie de débogage de libsmartcols.

VOIR AUSSI
cfdisk(8), sfdisk(8), mkfs(8), partx(8)

DISPONIBILITÉ
La commande fdisk fait partie du paquet util-linux, elle est disponible sur <ftp://ftp.kernel.org/pub/linux/utils/util-linux/>.

TRADUCTION
Cette page de manuel a été traduite par Frédéric Delanoy <delanoy_f AT yahoo DOT com> en 2002 et mise à jour par Christophe Blaess en 2003. La version présente dans Debian est maintenue par Jade Alglave <jade DOT alglave AT ens-lyon DOT org> et les membres de la liste <debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.