NOM
fdisk - Gestionnaire de tables de partitions pour Linux
SYNOPSIS
fdisk [-u] [-b taille_du_secteur] [-C cyls] [-H ttes] [-S sects]
priprique
fdisk -l [-u] [priphrique...]
fdisk -s partition...
fdisk -v
Les disques durs peuvent être divisés en un ou plusieurs disques
logiques appelés partitions. Cette division est décrite dans la table
des partitions qui se trouve sur le secteur 0 du disque.
Chez BSD, on parle de tranches de disque (« disk slices ») et
d’étiquettes de disque (« disklabel »).
Linux a besoin d’au moins une partition, en particulier pour la racine
de son système de fichiers. Il peut utiliser des fichiers et/ou des
partitions de swap, mais ces dernières sont plus efficaces. C’est
pourquoi l’on dédie en général une seconde partition Linux au swap. Sur
le matériel compatible Intel, le BIOS qui démarre le système ne peut
souvent accéder qu’aux 1024 premiers cylindres du disque. Pour cette
raison, les personnes possédant des disques volumineux créent souvent
une troisième partition, d’à peine quelques Mo de large, montée
typiquement en /boot, pour y conserver l’image du noyau et quelques
fichiers auxiliaires nécessaires au démarrage, afin de s’assurer que ce
matériel soit accessible depuis le BIOS. Pour diverses raisons de
sécurité, de facilité d’administration et de sauvegarde, ou de tests,
on peut avoir besoin d’utiliser plus que le nombre minimal de
partitions.
La première manière de lancer fdisk se fait via un programme piloté par
un menu qui permet la création et la manipulation des tables de
partitions, y compris les tables de partitions de type DOS, et les
étiquettes de disques BSD ou SUN.
fdisk 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é.
Le @DEV est habituellement /dev/sda, /dev/sdB ou équivalent. Un nom de
@DEV fait référence au disque entier. Les vieux systèmes sans libata
(une @LIB utilisé dans le noyau Linux pour gérer les contrôleur et les
@DEVS ATA) font une différence entre les disques IDE et SCSI. Dans un
tel cas, le nom de @DEV sera /dev/hd* (IDE) ou /dev/sda (SCSI).
La partition est un nom de priphrique suivi d’un numéro de partition.
Par exemple, /dev/sda1 est la première partition du premier disque dur
du système. Consultez également Documentation/devices.txt.
Une étiquette de disque de type BSD/SUN peut décrire 8 partitions, dont
la troisième devrait être une partition de « disque entier ». Ne faites
pas démarrer de partition utilisant réellement son premier secteur sur
le cylindre 0 (comme une partition d’échange), car cela détruirait
l’étiquette du disque.
Une étiquette de disque de type IRIX/SGI peut décrire 16 partitions,
dont la onzième devrait être une partition entière de « volume », alors
que la neuvième devrait être un « en-tête de volume ». L’en-tête de
volume couvre également la table des partitions, c.-à-d. qu’il débute
au bloc zéro et s’étend par défaut sur 5 cylindres. L’espace restant
dans l’en-tête de volume peut être utilisé par les répertoires
d’en-tête. Aucune partition ne peut empiéter sur l’en-tête de volume.
Ne modifiez pas son type ni ne créez de système de fichiers dessus, car
vous perdriez alors la table des partitions. N’utilisez ce type
d’étiquette que lorsque vous travaillez sur des machines IRIX/SGI ou
avec des disques IRIX/SGI sous Linux.
Une table de partitions de type DOS peut décrire un nombre illimité de
partitions. Dans le secteur 0, il y a de la place pour décrire 4
partitions (appelées « primaires »). L’une d’entre elles peut être une
partition étendue ; c’est une sorte de boîte contenant des partitions
logiques, dont les descripteurs se trouvent dans une liste chaînée de
secteurs, chacun précédant les partitions logiques correspondantes. Les
quatre partitions primaires, présentes ou pas, portent les numéros 1-4.
Les partitions logiques sont numérotées à partir de 5.
Dans une table de partitions de type DOS, le décalage de départ et la
taille de chaque partition sont conservés de deux façons : comme un
nombre absolu de secteurs (sur 32 bits), ou comme un triplet
Cylindres/Têtes/Secteurs (sur 10+8+6 bits). La première manière
fonctionne bien - avec des secteurs de 512 octets, cela marchera
jusqu’à 2 To. La seconde possibilité souffre de deux problèmes
différents. Tout d’abord, ces champs C/T/S ne peuvent être remplis
lorsque l’on connaît le nombre de têtes et le nombre de secteurs par
piste. Par ailleurs, même si l’on connaissait ces nombres, les 24 bits
qui sont disponibles ne suffiraient pas. DOS utilise uniquement C/T/S,
Windows utilise les deux, Linux n’utilise jamais C/T/S.
Si c’est possible, fdisk déterminera automatiquement la géométrie du
disque. Ce n’est pas nécessairement la géométrie physique du disque (en
effet, les disques modernes ne possèdent pas à proprement parler quoi
que ce soit pouvant être assimilé à une géométrie physique, et encore
moins quelque chose pouvant être décrit par la forme simpliste
Cylindres/Têtes/Secteurs), mais c’est la géométrie de disque qu’utilise
MS-DOS pour la table des partitions.
D’habitude, tout se passe bien par défaut, et il n’y a aucun problème
si Linux est le seul système sur le disque. Néanmoins, si le disque
doit être partagé avec d’autres systèmes d’exploitation, c’est en
général une bonne idée de créer au moins une autre partition avec un
fdisk d’un autre système d’exploitation. Quand Linux démarre, il
examine la table des partitions, et essaie de déduire quelle est la
géométrie factice dont on a besoin pour une bonne coopération avec les
autres systèmes.
Chaque fois qu’une table des partitions est écrite, on effectue un test
de cohérence sur les entrées de la table des partitions.Ce test vérifie
que les débuts et fins physiques et logiques sont identiques, et que la
partition commence et se termine sur une limite de cylindre (sauf pour
la première partition).
Certaines versions de MS-DOS créent une première partition qui ne
commence pas sur une limite de cylindre, mais sur le secteur 2 du
premier cylindre. Les partitions commençant au cylindre 1 ne peuvent
débuter sur une limite de cylindre, mais il est peu probable que cela
pose problème à moins que vous n’ayez également OS/2 sur votre machine.
Un sync() et un ioctl() BLKRRPART (relire la table des partitions à
partir du disque) sont exécutés avant la sortie quand la table des
partitions a été mise à jour. Il y a longtemps, il était nécessaire de
redémarrer après utilisation de fdisk. Je ne crois pas que cela soit
encore le cas - en effet, redémarrer trop rapidement pourrait causer la
perte de données qui ne seraient pas encore écrites sur le disque.
Notez que le noyau et le disque peuvent tous deux placer des données
dans la mémoire tampon.
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.
La ligne du bas signifie que si vous utilisez cfdisk ou fdisk 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 le FORMAT DOS pour formater
cette partition. Par exemple, si vous avez utilisé cfdisk pour créer
une entrée DOS dans la table des partitions pour /dev/sda1, alors
(après la sortie de fdisk ou de cfdisk et après avoir redémarré Linux
afin que les informations sur la table des partitions soient valables)
vous devriez utiliser la commande « dd if=/dev/zero of=/dev/sda1 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.
De façon à obtenir de meilleurs résultats, vous devriez toujours
utiliser un programme de table de partition spécifique au système
d’exploitation. Par exemple, vous devriez créer des partitions DOS avec
le programme DOS FDISK et des partitions Linux avec le programme Linux
fdisk ou le programme Linux cfdisk.
OPTIONS
-b taille_du_secteur
Spécifier la taille des secteurs du disque. Les valeurs valables
sont 512, 1024, 2048 et 4096 (les noyaux récents connaissent la
taille de secteur. N’utilisez cette option que sur des noyaux
anciens ou pour passer outre l’avis du noyau).
-C cylindres
Spécifier le nombre de cylindres du disque. Je ne vois pas à
quoi cela peut servir.
-H ttes
Indique le nombre de têtes du disque. (Pas le nombre physique,
bien sûr, mais celui utilisé pour la table de partitions.)
Valeurs raisonnables : 255 et 16.
-S secteurs
Spécifier le nombre de secteurs par piste du disque. (Pas le
nombre physique,bien sûr, mais celui utilisé pour la table de
partitions.) 63 est une valeur raisonnable.
-l Lister les tables de partitions des périphériques spécifiés puis
se terminer. Si aucun périphérique n’est fourni, ceux mentionnés
dans /proc/partitions (si ce fichier existe) sont utilisés.
-u Lors que l’on liste les tables de partitions, donner les tailles
en secteurs plutôt qu’en cylindres.
-s partition
La taille de la partition (en blocs) est affichée sur la sortie
standard.
-v Afficher le numéro de version de fdisk et se terminer
normalement.
BOGUES
Il existe plusieurs programmes *fdisk. Chacun a ses points forts et ses
points faibles. Essayez-les dans l’ordre cfdisk, fdisk et sfdisk. (En
effet, cfdisk est un beau programme qui a des exigences strictes quant
aux tables de partitions qu’il accepte, et qui produit des tables de
partitions de haute qualité. Utilisez-le si vous le pouvez. fdisk est
un programme bugué qui fait des choses assez floues - d’habitude, il
arrive à produire des résultats raisonnables. Son seul avantage est
qu’il fonctionne sur les étiquettes de disque BSD, et d’autres tables
de partitions non DOS. Évitez-le si vous le pouvez. sfdisk est destiné
uniquement aux hackers - l’interface utilisateur est rebutante, mais il
fonctionne mieux que fdisk et est plus puissant que cfdisk. De plus, il
peut être utilisé de façon non interactive.)
L’option parted existe depuis peu. L’interface pour cfdisk est plus
agréable, mais cette option fait bien plus: elle permet non seulement
de redimensionner les partitions, mais également les systèmes de
fichiers au sein de celles-ci.
Le noyau ne sait actuellement pas traiter les étiquettes de disque de
type IRIX/SGI,et ne sait que partiellement traiter les répertoires
d’en-tête IRIX/SGI.
Il manque l’option « écrire la table des partitions dans un fichier ».
VOIR AUSSI
cfdisk(8), sfdisk(8), mkfs(8), parted(8), partprobe(8), kpartx(8)
DISPONIBILITÉ
La commande fdisk 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 <delanoy_f AT
yahoo DOT com> en 2002 et mise à jour par Christophe Blaess en 2003.
La version présente dans Debian est maintenue par Jade Alglave <jade
DOT alglave AT ens-lyon DOT org> et 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.