Provided by: manpages-fr-extra_20111118_all bug

NOM

       sfdisk - Manipulateur de tables de partitions pour Linux

SYNOPSIS

       sfdisk [options] ©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 les tables  de  partitions  GUID  (GPT :  « GUID
       Partition  Table »)  et  n'est pas conçu pour les partitions de grandes
       tailles. Pour ces cas particuliers, 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 ou d'autres du mĂŞme  genre.
       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  [options]  ©riphĂ©rique
       affichera les partitions de ce périphérique. 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  (grande).  Pour  voir  les
       valeurs exactes, demandez un affichage avec le secteur comme unité.

   VĂ©rifier les partitions
       Le  troisième  type  d'invocation :  sfdisk  -V ©riphĂ©rique effectuera
       différents  tests  de  cohérence  sur  la  table   de   partitions   du
       ©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
       ©riphĂ©rique qui ne renvoie qu'une valeur de retour (d'Ă©tat).

   Créer des partitions
       Le  quatrième  type  d'invocation :  sfdisk  ©riphĂ©rique fera lire par
       sfdisk les spĂ©cifications du partitionnement dĂ©sirĂ© de  ©riphĂ©rique  Ă 
       partir de son 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 vos 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 ou --version
              Afficher  le  numéro  de  version  de  sfdisk  et  se   terminer
              immédiatement.

       -? ou --help
              Afficher un message d'utilisation et se terminer immédiatement.

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

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

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

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

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

       -d     Produire  les  partitions  d'un  périphérique  dans  un   format
              utilisable comme 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 ou --verify
              Tester si les partitions semblent correctes (voyez ci-dessus).

       -i ou --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 numéro
              Rendre les partitions indiquées actives, et  toutes  les  autres
              inactives.

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

       -uS ou -uB ou -uC ou -uM
              Choisir l'unité : respectivement  secteur,  bloc,  cylindre,  ou
              mégaoctet. L'unité par défaut est le cylindre, du moins quand la
              géométrie est connue.

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

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

       -H Ştes
              Indiquer le nombre de tĂŞtes,  en  le  substituant  Ă   l'avis  du
              noyau.

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

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

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

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

       -D ou --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 ou --DOS-extended
              Considérer  que  les  numéros  des  secteurs  de  démarrage  des
              partitions étendues « internes » sont relatifs à  la  limite  du
              cylindre débutant la partition externe, (comme le font certaines
              versions du DOS), plutôt que relatifs au  secteur  de  démarrage
              (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 ou --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     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).

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

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