SFDISK(8)

NOM
sfdisk - Afficher ou manipuler une table de partitions de disque

SYNOPSIS

sfdisk [options] périphérique [-N numéro-partition]

sfdisk [options] commande

DESCRIPTION

sfdisk est un outil orienté script pour le partitionnement de n’importe quel périphérique bloc. Il fonctionne en mode interactif s’il est utilisé à partir d’un terminal (stdin fait référence au terminal).

Depuis la version 2.26, sfdisk prend en charge les étiquettes de disque MBR (DOS), GPT, SUN et SGI, mais ne fournit plus de fonctionnalité pour l’adressage CTS (cylindre tête secteur). CTS n’a jamais été important pour Linux et ce concept d’adressage n’a aucun sens pour les nouveaux périphériques.

sfdisk protège le premier secteur du disque lorsqu’il crée une nouvelle étiquette sur le disque. L’option --wipe always désactive cette protection. Notez que fdisk(8) et cfdisk(8) effacent complètement cette zone par défaut.

sfdisk (depuis sa version 2.26) aligne le début et la fin des partitions aux limites d’E/S du périphérique en mode bloc quand des tailles relatives sont indiquées, quand des valeurs par défaut sont indiquées ou quand des suffixes multiplicatifs (par exemple, MiB) sont utilisés pour les tailles. Il est possible que la taille de la partition soit optimisée (réduite ou agrandie) à cause de l’alignement si la position de départ est indiquée précisément en nombre de secteurs et que la taille de partition est indiquée de manière relative ou à l’aide d’un suffixe multiplicatif.

La manière préconisée est de ne pas du tout indiquer les positions de départ et d’indiquer les tailles de partition en MiB, GiB, etc. Dans ce cas, sfdisk aligne toutes les partitions aux limites d’E/S du périphérique en mode bloc (ou quand celles-ci sont trop petites, aux limites de mégaoctets pour maintenir portable la disposition du disque). Si ce comportement par défaut n’est pas souhaité (habituellement pour les très petites partitions), alors les positions et les tailles doivent être indiquées en secteurs. Dans ce cas, sfdisk suit intégralement les quantités indiquées sans optimisation.

sfdisk ne crée pas les partitions système standards pour les étiquettes de disque SGI et SUN comme le fait fdisk(8). Créer explicitement toutes les partitions est nécessaire, y compris les partitions système sur disque complet.

sfdisk utilise l’ioctl BLKRRPART (relecture de la table de partitions) pour être sûr que le périphérique n’est pas utilisé par le système ou un autre outil (consultez aussi --no-reread). Il est possible que cette fonctionnalité ou une autre activité de sfdisk entrent en compétition avec systemd-udevd(8). La façon préconisée pour éviter d’éventuelles collisions est d’utiliser l’option --lock. Un verrou exclusif fera que systemd-udevd omettra la gestion d’évènement sur le périphérique.

L’invite de sfdisk est seulement une astuce pour les utilisateurs et l’affichage d’un numéro de partition ne signifie pas que la même entrée de table de partitions sera créée (si -N n’est pas indiqué), particulièrement pour les tables avec des trous.

COMMANDES

Les commandes sont mutuellement exclusives.

[-N, --partno partition-number] device
    Le but de la commande sfdisk par défaut est de lire les indications de partitionnement désiré du périphérique à partir de l’entrée standard, puis de créer une table de partitions conforme aux indications. Une description du format d’entrée est disponible ci-dessous. Si l’entrée standard est un terminal, sfdisk démarre une session interactive.

    If the option -N or --partno is specified, then the changes are applied to the partition addressed by partition-number. The unspecified fields of the partition are not modified.

    Remarquez qu’il est possible d’indiquer des partitions non utilisées avec -N. Par exemple, le MBR contient toujours quatre partitions, mais le nombre de partitions utilisées peut être plus petit. Dans ce cas, sfdisk suit les valeurs par défaut de la table de partitions et n’utilise pas les valeurs internes par défaut pour la partition non utilisée indiquée par -N. Consultez aussi --append.

