Loading

NOM

       sfdisk - Manipulateur de tables de partitions pour Linux.

SYNOPSIS

       sfdisk [options] priphrique
       sfdisk -s [partition]

       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.

       sfdisk doesn’t understand GUID Partition Table  (GPT)  and  it  is  not
       designed for large partitions. In particular case use more advanced GNU
       parted(8).

   Lister les tailles
       sfdisk -s partition gives the size of partition in blocks. This may  be
       useful  in  connection  with  programs  like  mkswap(8)   or  so.  Here
       partition is usually something like /dev/hda1 or  /dev/sdb12,  but  may
       also be an entire disk, like /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 blocks
              %

   Lister les partitions
       The second type of invocation: sfdisk -l [options] device will list the
       partitions  on  this  device.   If  the device argument is omitted, the
       partitions on all hard disks are listed.
       % sfdisk -l /dev/hdc

       Disque /dev/hdc: 2045 cylindres, 16 têtes, 63 secteurs
       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 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 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  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
              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  du(des)
              disque(s) indiqué(s).

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

       -l ou --list
              Lister 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 numro
              Ne  modifier  que  la  seule  partition indiquée par numro. 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 numro
              Rendre la(les) partition(s) indiquée(s) active(s), et toutes les
              autres inactives.

       -c ou --id numro [Id]
              Si  aucun  paramètre  Id  n’est donné, 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
              Accepter  ou  rapporter  en  unités  de  secteurs   (ou   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,
              pare exemple 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 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 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 table  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 »  (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 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 or 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 (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,  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 - 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> <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 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.

       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 swap 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 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 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  des  partitions.  La  commande  DOS FORMAT s’attend à ce que DOS
       FDISK 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 DOS FORMAT recherchera cette information  supplémentaire  même
       si l’indicateur /U est indiqué - nous considérons que ceci est un bogue
       des commandes DOS FORMAT et DOS FDISK.

       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

       Il y a trop d’options.

       Il n’y a pas de support pour les 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-ng,  elle  est
       disponible sur ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.

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.