Provided by: manpages-fr-extra_20140201_all bug

NOM

       sfdisk - Gestionnaire de tables de partitions pour Linux

SYNOPSIS

       sfdisk [options] périphérique
       sfdisk -s [partition]

DESCRIPTION

       sfdisk  a  quatre  (principales) utilisations : donner la taille d'une partition, afficher
       les partitions d'un périphérique, vérifier les  partitions  d'un  périphérique  et  — très
       dangereux — repartitionner un périphérique.

       sfdisk  ne  comprend  pas  le  format  de table de partitions GUID (GPT : « GUID Partition
       Table ») et n'est pas conçu pour les partitions de grandes tailles. Pour ces cas  utilisez
       GNU parted(8) qui est plus avancé.

   Afficher les tailles
       sfdisk  -s  partition  donne la taille de la partition en blocs. Cela peut être utile avec
       des programmes comme  mkswap(8).  Ici,  partition  est  en  général  quelque  chose  comme
       /dev/hda1 ou /dev/sdb12, mais peut également être un disque entier, comme /dev/xda.

              % sfdisk -s /dev/hda9
              81599

       Si  l'argument  partition  est omis, sfdisk affichera la taille de tous les disques, et le
       total :

              % sfdisk -s
              /dev/hda: 208896
              /dev/hdb: 1025136
              /dev/hdc: 1031063
              /dev/sda: 8877895
              /dev/sdb: 1758927
              total : 12901917 blocs

   Afficher les partitions
       Le deuxième type  d'invocation :  sfdisk  -l  périphérique  affichera  les  partitions  du
       périphérique  indiqué.  Si  l'argument  périphérique  est omis, les partitions de tous les
       disques durs sont affichées.

              % sfdisk -l /dev/hdc

              Disque /dev/hdc : 2045 cylindres, 16 têtes, 63 secteurs/piste
              Unités = cylindres de 516096 octets, blocs de 1024 octets, décompte à partir de 0

                 Périph Amor Début     Fin   #cyls    #blocs     Id  Système
              /dev/hdc1          0+    406     407-    205096+   83  Linux
              /dev/hdc2        407     813     407     205128    83  Linux
              /dev/hdc3        814    2044    1231     620424    83  Linux
              /dev/hdc4          0      -        0          0     0  Vide

       Les signes - et + finaux indiquent qu'un arrondi a été effectué, et que la  valeur  réelle
       est  légèrement  plus  petite  ou  plus grande. Pour voir les valeurs exactes, demandez un
       affichage avec le secteur comme unité (-u S).

   Vérifier les partitions
       Le troisième type d'invocation : sfdisk -V périphérique  effectuera  différents  tests  de
       cohérence  sur la table de partitions du périphérique. Il affichera « OK » ou se plaindra.
       L'option -V peut être utilisée avec -l. Dans un script shell, on peut utiliser  sfdisk  -V
       -q périphérique qui ne renvoie qu'une valeur de retour (d'état).

   Créer des partitions
       Le   quatrième   type   d'invocation :  sfdisk  périphérique  fera  lire  par  sfdisk  les
       spécifications du partitionnement désiré de périphérique à partir de l'entrée standard, et
       lui  fera  ensuite  modifier  la table de partitions sur ce disque. Ainsi, il est possible
       d'utiliser sfdisk à partir d'un script  shell.  Quand  sfdisk  détermine  que  son  entrée
       standard est un terminal, il sera interactif ; sinon, il s'arrêtera à la première erreur.

       Soyez  extrêmement  prudent.  Une  faute  de  frappe  et  toutes  les données peuvent être
       perdues !

       Comme mesure de précaution, vous pouvez sauvegarder les secteurs modifiés par sfdisk :

              % sfdisk /dev/hdd -O hdd-partition-sectors.save
              ...

       Ensuite, si vous découvrez que vous avez fait quelque  chose  de  stupide  (avant  d'avoir
       écrit  quoi  que  ce  soit  d'autre  sur  le  disque),  il peut être possible de retrouver
       l'ancienne situation avec :

              % sfdisk /dev/hdd -I hdd-partition-sectors.save

       Ce n'est pas la même chose que de sauvegarder l'ancienne table de partitions : une version
       lisible de l'ancienne table de partitions peut être sauvée avec l'option -d. Néanmoins, si
       vous créez des partitions logiques, les secteurs les décrivant sont  situés  quelque  part
       sur  le  disque, éventuellement sur des secteurs qui ne faisaient pas partie de l'ancienne
       table de partitions. Par conséquent, les informations sauvées par l'option -O ne sont  pas
       une version binaire de la sortie de -d.

       Il y a beaucoup d'options.

OPTIONS

       -v, --version
              Afficher le numéro de version de sfdisk et quitter immédiatement.

       -h, --help
              Afficher un message d'utilisation et quitter immédiatement.

       -T, --list-types
              Afficher les types de systèmes de fichiers reconnus (les identifiants).

       -s, --show-size
              Afficher la taille d'une partition.

       -g, --show-geometry
              Afficher la façon dont le noyau conçoit la géométrie des disques indiqués.

       -G, --show-pt-geometry
              Afficher la géométrie des disques indiqués devinée par l'observation de la table de
              partitions

       -l, --list
              Afficher les partitions d'un périphérique.

       -d, --dump
              Produire les partitions d'un périphérique dans un format utilisable en entrée  pour
              sfdisk. Par exemple :
                  % sfdisk -d /dev/hda > hda.out
                  % sfdisk /dev/hda < hda.out
              corrigera la dernière mauvaise partition étendue que le fdisk OS/2 a créé.

       -V, --verify
              Tester   si   les  partitions  semblent  correctes  (consultez  le  troisième  type
              d'invocation ci-dessus).

       -i, --increment
              Numéroter les cylindres, etc. en commençant à partir de 1 au lieu de 0.

       -N numéro
              Ne modifier que l'unique partition indiquée par numéro. Par exemple :
                  % sfdisk /dev/hdb -N5
                  ,,,*
              rendra la cinquième partition de /dev/hdb amorçable  (« active »)  et  ne  changera
              rien d'autre (celle-ci sera probablement appelée /dev/hdb5, mais vous êtes libre de
              l'appeler autrement, comme par exemple « /mon_équipement/disques/2/5 »  ou  quelque
              chose du genre).

       -A, --activate numéro
              Rendre les partitions indiquées actives, et toutes les autres inactives.

       -c, --id numéro [Id]
              Si  aucun  paramètre  Id  n'est  fourni,  afficher l'identifiant de partition de la
              partition indiquée. S'il est présent,  remplacer  le  type  (Id)  de  la  partition
              indiquée  par  la  valeur fournie. Cette option a également les deux formes longues
              --print-id et --change-id. Par exemple :
                  % sfdisk --print-id /dev/hdb 5
                  6
                  % sfdisk --change-id /dev/hdb 5 83
                  OK
              indique d'abord que /dev/hdb5 possède l'Id 6, et le remplace ensuite par 83.

       -u, --unit lettre
              Interpréter l'entrée et montrer la sortie dans  l'unité  indiquée  par  lettre.  La
              lettre  peut  être  S, C, B ou M pour secteur, cylindre, bloc ou mégaoctet. L'unité
              par défaut est le cylindre, du moins quand la géométrie est connue.

       -x, --show-extended
              Afficher également les partitions étendues non primaires en sortie, ou en  attendre
              des descripteurs en entrée.

       -C, --cylinders cylindres
              Indiquer le nombre de cylindres, en le substituant à l'avis du noyau.

       -H, --heads têtes
              Indiquer le nombre de têtes, en le substituant à l'avis du noyau.

       -S, --sectors secteurs
              Indiquer le nombre de secteurs, en le substituant à l'avis du noyau.

       -f, --force
              Faire ce qui est demandé, même si c'est stupide.

       -q, --quiet
              Supprimer les messages d'avertissement.

       -L, --Linux
              Ne pas se plaindre de choses non pertinentes pour Linux.

       -D, --DOS
              Pour  la  compatibilité  DOS : gaspiller un petit espace. Plus précisément : si une
              partition ne peut contenir le secteur 0, par exemple parce qu'il est occupé par  le
              secteur  d'amorçage principal (MBR pour « Master Boot Record ») du périphérique, ou
              si elle contient la table de partitions d'une partition étendue,  alors  sfdisk  la
              fera  débuter  au  secteur  suivant.  Néanmoins, quand cette option est fournie, il
              passe toute la piste courante pour débuter à la piste suivante, en  gaspillant  par
              exemple  33 secteurs (s'il y a 34 secteurs/piste), comme le font certaines versions
              de DOS. Certains gestionnaires de disque et chargeurs  de  démarrage  (comme  OSBS,
              mais  pas  comme LILO ou le gestionnaire d'amorçage OS/2) vivent également dans cet
              espace vide, et vous pourriez donc avoir besoin d'utiliser  cette  option  si  vous
              utilisez l'un d'entre eux.

       -E, --DOS-extended
              Considérer   que   les  numéros  de  secteur  commençant  les  partitions  étendues
              « internes » sont relatifs à la limite du cylindre commençant la partition  externe
              (comme le font certaines versions du DOS), plutôt que relatifs au véritable secteur
              commençant (comme le fait Linux). Le fait qu'il y ait ici une  différence  signifie
              qu'il  faudrait  toujours laisser les partitions étendues débuter sur une limite de
              cylindre si DOS et Linux doivent interpréter la table  de  partitions  de  la  même
              manière. Bien sûr, les emplacements des limites de cylindres ne peuvent être connus
              que lorsque la géométrie DOS qui sera utilisée pour ce disque est connue.

       --IBM, --leave-last
              Certains programmes IBM de diagnostic supposent qu'ils peuvent utiliser le  dernier
              cylindre  d'un disque à des fins de tests de disque. Si vous pensez devoir utiliser
              de tels programmes, utilisez cette option pour dire à sfdisk qu'il ne  devrait  pas
              allouer  le  dernier  cylindre. Parfois, le dernier cylindre contient une table des
              secteurs défectueux.

       -n     Effectuer tout ce qu'il y a à faire, mais ne pas réellement écrire sur le disque.

       -R, --re-read
              Exécuter uniquement l'ioctl BLKRRPART (pour faire  relire  au  noyau  la  table  de
              partitions).  Cela  peut être utile pour vérifier à l'avance que le BLKRRPART final
              se terminera avec succès, et également quand vous modifiez la table  de  partitions
              « à  la main » (par exemple en utilisant dd à partir d'une sauvegarde). Si le noyau
              se  plaint  (« device  busy  for   revalidation   (usage   =   2) »,   c'est-à-dire
              « périphérique  occupé  pour  la  revalidation  (utilisation = 2) »), alors quelque
              chose utilise encore ce périphérique, et vous devrez démonter certains systèmes  de
              fichiers, ou désactiver certaines partitions d'échange avec swapoff.

       --no-reread
              Au  début  du repartitionnement d'un disque, sfdisk vérifie que ce disque n'est pas
              monté, ou n'est pas utilisé en  tant  que  périphérique  d'échange,  et  refuse  de
              continuer si c'est le cas. Cette option supprime le test (d'un autre côté, l'option
              -f forcerait sfdisk à continuer même si ce test échouait).

       --in-order
              Attention, consultez la section d'avertissement. À documenter.

       --not-in-order
              Attention, consultez la section d'avertissement. À documenter.

       --inside-outer
              Attention, consultez la section d'avertissement. Ordre d'enchaînement.

       --not-inside-outer
              Attention, consultez la section d'avertissement. Ordre d'enchaînement.

       --nested
              Attention, consultez la section d'avertissement. Chaque partition est contenue dans
              les partitions adjacentes et est distincte de toutes les autres.

       --chained
              Attention,  consultez  la  section d'avertissement. Chaque partition de données est
              contenue dans les partitions adjacentes et est distincte de toutes les autres, mais
              les  partitions  étendues  peuvent  résider  ailleurs  (dans  la mesure permise par
              all_logicals_inside_outermost_extended).

       --onesector
              Attention, consultez la section d'avertissement. Toutes les partitions  de  données
              sont  mutuellement  distinctes.  Les  partitions étendues n'utilisent qu'un secteur
              chacune (à part peut-être celle la plus à l'extrémité).

       -O fichier
              Juste avant d'écrire la nouvelle partition, sauvegarder les secteurs qui vont  être
              écrasés  dans fichier (il vaut mieux que fichier réside sur un autre disque, ou sur
              une disquette).

       -I fichier
              Après avoir détruit les systèmes de fichiers par une commande  sfdisk  malheureuse,
              vous  ne  pourrez  restaurer  l'ancienne  situation que si vous l'avez préservée au
              préalable en utilisant l'option -O.

THÉORIE

       Le bloc 0 d'un disque (le secteur  d'amorçage  principal)  contient  entre  autres  choses
       quatre  descripteurs  de  partition.  Les partitions décrites ici sont appelées partitions
       primaires.

       Un descripteur de partition comporte 6 champs :
              struct partition {
                  unsigned char bootable;        /* 0 ou 0x80 */
                  hsc begin_hsc;
                  unsigned char id;
                  hsc end_hsc;
                  unsigned int starting_sector;
                  unsigned int nr_of_sectors;
              }

       Les deux champs hsc indiquent la tête (« head »), le secteur et le cylindre du début et de
       la fin de la partition. Puisque chaque champ hsc ne prend que 3 octets, seuls 24 bits sont
       disponibles, ce qui ne suffit pas pour les gros disques (par exemple > 8 Go). En  fait,  à
       cause  du gaspillage dans la représentation (qui utilise un octet pour le nombre de têtes,
       alors qu'il est typiquement de 16), les problèmes commencent  déjà  à  partir  de  0,5 Go.
       Néanmoins,  Linux  n'utilise  pas  ces  champs, et les problèmes ne peuvent survenir qu'au
       moment de l'amorçage, avant que Linux ait été démarré. Pour plus de détails, consultez  la
       documentation de lilo.

       Chaque  partition a un type, son « Id », et si ce type est 5 ou f (« partition étendue »),
       le secteur de début de la partition  contiendra  également  4 descripteurs  de  partition.
       MSDOS n'utilise que les deux premiers : le premier comme partition des données réelles, et
       le second comme partition étendue (ou vide). De cette façon,  on  obtient  une  chaîne  de
       partitions   étendues.  D'autres  systèmes  d'exploitation  obéissent  à  des  conventions
       légèrement différentes. Linux accepte également le type 85 comme étant équivalent  à  5  —
       cela  peut  être  utile  si  vous voulez avoir des partitions étendues sous Linux après la
       limite des 1024 cylindres, sans plantage du FDISK  de  DOS  (à  moins  d'avoir  une  bonne
       raison, vous devriez utiliser 5, qui est compris par les autres systèmes).

       Les partitions qui ne sont ni primaires ni étendues sont appelées logiques. Souvent, on ne
       peut amorcer à partir de partitions logiques (car leur processus  de  recherche  est  plus
       compliqué  que  de simplement regarder le secteur d'amorçage principal). Notez que sur une
       partition étendue, seuls l'identifiant et le début  sont  utilisés.  Il  y  a  différentes
       conventions  concernant  ce qu'il y a lieu d'écrire dans les autres champs. Les partitions
       étendues ne devrait pas être utilisées pour le stockage de données ou pour  une  partition
       d'échange.

FORMAT D'ENTRÉE

       sfdisk lit des lignes de la forme
              <début> <taille> <id> <amorçable> <c,t,s> <c,t,s>
       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 ou vide,  une
       valeur par défaut est utilisée.

       Les parties <c,t,s> peuvent (et probablement devraient) être omises car sfdisk les calcule
       à partir de <début> et <taille>, et la géométrie du disque est donnée par le noyau ou  est
       indiquée par les options -H, -S et -C.

       Amorçable (« bootable ») est indiqué par [*|-] (non amorçable par défaut). La valeur de ce
       champ n'a pas d'importance 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. Par exemple, quand il y a plusieurs partitions DOS primaires, DOS
       affecte C: à la première d'entre elles qui est amorçable.

       Id  est  donné  en  hexadécimal,  sans  le  préfixe  0x,  ou sous la forme [E|S|L|X], où L
       (LINUX_NATIVE (83)) est utilisé par défaut, S est  LINUX_SWAP  (82)  (partition  d'échange
       Linux), E est EXTENDED_PARTITION (5) (partition étendue), et X est LINUX_EXTENDED (85).

       La valeur par défaut de début est le premier secteur/cylindre/... non affecté.

       La  valeur  par  défaut  de  taille  est  aussi  grande que possible (jusqu'à la partition
       suivante ou la fin du disque).

       Néanmoins, pour les quatre partitions à l'extérieur d'une partition étendue,  l'occupation
       par défaut est : partition Linux, partition étendue, vide, vide.

       Mais  quand  l'option  -N  est  fournie (modifier uniquement une partition), la valeur par
       défaut pour chaque champ est sa valeur précédente.

       Un + peut être indiqué à la place d'un nombre pour la taille, ce qui signifie  autant  que
       possible. C'est pratique avec l'option -N.

EXEMPLE

       La commande
              sfdisk /dev/hdc << EOF
              0,407
              ,407
              ;
              ;
              EOF
       partitionnera /dev/hdc comme indiqué ci-dessus.

       La commande
              sfdisk /dev/hdb << EOF
              ,3,L
              ,60,L
              ,19,S
              ,,E
              ,130,L
              ,130,L
              ,130,L
              ,,L
              EOF
       partitionnera  /dev/hdb en deux partitions Linux de 3 et 60 cylindres, un espace d'échange
       de 19 cylindres, et une partition étendue sur tout le reste de l'espace. À l'intérieur  de
       la partition étendue il y a quatre partitions logique Linux, trois de 130 cylindres et une
       sur l'espace restant.

       Avec l'option -x, le nombre de lignes d'entrée doit être  un  multiple  de  quatre :  vous
       devez  afficher  les deux partitions vides que vous ne voulez pas en utilisant deux lignes
       vides. Sans l'option -x, vous donnez une ligne pour les  partitions  à  l'intérieur  d'une
       partition  étendue, au lieu de quatre, et vous terminez par un caractère de fin de fichier
       (Ctrl-D) (et sfdisk supposera que la ligne d'entrée représente la première des quatre, que
       la deuxième est étendue, et que les troisième et quatrième sont vides).

AVERTISSEMENTS IMPORTANTS

       Les   options   désignées   avec   « Attention »   sont   dangereuses.  Par  exemple,  les
       fonctionnalités ne sont pas toutes complètement implémentées, ce qui peut être  la  source
       de résultats inattendus.

AVERTISSEMENT CONCERNANT DOS 6.x

       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'indicateur /U est indiqué  —  nous  considérons
       que c'est un bogue des commandes FORMAT et FDISK de DOS.

       Par  conséquent, si vous utilisez sfdisk pour modifier la taille d'une partition DOS, vous
       devez aussi utiliser dd 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é sfdisk pour créer une entrée de table de partitions pour /dev/hda1, vous
       devriez  alors  (après  la  sortie  de  sfdisk et après avoir redémarré Linux afin que les
       informations sur la table de  partitions  soient  correctes)  utiliser  la  commande  « dd
       if=/dev/zero  of=/dev/hda1  bs=512 count=1 » pour mettre à zéro les 512 premiers octets de
       la partition. Soyez très vigilant si vous utilisez la commande dd, car une simple faute de
       frappe dans la ligne de commande peut détruire toutes les données du disque.

       Pour  obtenir  les  meilleurs  résultats,  vous  devriez toujours utiliser un programme de
       partitionnement spécifique au système d'exploitation. Par exemple, vous devriez créer  des
       partitions  DOS  avec le programme FDISK de DOS, et des partitions Linux avec le programme
       sfdisk de Linux.

AVERTISSEMENTS DRDOS

       Stephen Tweedie a signalé (15/05/1993) : « La plupart des comptes-rendus de corruption  de
       superbloc  s'avèrent  être  dûs  à  un  mauvais partitionnement, où un système de fichiers
       écrase le début du suivant et corrompt son superbloc. J'ai même eu  ce  problème  avec  le
       prétendument  fiable  DRDOS.  C'était  probablement dû à la commande FDISK du DRDOS-6.0. À
       moins de créer une piste ou un cylindre vide entre la partition DRDOS et celle la  suivant
       immédiatement,  DRDOS  écrase  joyeusement  le  début  de la partition suivante. Remarquez
       qu'aussi longtemps que je garde un petit espace disque vide après toute  partition  DRDOS,
       je  n'ai  aucun  autre  problème  de  coexistence  entre  les  deux partitions sur le même
       disque. »

       A. V. Le Blanc a écrit  dans  README.efdisk :  « Des  problèmes  de  coopération  ont  été
       signalés  entre  Dr. DOS 5.0  et  6.0  et  Linux,  et  avec  cette  version  de  efdisk en
       particulier. Ce efdisk fixe le type de système de fichiers  à  81  (hexadécimal).  Dr. DOS
       semble le confondre avec le 1 hexadécimal, un code DOS. Si vous utilisez Dr. DOS, utilisez
       la commande « t » de efdisk pour remplacer  le  code  de  système  de  fichiers  de  toute
       partition Linux en un nombre plus petit que 80 en hexadécimal. Je suggère 41 et 42 pour le
       moment. »

       A. V. Le Blanc a écrit dans README.fdisk : « DR-DOS 5.0 et 6.0 ont  certaines  difficultés
       avec  les  codes  d'identifiant  de  partition  de  80  ou  plus.  Le  fdisk de Linux fixe
       habituellement le type des nouvelles partitions à 81  en  hexadécimal.  DR-DOS  semble  le
       confondre  avec  le 1 hexadécimal, un code DOS. Les valeurs 82 pour la partition d'échange
       et 83 pour les systèmes de fichiers ne devraient pas causer de problèmes avec DR-DOS. S'il
       y  en  a,  vous  pouvez utiliser la commande « t » du fdisk Linux pour modifier le code du
       système de fichiers  de  toute  partition  Linux  en  un  nombre  plus  petit  que  80  en
       hexadécimal. Je suggère 42 et 43 pour le moment. »

       En  fait,  il  semble que seuls 4 bits soient significatifs pour le FDISK de DRDOS. Ainsi,
       par exemple, 11 et 21 sont considérés  comme  étant  DOS 2.0.  Néanmoins,  DRDOS  lui-même
       semble utiliser l'octet complet. Je n'ai pas été capable de reproduire une corruption avec
       DRDOS ou avec son fdisk.

BOGUES

       Il y a trop d'options.

       Il n'y a pas de prise en charge des types de partitions non DOS.

VOIR AUSSI

       cfdisk(8), fdisk(8), mkfs(8), parted(8), partprobe(8), kpartx(8)

DISPONIBILITÉ

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

TRADUCTION

       Cette page de manuel a été traduite par Frédéric Delanoy en 2000. La version présente dans
       Debian est maintenue par 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.