FDISK(8)

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

SYNOPSIS

fdisk [options] device

fdisk -l [device...]

DESCRIPTION

fdisk is a dialog-driven program for creation and manipulation of partition tables. It understands GPT, MBR, Sun, SGI and BSD partition tables.

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 « tranche » 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.

L’adressage CHS (Cylinder-Head-Sector) est obsolescent et n’est pas utilisé par défaut. Veuillez ne pas suivre les vieux articles et les recommandations avec fdisk -S <n> -H <n> pour les SSD et les périphériques blocs de secteurs 4 Ko.

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
    Specify the sector size of the disk. Valid values are 512, 1024, 2048, and 4096. The kernel is aware of the sector size for regular block devices. Use this option only on very old kernels, when working with disk images, or to override the kernel’s default sector size. Since util-linux-2.17, fdisk distinguishes between logical and physical sector size. This option changes both sector sizes to the specified sectorsize.

-B, --protect-boot
    Ne pas écraser le début du premier secteur de disque lors de la création d’une nouvelle étiquette de disque. Cette fonctionnalité est gérée pour les GPT et MBR.

-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 l’aide-mémoire puis quitter.

-V, --version
    Afficher le numéro de version et 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 internes, consultez la sortie de la commande avec --help. Consultez également la section COULEURS.

-l, --list
    Liste les tables de partitions pour le périphérique spécifié puis arrête.

    Si aucun périphérique est donné, les périphériques mentionnés dans /proc/partitions (si le fichier existe) sont utilisés. Les périphériques sont toujours listés dans l’ordre spécifié sur la ligne de commande ou par le noyau listé dans /proc/partitions.

-x, --list-details
    Identique à --list, mais avec plus de détails.

--lock[=mode]
    Utiliser un verrou BSD exclusif pour le périphérique ou le fichier visé. L’argument facultatif mode peut être yes, no (ou 1 et 0) ou nonblock. Si cet argument est absent, sa valeur par défaut est yes. Cette option écrase la variable d’environnement $LOCK_BLOCK_DEVICE. Le comportement par défaut est de n’utiliser aucun verrou, mais cela est recommandé pour éviter des collisions avec systemd-udevd(8) ou d’autres outils.

-n, --noauto-pt
    Ne pas créer automatiquement par défaut une table de partitions sur les périphériques vides. La table de partitions doit être explicitement créée par l’utilisateur (avec une commande telle que « o », « g », etc.).

-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(8).

-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 tailles en secteurs (sectors) ou en cylindres (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=cylindres ».

-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.

-w, --wipe quand
    Effacer les signatures de système de fichiers, de RAID et de table de partitions du périphérique dans le but d’éviter de possibles collisions. L’argument quand peut être auto, never ou always. Quand cette option n’est pas fournie, auto est la valeur par défaut, auquel cas les signatures sont effacées seulement dans le mode interactif. Dans tous les cas, les signatures détectées sont rapportées par des messages d’avertissement avant la création d’une nouvelle table de partitions. Consultez aussi la commande wipefs(8).

-W, --wipe-partitions quand
    Effacer les signatures de système de fichiers, de RAID et de table de partitions de partitions nouvellement créées dans le but d’éviter de possibles collisions. L’argument quand peut être auto, never ou always. Quand cette option n’est pas fournie, auto est la valeur par défaut, auquel cas les signatures sont effacées seulement dans le mode interactif et après confirmation de l’utilisateur. Dans tous les cas, les signatures détectées sont rapportées par des messages d’avertissement avant la création d’une nouvelle table de partitions. Consultez aussi la commande wipefs(8).

-V, --version
    Afficher le nom et la version du logiciel 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/admin-guide/devices.txt dans la documentation du noyau Linux.

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 le préfixe de taille est « + », alors elle est interprétée relativement au premier secteur de partition. Si le préfixe est « - », alors elle est interprétée relativement à la limite haute (dernier secteur disponible pour la partition).

Si la taille est indiquée en octets, elle peut être suivie d’un suffixe multiplicatif KiB (1024 octets), MiB (1024*1024 octets) et ainsi de suite 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 de périphérique E/S. La notation +/-<taille>{K,B,M,G,...} est recommandée.

Par compatibilité ascendante, fdisk accepte aussi les suffixes KB (1000 octets), MB (1000*1000 octets) et ainsi de suite pour GB, TB, PB, EB, ZB et YB. Ces suffixes en 10^N sont dépréciés.

FICHIERS DE SCRIPTS

fdisk allows reading (by 'I' command) sfdisk(8) compatible script files. The script is applied to in-memory partition table, and then it is possible to modify the partition table before you write it to the device.

À 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(8), sfdisk(8), fdisk 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ées 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.

    Please, read the DOS-mode section if you want DOS-compatible partitions. fdisk does not care about cylinder boundaries by default.

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(2) 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

Note that all this is deprecated. You don’t have to care about things like geometry and cylinders on modern operating systems. If you really want DOS-compatible partitioning then you have to enable DOS mode and cylinder units by using the '-c=dos -u=cylinders' fdisk command-line options.

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(8) 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(8) 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 usually obtains the disk geometry automatically. This is not necessarily the physical disk geometry (indeed, modern disks do not really have anything like a physical geometry, certainly not something that can be described in the simplistic Cylinders/Heads/Sectors form), but it is the disk geometry that MS-DOS uses for the partition table.

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 pas 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(8).

COULEURS

La colorisation de la sortie est implémentée grâce aux fonctionnalités de terminal-colors.d(5). La colorisation implicite peut être désactivée via un fichier vide

    /etc/terminal-colors.d/{commande}.disable

pour la commande {commande} ou pour tous les outils par

    /etc/terminal-colors.d/disable

$XDG_CONFIG_HOME/terminal-colors.d_ ou $HOME/.config/terminal-colors.d spécifiques à l’utilisateur remplacent les réglages globaux.

Notez que la colorisation de la sortie peut être activée par défaut. Dans ce cas, les répertoires terminal-colors.d n’existent pas forcément automatiquement.

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.

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.

LIBSMARTCOLS_DEBUG_PADDING=on
    Utiliser des caractères de remplissage visibles.

LOCK_BLOCK_DEVICE=<mode>
    Utiliser un verrou exclusif BSD. Le mode est « 1 » ou « 0 ». Consulter --lock pour davantage de détails.

AUTEURS

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

VOIR AUSSI

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

SIGNALER DES BOGUES

Pour signaler un bogue, utilisez le gestionnaire de bogues sur

DISPONIBILITÉ

La commande fdisk fait partie du paquet util-linux, elle est disponible sur