Provided by: manpages-fr-extra_20111118_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, 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] pé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 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 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 tê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.