-A, --activate périphérique [numéro-partition] ...
    Activer le drapeau d’amorçage (boot) pour les partitions indiquées et désactiver tous les drapeaux d’amorçage de toutes les partitions non indiquées. Le substitut spécial « - » peut être utilisé à la place des numéros de partition pour désactiver le drapeau d’amorçage sur toutes les partitions.

    La commande d’activation est prise en charge uniquement pour MBR et PMBR. Si une étiquette GPT est détectée, alors sfdisk affiche un avertissement et entre automatiquement dans le PMBR.

    Si aucun numéro-partition n’est indiqué, alors toutes les partitions avec un drapeau activé sont affichées.

--backup-pt-sectors périphérique
    Sauvegarder les secteurs de la table de partition actuelle au format binaire et terminer. Consultez la section SAUVEGARDER LA TABLE DE PARTITIONS.

--delete périphérique [numéro-partition] ...
    Supprimer toutes les partitions ou les partitions indiquées.

-d, --dump périphérique
    Lister les partitions d’un périphérique dans un format utilisable en entrée pour sfdisk. Consultez la section SAUVEGARDER LA TABLE DE PARTITIONS.

-g, --show-geometry [périphérique...]
    Lister la géométrie de tous les périphériques ou de ceux indiqués. Pour la rétrocompatibilité, l’option obsolète --show-pt-geometry a la même signification que celle-ci.

-J, --json périphérique
    Lister les partitions d’un périphérique au format JSON. Remarquez que sfdisk ne peut pas utiliser JSON comme format d’entrée.

-l, --list [périphérique...]
    Afficher les partitions de tout les périphériques ou de ceux indiqués. Cette commande peut être utilisée avec --verify.

-F, --list-free [périphérique...]
    Afficher les zones libres non partitionnées de toutes les partitions ou de celles indiquées.

--part-attrs périphérique numéro-partition [attributs]
    Modifier les bits d’attribut de partition GPT. Si attributs n’est pas indiqué, afficher les réglages de la partition actuelle. L’argument attributs est une liste de numéros de bit ou de noms de bit séparés par des virgules ou des espaces. Par exemple, la chaîne « RequiredPartition,50,51 » définit trois bits . Actuellement, les bits pris en charge sont :

    Bit 0 (RequiredPartition)
        Si ce bit est réglé, la partition est nécessaire pour que la plateforme puisse fonctionner. Le créateur de la partition indique que la suppression ou la modification du contenu peut aboutir à une perte des fonctionnalités de la plateforme, ou à l’échec de l’amorçage ou du fonctionnement de la plateforme. Le système ne peut pas fonctionner normalement si cette partition est supprimée et elle devrait être considérée comme une partie matérielle du système.

    Bit 1 (NoBlockIOProtocol)
        Le micrologiciel EFI devrait ignorer le contenu de la partition et ne pas essayer d’y lire.

    Bit 2 (LegacyBIOSBootable)
        La partition peut être amorçable par le microprogramme BIOS historique.

    Bits 3-47
        Non défini et doit être zéro. Réservé pour des extensions dans les futures versions de la spécification UEFI.

    Bits 48-63
        Réservé pour une utilisation spécifique de GUID. L’utilisation de ces bits varie selon le type de partition. Par exemple, Microsoft utilise le bit 60 pour indiquer la lecture uniquement, 61 pour une « shadow copy » d’une autre partition, 62 pour des partitions cachées (hidden) et 63 pour désactiver le montage automatique.

--part-label périphérique numéro-partition [étiquette]
    Modifier le nom de partition GPT (étiquette). Si l’étiquette n’est pas indiquée, afficher l’étiquette actuelle de la partition.

