Provided by: manpages-fr_1.67.0-1_all bug

NOM

       sfdisk - Manipulateur 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,  lister  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.

   Lister les tailles
       sfdisk -s partition donne la taille de la partition en blocs. Ceci peut
       être  utile avec des programmes comme mkswap ou d’autres du même genre.
       Ici, partition est en général  quelque  chose  du  style  /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 listera 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
              %

   Lister les partitions
       Le  deuxième  type  d’invocation :  sfdisk  -l  [options]  priphrique
       listera les partitions de ce périphérique. Si  l’argument  périphérique
       est omis, les partitions de tous les disques durs sont listées.

       % sfdisk -l /dev/hdc

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

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

       Les  signes  - et + de queue 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 listing avec des secteurs comme unité.

   Vérifier les partitions
       Le  troisième  type  d’invocation :  sfdisk  -V priphrique effectuera
       différents  tests  de  cohérence  sur  la  table  des   partitions   du
       priphrique.   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  priphrique  qui  renvoie  uniquement  une  valeur  de  retour (de
       statut).

   Créer des partitions
       Le quatrième type d’invocation :  sfdisk  priphrique  fera  lire  par
       sfdisk  les  spécifications du partitionnement désiré de priphrique à
       partir de son entrée standard, et lui fera ensuite  modifier  la  table
       des  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 avortera pour
       n’importe quelle 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 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  des
       partitions :  une  version  lisible  de l’ancienne table des 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  des 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
              identificateurs).

       -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  du(des)
              disque(s) indiqué(s).

       -l ou --list
              Lister les partitions d’un périphérique.

       -d     Produire   les  partitions  d’un  périphérique  dans  un  format
              convenant comme entrée pour sfdisk.
              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 au dessus.)

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

       -N numro
              Ne modifier que la seule partition indiquée par numro.
              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
              p.ex.  « /mon_équipement/disques/2/5 »  ou  quelque   chose   du
              genre).

       -Anumro(s)
              Rend  la(les)  partition(s) indiquée(s) active(s), et toutes les
              autres inactives.

       -c ou --id numro [Id]
              Si aucun argument ID n’est donné, afficher  l’identificateur  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.  Exemple :

                  % sfdisk --print-id /dev/hdb 5
                  6
                  % sfdisk --change-id /dev/hdb 5 83
                  OK

              dit d’abord que /dev/hdb5 possède l’Id 6, et le remplace ensuite
              par 83.

       -uS ou -uB ou -uC ou -uM
              Accepte  ou  rapporte  en  unités de secteurs (blocs, cylindres,
              mégaoctets respectivement). L’unité par défaut est le  cylindre,
              du moins quand la géométrie est connue.

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

       -C cylindres
              Spécifier le nombre de cylindres, en le substituant à l’avis  du
              noyau.

       -H ttes
              Spécifier  le  nombre  de  têtes,  en le substituant à l’avis du
              noyau.

       -S secteurs
              Spécifier le nombre de secteurs, en le substituant à  l’avis  du
              noyau.

       -f ou --force
              Faire ce que vous dites, 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,
              p.ex.  parce  qu’il  est  occupé par le MBR (Master Boot Record,
              secteur  d’amorçage  principal)  du  périphérique,  ou  si  elle
              contient  la table des 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  p.ex.  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  des  partitions de la même manière. Bien
              sûr, on ne peut savoir où se situent les  limites  de  cylindres
              que  lorsque  l’on  sait  quelle géométrie DOS utilisera pour ce
              disque.)

       --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  tables  des  partitions).  Ceci  peut être utile pour
              vérifier à l’avance que le BLKRRPART  final  se  terminera  avec
              succès, et également quand vous modifiez la table des partitions
              « à la main » (p.ex. en utilisant dd à partir d’une sauvegarde).
              Si   le   noyau   se   plaint  (« 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.

       --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 a échoué)

       -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
              le drapeau -O.

THÉORIE

       Le bloc 0 d’un disque (le Master Boot  Record)  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, 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 (disons > 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, c.-à-d. son « Id », et si  ce  type  est  5
       ou f  (« partition  tendue »),  le  secteur  de  début de la partition
       contient également 4 descripteurs de partition. MSDOS n’utilise que les
       deux premières : la première comme partition des données réelles, et la
       seconde 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 - ceci 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 MBR). Notez que sur une partition étendue, seuls l’Id 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. On  ne  devrait  pas  essayer
       d’utiliser  des partitions étendues pour le stockage de données ou pour
       une partition d’échange.

FORMAT DENTRÉE
       sfdisk lit des lignes de la forme

              <début> <taille> <id> <bootable> <c,t,s> <c,t,s>

       où chaque ligne correspond à 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  finals  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 spécifiée par les drapeaux -H, -S
       et -C.

       Bootable (amorçable) est spécifié par [*|-] (non bootable par  défaut).
       La  valeur  de  ce  champ n’a pas d’importance pour Linux - quand Linux
       tourne, 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 bootable.

       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’inté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.

EXEMPLE

       La commande

              sfdisk /dev/hdc << EOF
              0,407
              ,407
              ;
              ;
              EOF

       partitionnera /dev/hdc comme indiqué ci-dessus.

       Avec l’option -x, le nombre de lignes d’entrée doit  être  un  multiple
       de 4 :  vous  devez lister 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 DOS 6.x

       La  commande  DOS  6.x  FORMAT  recherche certaines informations sur le
       premier secteur de la zone de  données  de  la  partition,  et  suppose
       qu’elles  sont  plus  fiables  que  celles  contenues dans la table des
       partitions. Le FORMAT DOS suppose que FDISK DOS efface les 512 premiers
       octets  de  la  zone  de  données  de  la partition à chaque fois qu’un
       changement de taille se produit. FORMAT DOS regardera cette information
       additionnelle  même si le drapeau /U est fourni -- nous considérons que
       c’est un bogue dans les FORMAT et FDISK DOS.

       Si vous utilisez sfdisk pour modifier la taille d’une entrée DOS de  la
       table  des  partitions,  alors  vous  devrez également utiliser dd pour
       mettre à  zéro  les  512  premiers  octets  de  cette  partition  avant
       d’utiliser  FORMAT  DOS  pour formater cette partition. Par exemple, si
       vous avez utilisé sfdisk pour créer une entrée DOS dans  la  table  des
       partitions  pour  /dev/hda1,  alors (après la sortie de sfdisk et après
       avoir redémarré Linux afin  que  les  informations  sur  la  table  des
       partitions  soient  valides)  vous  devriez  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 EXTRÊMEMENT PRUDENT si vous
       utilisez la commande dd, car une petite faute  de  frappe  peut  rendre
       toutes les données de votre disque inutilisables.

       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
       DOS, et des partitions Linux avec le programme Linux sfdisk.

AVERTISSEMENTS DRDOS

       Stephen Tweedie rapporta (15/05/1993) : « La plupart  des  rapports  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:  « On  a  rapporté  des
       problèmes  de  coopération  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’ID de partition de 80  ou  plus.
       Le  fdisk  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 listé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

       Une interface interactive correspondant à cfdisk  (avec  une  interface
       curses) manque toujours.

       Il y a trop d’options.

       Il n’y a pas de support pour les types de partitions non-DOS.

AUTEUR

       A. E. Brouwer (aeb@cwi.nl)

VOIR AUSSI

       cfdisk(8), fdisk(8), parted(8)

TRADUCTION

       Frédéric Delanoy <delanoy_f at yahoo.com>, 2002.