Scroll to navigation

SFDISK(8) Administration Système 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.

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 (depuis sa version 2.26) aligne le début et la fin des partitions aux limites d’E/S de 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 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 udevd. La manière préconisée d’éviter des collisions possibles est d’utiliser des verrous exclusifs pour le périphérique entier pour sérialiser l’accès au périphérique. Le verrou exclusif fera que udevd omettra la gestion d’évènement sur le périphérique. Par exemple :

flock /dev/sdc sfdisk /dev/sdc

Remarquez que cette sémantique n’est pas actuellement prise en charge par udevd pour les périphériques MD et DM.

COMMANDES

Les commandes sont mutuellement exclusives.
[-N numéro-partition] périphérique
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.

Si l’option -N est indiquée, les modifications sont appliquées à la partition indiquée par numéro-partition. Les champs non renseignés de la partition ne sont pas modifiés.

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

--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 bits séparés par des virgules ou des espaces. Les bits d’attributs actuellement pris en charge sont : RequiredPartition, NoBlockIOProtocol, LegacyBIOSBootable et les bits spécifiques à GUID dans l’intervalle de 48 à 63. Par exemple, « RequiredPartition,50,51 » définit trois bits.
--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 type n’est pas indiqué, afficher le type actuel de la partition. L’argument type est hexadécimal pour MBR ou un GUID pour GPT. 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.
-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.

OPTIONS

-a, --append
Ne pas créer de nouvelle table de partitions, mais n’ajouter que les partitions indiquées.
-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.
--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.
-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.
-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 écrase le nom de fichier de journal (par défaut, ~/sfdisk-<périphérique>.move). Le fichier de journal contient des informations sur toutes les opérations de lecture et d’écriture de données dans la partition.

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

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 original devient sdc2).

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

-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.
-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
Indiquer le type d’étiquette disque (par exemple, dos, gpt, etc.). Si cette option n’est pas donnée, alors sfdisk utilise par défaut l’étiquette existante, mais en absence d’étiquette sur le périphérique, alors le type par défaut est dos. La valeur par défaut ou l’étiquette actuelle peut être écrasée par la ligne d’en-tête de script « label: <nom> ». L’option --label n’oblige pas sfdisk à créer une étiquette vide de disque (consultez la section ÉTIQUETTES DE DISQUE BLANCHES ci-dessous).
-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. 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 de système de fichiers, RAID et de table de partitions des nouvelles partitions créées 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).

-v, --version
Afficher le nom et la version du logiciel et quitter.
-h, --help
Afficher l’aide-mémoire puis 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
Indiquer le premier secteur utilisable pour les partitions GPT.
last-lba
Indiquer le dernier secteur utilisable pour les partitions GPT.
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.

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 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. La position peut être suivie des suffixes multiplicateurs (KiB MiB, GiB, TiB, PiB, EiB, ZiB et YiB), dans ce cas le nombre est interprété comme une position en octet.

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 donné en hexadécimal pour MBR (DOS), sans le préfixe « 0x », une chaîne de GUID pour GPT ou un raccourci :

L
Linux ; signifie 83 pour MBR et 0FC63DAF-8483-4772-8E79-3D69D8477DE4 pour GPT.
S
zone d'échange (swap) ; signifie 82 pour MBR et 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F pour GPT.
E
partition étendue ; signifie 5 pour MBR.
H
partition personnelle ; signifie 933AC7E1-2EB4-4F13-B844-0E14E2AEF915 pour GPT.
X
partition étendue Linux ; signifie 85 pour MBR.
U
partition de système EFI ; signifie EF pour MBR et C12A7328-F81F-11D2-BA4B-00A0C93EC93B pour GPT.
R
Linux RAID ; signifie FD pour MBR et A19D880F-05FC-4D3B-A006-743F0F84911E pour GPT.
V
LVM ; signifie 8E pour MBR et E6D6D379-F507-44C2-A23C-238F2A3DF928 pour GPT

La valeur type par défaut est L

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 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. La position peut être suivie des suffixes multiplicateurs (KiB, MiB, GiB, TiB, PiB, EiB, ZiB et YiB), dans ce cas 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.
attrs=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 ou un GUID pour une partition GPT. 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.

Utiliser l’option --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

Pour une sauvegarde (binaire) complète de tous les secteurs où la table de partitions est gardée, utilisez l’option --backup. Cela é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. Remarquez que le même concept de fichiers de sauvegarde est utilisé par wipefs(8). Par exemple :

sfdisk --backup /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

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 coloration implicite peut être désactivée par un fichier /etc/terminal-colors.d/sfdisk.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 sfdisk sont les suivantes.

header
L’en-tête des tables en sortie.
warn
Les messages d'avertissement.
welcome
Le message de bienvenue.

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.

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
Activer la sortie de débogage de libblkid.
LIBSMARTCOLS_DEBUG=all
Activer la sortie de débogage de libsmartcols.

VOIR AUSSI

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

AUTEUR

Karel Zak <kzak@redhat.com>

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

DISPONIBILITÉ

La commande sfdisk fait partie du paquet util-linux, elle est disponible sur <https://www.kernel.org/pub/linux/utils/util-linux/>.

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <ccb@club-internet.fr>, Michel Quercia <quercia AT cal DOT enst DOT fr>, Thierry Vignaud <tvignaud@mandriva.com>, Frédéric Delanoy <delanoy_f@yahoo.com>, Thierry Vignaud <tvignaud@mandriva.com>, Christophe Sauthier <christophe@sauthier.com>, Sébastien Blanchet, Jérôme Perzyna <jperzyna@yahoo.fr>, Aymeric Nys <aymeric AT nnx POINT com>, Alain Portal <aportal@univ-montp2.fr>, Thomas Huriaux <thomas.huriaux@gmail.com>, Yves Rütschlé <l10n@rutschle.net>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Philippe Piette <foudre-blanche@skynet.be>, Jean-Baka Domelevo-Entfellner <domelevo@gmail.com>, Nicolas Haller <nicolas@boiteameuh.org>, Sylvain Archenault <sylvain.archenault@laposte.net>, Valéry Perrin <valery.perrin.debian@free.fr>, Jade Alglave <jade.alglave@ens-lyon.org>, Nicolas François <nicolas.francois@centraliens.net>, Alexandre Kuoch <alex.kuoch@gmail.com>, Lyes Zemmouche <iliaas@hotmail.fr>, Florentin Duneau <fduneau@gmail.com>, Alexandre Normand <aj.normand@free.fr>, David Prévot <david@tilapin.org> et Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

Juin 2015 util-linux