--part-type périphérique numéro-partition [type]
    Modifier le type de partition. Si le type n’est pas indiqué, afficher le type actuel de la partition.

    L’argument type est hexadécimal pour MBR, un GUID pour GPT, du type alias (par exemple, « linux » ou de type raccourci (par exemple, « L »). Pour la compatibilité ascendante, les options -c et --id ont la même signification que celle-ci.

--part-uuid périphérique numéro-partition [UUID]
    Modifier l’UUID de partition GPT. Si l’UUID n’est pas indiqué, afficher l’UUID actuel de la partition.

--disk-id périphérique [id]
    Modifier l’identificateur du disque. Si id n’est pas indiqué, afficher l’identificateur actuel. L’identificateur est UUID pour GPT ou un entier non signé pour MBR.

--discard-free périphérique
    Laisser tomber tous les secteurs inutilisés (non partitionnés) sur le périphérique. Utilisez l’option --list-free pour obtenir une liste des régions libre. Consultez aussi blkdiscard(8).

        Warning

        Toutes les données de la région abandonnée sur le périphérique seront perdues ! N’utilisez pas cette option si vous n’êtes pas sûr de vous.

    Notez que la commande « T » de fdisk propose une fenêtre de dialogue pour spécifier quelles zones inutilisées doivent être abandonnées. Cependant, sfdisk abandonne toujours toutes les régions non partitionnées (à l’exception des zones où il n’est pas possible de créer des partitions telles que le début du périphérique).

-r, --reorder périphérique
    Renuméroter les partitions dans l’ordre de leur position de début.

-s, --show-size [périphérique...]
    Afficher la taille, en secteur de 1024 octets, de tous les périphériques ou de ceux indiqués. Cette option est obsolète, remplacée par blockdev(8).

-T, --list-types
    Afficher tous les types pris en charge pour l’étiquette de disque actuelle ou l’étiquette indiquée par --label.

-V, --verify [périphérique...]
    Vérifier si la table de partitions et les partitions semblent correctes.

--relocate oper périphérique
    Déplacer l’en-tête de la table de partitions. Cette commande est actuellement prise en charge uniquement pour les en-têtes de GPT. L’argument oper peut être :

    gpt-bak-std
        Déplacer l’en-tête de sauvegarde de GPT à l’emplacement standard à la fin du périphérique.

    gpt-bak-mini
        Déplacer l’en-tête de sauvegarde de GPT après la dernière partition. Remarquez que la norme UEFI requiert que l’en-tête de sauvegarde soit à la fin du périphérique et les outils de partitionnement peuvent automatiquement transférer l’en-tête pour suivre la norme.

OPTIONS

-a, --append
    Ne pas créer de nouvelle table de partitions, mais n’ajouter que les partitions indiquées.

    Note that in this case an unused partition may be re-used even though it is not the last partition in the partition table. See also -N for addressing a specific entry in the partition table.

-b, --backup
    Sauvegarder les secteurs de la table de partitions actuelle avant de commencer le partitionnement. Le nom de fichier de sauvegarde par défaut est ~/sfdisk-<périphérique>-<position>.bak. Pour utiliser un autre nom, consultez -O, --backup-file. Consultez la section SAUVEGARDER LA TABLE DE PARTITIONS.

--bytes
    Print SIZE in bytes rather than in human readable format.

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

-f, --force
    Désactiver tous les contrôles d’intégrité.

--Linux
    Option obsolète et ignorée. Le partitionnement compatible avec Linux (et autres systèmes d’exploitation modernes) est celui par défaut.

--lock[=mode]
    Use an exclusive BSD lock for the device or file that is operated upon. The optional argument mode can be yes (1), no (0), or nonblock. If the mode argument is omitted, it defaults to yes. This option overrides the environment variable $LOCK_BLOCK_DEVICE. The default is to not use any lock at all, but using a lock is recommended to avoid collisions with systemd-udevd(8) or other tools.

-n, --no-act
    Tout faire sauf écrire sur le périphérique.

--no-reread
    Ne pas vérifier par l’intermédiaire de l’ioctl re-read-partition-table si le périphérique est utilisé.

--no-tell-kernel
    Ne pas informer le noyau des modifications de partition. Cette option est recommandée conjointement avec --no-reread pour modifier une partition sur le disque utilisé. La partition modifiée ne devrait pas être utilisée (par exemple, montée).

-O, --backup-file chemin
    Écraser le nom de fichier de sauvegarde par défaut. Remarquez que le nom de périphérique et la position sont toujours ajoutés au nom de fichier.

--move-data[=chemin]
    Déplacer les données après une relocalisation de partition, par exemple, lors de la migration du début d’une partition vers un autre endroit du disque. La taille de la partition doit rester identique, l’ancien et le nouvel emplacement peuvent se chevaucher. Cette option requiert l’option -N pour pouvoir être traitée uniquement sur une partition particulière.

    Le chemin facultatif indique le nom du fichier de journal. Celui-ci contient les informations sur toutes les opérations de lecture ou d’écriture des données de la partition. Le mot « @default » comme chemin oblige sfdisk à utiliser ~/sfdisk-<périphérique>.move pour le journal. Le journal est facultatif depuis la version 2.35.

    Remarquez que cette opération est périlleuse et pas atomique. Ne pas oublier de sauvegarder les données !

    Consultez aussi --move-use-fsync.

    Dans l’exemple ci-dessous, la première commande crée une zone libre de 100 MiB avant la première partition et migre les données contenues (par exemple, un système de fichiers), la commande suivante crée une nouvelle partition dans l’espace libre (à la position 2048) et la dernière commande réarrange les partitions pour concorder avec l’ordre du disque (le sdc1 originel devient sdc2).

        echo '+100M,' | sfdisk --move-data /dev/sdc -N 1

        echo '2048,' | sfdisk /dev/sdc --append

        sfdisk /dev/sdc --reorder

--move-use-fsync
    Utiliser l’appel système fsync(2) après chaque écriture lors de la migration de données à l’aide de --move-data.

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

-q, --quiet
    Supprimer les messages d’information supplémentaires.

--sector-size taille
    Indiquer la taille des secteurs du disque. Les valeurs possibles sont 512, 1024, 2048 et 4096. Le noyau connaît la taille de secteur pour les périphériques blocs normaux. N’utilisez cette option que sur des noyaux très anciens, en travaillant avec des images disque ou pour passer outre la taille par défaut du kernel. Depuis util-linux 2.17, fdisk fait la différence entre les tailles de secteurs logique et physique. Cette option modifie les deux tailles de secteurs par taille.

-u, --unit S
    Option obsolète. Seule l’unité secteur est prise en charge. Cette option n’est pas gérée lors de l’utilisation de la commande --show-size.

-X, --label type
    Specify the disk-label type (e.g., dos, gpt, ...). If this option is not given, then sfdisk defaults to the type of the existing label, but if there is no label on the device yet, then the type defaults to dos. This default may be overridden by the "label: <name>" script-header line. The option --label does not force sfdisk to create an empty disk label (see the EMPTY DISK LABEL section below).

-Y, --label-nested type
    Forcer la modification d’une étiquette de disque imbriqué. L’étiquette de disque primaire doit déjà exister. Cette option permet d’éditer par exemple un MBR hybride ou de protection (« protective ») sur les périphériques avec GPT.

-w, --wipe quand
    Effacer les signatures de système de fichiers, RAID et de table de partitions du périphérique dans le but d’éviter des collisions possibles. L’argument quand peut être auto, never ou always. Quand cette option n’est pas indiquée, la valeur par défaut est auto, auquel cas les signatures sont effacées seulement dans le mode interactif, à l’exception des signatures de l’ancienne table de partitions qui sont toujours effacées avant la création de la nouvelle table de partitions si l’argument quand n’est pas never. Le mode auto n’efface pas non plus le premier secteur (secteur de démarrage). Il faut utiliser le mode always pour supprimer cette zone. Dans tous les cas, les signatures détectées sont signalé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 du système de fichiers, de RAID et de la table de partitions de la nouvelle partition créée dans le but d’éviter des collisions possibles. L’argument quand peut être auto, never ou always. Quand cette option n’est pas indiquée, la valeur par défaut est auto, auquel cas les signatures sont effacées seulement dans le mode interactif et après une confirmation de l’utilisateur. Dans tous les cas, les signatures détectées sont signalées par des messages d’avertissement avant la création d’une nouvelle table de partitions. Consultez aussi la commande wipefs(8).

-h, --help
    Afficher l’aide-mémoire puis quitter.

-v, --version
    Afficher la version et quitter.

FORMATS D’ENTRÉE

sfdisk permet d’utiliser deux formats d’entrée et des lignes d’en-tête générique.

  Lignes d’en-tête

Les lignes de l’en-tête facultatif indiquent des renseignements génériques qui s’appliquent à la table de partitions. Le format de ligne d’en-tête est :

<nom>: <valeur>

Les en-têtes actuellement reconnus sont :

unit
    Indiquer l’unité de partitionnement. La seule unité acceptée est sectors.

label
    Indiquer le type de table de partitions. Par exemple dos ou gpt.

label-id
    Indiquer l’identifiant de table de partitions. Ce devrait être un nombre hexadécimal (avec un préfixe « 0x ») pour MBR et un UUID pour GPT.

first-lba
    Specify the first usable sector for GPT partitions. This header is ignored if the script and device sector size differ. In this case sfdisk uses label specific default.

last-lba
    Specify the last usable sector for GPT partitions. This header is ignored if the script and device sector size differ. In this case sfdisk uses label specific default. The last-lba header is ignored if --force is specified, making the script usable on disks with different sizes.

table-length
    Indiquer le nombre maximal de partitions GPT.

grain
    Indiquer la taille minimale en octet utilisée pour calculer l’alignement des partitions. La valeur par défaut est 1 MiB et il est fortement recommandé de l’utiliser. Ne modifiez pas cette variable si vous avez un doute.

sector-size
    Specifies the sector size used in the input. sfdisk always internally uses the device sector size provided by the kernel for the block device, or as specified by the user on the command line (see --sector-size). Starting with version 2.39, sfdisk recalculates sizes from the input if the sector-size header and device sector size are different.

Remarquez qu’il n’est possible d’utiliser des lignes d’en-tête qu’avant d’indiquer la première partition en entrée.

  Format des champs non nommés

    début taille type amorçable

où chaque ligne remplit un descripteur de partition.

Les champs sont séparés par des caractères d’espacement, des virgules (recommandé) ou des points-virgules éventuellement suivis par des caractères d’espacement ; les caractères d’espacement initiaux et finaux sont ignorés. Les nombres peuvent être octaux, décimaux ou hexadécimaux (représentation décimale par défaut). Quand un champ est absent, vide ou indiqué par « - », une valeur par défaut est utilisée. Quand l’option -N (modifier une seule partition) est donnée, la valeur par défaut de chaque champ est sa valeur précédente.

La valeur par défaut de début est le premier secteur non assigné aligné conformément aux limites d’entrée et sortie du périphérique. La position de début par défaut pour la première partition est 1 MiB. Si la position est suivie des suffixes multiplicateurs (KiB MiB, GiB, TiB, PiB, EiB, ZiB et YiB), le nombre est interprété comme une position en octet. Depuis v2.38, quand l’option -N (changer une seule partition) est fournie, un « + » peut être utilisé pour agrandir une partition en déplaçant le début de la partition si l’espace est libre avant la partition.

La valeur par défaut de taille est « autant que possible » (c’est-à-dire, jusqu’à la prochaine partition ou la fin du périphérique). Un argument numérique est par défaut interprété comme un nombre de secteurs, cependant si la taille est suivie par un des suffixes multiplicateurs (KiB, MiB, GiB, TiB, PiB, EiB, ZiB et YiB), alors le nombre est interprété comme une taille de partition en octet et est aligné conformément aux limites d’entrée et sortie du périphérique. Un « + » peut être utilisé à la place d’un nombre pour agrandir la partition autant que possible. Remarquez que « + » équivaut au comportement par défaut pour une nouvelle partition. Les partitions existantes seront redimensionnées comme requis.

Le type de partition est indiqué en hexadécimal pour MBR (DOS) où le préfixe 0x est facultatif, par une chaîne GUID pour GPT, par un raccourci ou par un alias. Il est recommandé d’utiliser deux lettres pour les codes hexadécimaux du MBR pour éviter des collisions entre les raccourcis obsolètes « E » et « 0E » du code hexadécimal du MBR. Pour la rétrocompatibilité, sfdisk essaie d’interpréter type comme un raccourci pour la première possibilité dans les scripts de partitionnement, quoique dans d’autres endroits (par exemple, --part-type commande) il essaie les raccourcis comme dernière possibilité.

Depuis la version 2.36, libfdisk gère les alias de type de partition comme des extensions aux raccourcis. Un alias est un mot simple lisible par un humain (par exemple, « linux »).

Depuis la version 2.37, libfdisk supporte les noms de type de partition en entrée. Il ignore la casse des caractères et tout caractère qui n’est pas une lettre ou un chiffre (c-à-d que « Linux /usr x86 » est la même chose que « linux usr-x86 »).

Raccourcis et alias pris en charge

L - alias 'linux'
    Linux ; signifie 83 pour MBR et 0FC63DAF-8483-4772-8E79-3D69D8477DE4 pour GPT.

S - alias 'swap'
    zone d’échange (swap) ; signifie 82 pour MBR et 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F pour GPT.

Ex - alias 'extended'
    partition étendue MBR ; signifie 05 pour MBR. Le raccourci originel « E » est obsolète à cause d’une collision avec le type de partition MBR, « 0x0E ».

H - alias 'home'
    partition personnelle ; signifie 933AC7E1-2EB4-4F13-B844-0E14E2AEF915 pour GPT.

U - alias 'uefi'
    partition de système EFI ; signifie EF pour MBR et C12A7328-F81F-11D2-BA4B-00A0C93EC93B pour GPT.

R - alias 'raid'
    Linux RAID ; signifie FD pour MBR et A19D880F-05FC-4D3B-A006-743F0F84911E pour GPT.

V - alias 'lvm'
    LVM ; signifie 8E pour MBR et E6D6D379-F507-44C2-A23C-238F2A3DF928 pour GPT

La valeur type par défaut est linux.

Le raccourci « X » pour les partitions étendues Linux (85) est obsolète, remplacée par « Ex ».

amorçable est indiqué par [*|-] (non amorçable par défaut). La valeur de ce champ n’est pas pertinente pour Linux — quand Linux fonctionne, il a déjà été amorcé — mais pourrait jouer un rôle pour certains gestionnaires de démarrage ou pour d’autres systèmes d’exploitation.

  Format des champs nommés

Ce format est plus lisible, robuste, extensible et permet d’indiquer des renseignements supplémentaires (par exemple un UUID). C’est le format conseillé pour garder les scripts lisibles.

    [périphérique :] nom[=valeur], ...

Le champ périphérique est facultatif. sfdisk extrait le numéro de partition du nom de périphérique. Cela permet d’indiquer les partitions dans un ordre quelconque. Cette fonctionnalité est surtout utilisée par --dump. En cas de doute, ne l’utilisez pas.

La valeur peut être entre guillemets (par exemple, nom="Ceci est un nom de partition"). Les champs start= et size= supportent « + » et « - » de la même manière que le format des champs non nommés.

Les champs actuellement pris en charge sont :

start=nombre
    Le premier secteur non assigné aligné conformément aux limites d’entrée et sortie du périphérique. La position de début par défaut pour la première partition est 1 MiB. Si la position est suivie des suffixes multiplicateurs (KiB, MiB, GiB, TiB, PiB, EiB, ZiB et YiB), le nombre est interprété comme une position en octet.

size=nombre
    Indiquer la taille de partition en secteurs. Le nombre peut être suivi des suffixes multiplicateurs (KiB, MiB, GiB, TiB, PiB, EiB, ZiB et YiB), dans ce cas il est interprété comme une taille en octet, puis la taille est alignée conformément aux limites d’entrée et sortie du périphérique.

bootable
    Marquer la partition comme amorçable.

Battrs=chaîne
    Attributs de partition, souvent des bits d’attribut de partition GPT. Consultez --part-attrs pour plus de précisions sur le format des chaînes de bits GPT.

uuid=chaîne
    UUID de partition GPT.

name=chaîne
    Nom de partition GPT.

type=code
    Un nombre hexadécimal (sans préfixe « 0x ») pour une partition MBR, un GUID pour une partition GPT, un raccourci comme pour le format de champs non nommés ou un nom de type (par exemple, type="Linux /usr (x86)"). Consultez la section ci-dessus pour avoir plus de détails à propos des champs non nommés. Pour la compatibilité ascendante, le champ Id= a la même signification.

ÉTIQUETTES DE DISQUE BLANCHES

Par défaut, sfdisk ne crée pas de table de partitions sans partition. Par défaut, des lignes avec partition sont attendues dans le script. La table de partitions vide doit de manière explicite être requise par une ligne d’en-tête de script « label: <nom> » sans aucune ligne de partition. Par exemple :

    echo 'label: gpt' | sfdisk /dev/sdb

crée une table de partitions GPT vide. Remarquez que l’option --append désactive cette fonctionnalité.

SAUVEGARDER LA TABLE DE PARTITIONS

Sauvegarder la disposition des périphériques est conseillé. sfdisk permet de le faire de deux façons.

  Vidanger dans le format compatible avec sfdisk

Utiliser la commande --dump pour sauvegarder une description de la disposition dans un fichier texte. Le format de la sauvegarde peut ensuite être utilisé en entrée de sfdisk. Par exemple :

    sfdisk --dump /dev/sda > sda.dump

Cela peut ensuite être restauré par :

    sfdisk /dev/sda < sda.dump

Notez que sfdisk rétabli complètement les types et les UUID des partitions. Ceci pourrait potentiellement poser un problème si vous dupliquez la même structure sur différents disques puisqu’il pourrait en résulter des UUID en double dans votre système.

  Sauvegarder complètement en binaire

Pour une sauvegarde binaire complète de tous les secteurs où la table de partitions est gardée, utilisez la commande --backup-pt-sectors. Elle écrit les secteurs dans les fichiers ~/sfdisk-<périphérique>-<position>.bak. Le nom par défaut du fichier de sauvegarde peut être modifié avec l’option --backup-file. Les fichiers de sauvegarde ne contiennent que les données brutes du périphérique. Par exemple :

    sfdisk --backup-pt-sectors /dev/sda

L’en-tête GPT peut ensuite être restauré par :

    dd if=~/sfdisk-sda-0x00000200.bak of=/dev/sda seek=$((0x00000200)) bs=1 conv=notrunc

Il est également possible d’utiliser l’option --backup pour créer la même sauvegarde immédiatement après le démarrage d’autres commandes de sfdisk. Par exemple, pour sauvegarder la table des partitions avant de supprimer toutes les partitions de la table des partitions :

    sfdisk --backup --delete /dev/sda

Le même concept de fichiers de sauvegarde est utilisé par wipefs(8).

Remarquez que sfdisk depuis la version 2.26 ne fournit plus l’option -I pour restaurer les secteurs. dd(1) fournit toutes les fonctionnalités nécessaires.

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

Since version 2.41, the $NO_COLOR environment variable is also supported to disable output colorization unless explicitly enabled by a command-line option.

$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 sfdisk sont les suivantes :

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

warn
    Les messages d’avertissement.

welcome
    Le message de bienvenue.

ENVIRONNEMENT

SFDISK_DEBUG=all
    Activer la sortie de débogage de sfdisk.

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

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

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

Activer la sortie de débogage de libblkid.

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

NOTES

Depuis la version 2.26, sfdisk ne fournit plus l’option -R ou --re-read pour forcer le noyau à relire la table de partitions. Utilisez plutôt blockdev --rereadpt.

Depuis la version 2.26, sfdisk ne fournit plus les options --DOS, --IBM, --DOS-extended, --unhide, --show-extended, --cylinders, --heads, --sectors, --inside-outer ni --not-inside-outer.

EXEMPLES

sfdisk --list --label-nested=mbr /dev/sda
    Afficher le MBR de protection sur le périphérique avec une étiquette de disque GPT.

echo -e ',10M,L\n,10M,L\n,+,\n' | sfdisk /dev/sdc
    Créer trois partitions Linux avec le début par défaut, la taille des deux premières partitions est 10MiB et la dernière partition rempli tout l’espace disponible sur le périphérique.

echo -e 'size=10M, type=L\n size=10M, type=L\n size=+\n' | sfdisk /dev/sdc
    La même chose que l’exemple précédent mais avec le format des champs nommés.

echo -e 'type=swap' | sfdisk -N 3 /dev/sdc
    Définir le type de la troisième partition à « swap ».

sfdisk --part-type /dev/sdc 3 swap
    La même chose que l’exemple précédent mais sans utilisation d’un script.

sfdisk --delete /dev/sdc 2
    Supprimer la deuxième partition.

echo "+,+" | sfdisk -N 3 --move-data /dev/sdc
    Agrandi la 3ème partition dans les deux directions, déplace le début pour utiliser l’espace libre avant la partition et augmente la taille pour utiliser tout l’espace disponible après la partition et déplace également les données de la partition.

AUTEURS

L’implémentation actuelle de sfdisk est basée sur le sfdisk d’origine d’Andries E. Brouwer.

VOIR AUSSI

fdisk(8), cfdisk(8), parted(8), partprobe(8), partx(8)

SIGNALER DES BOGUES

Pour signaler un bogue, utilisez le

DISPONIBILITÉ

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