Mise à jour : Debian Buster 10.0
Ce document présente l'utilisation des outils de partitionnement: fdisk, sfdiskSommaire
Le partitionnement a pour effet de créer ou modifier la table de partition et son contenu, il ne modifie pas le contenu des partitions.
Mais l'écrasement ou la modification malheureuse de la table de partition a pour effet de rendre inaccessible l'accès aux données. Il est donc fortement recommandé avant toute opération portant sur la table de partition :
de sauvegarder les données
d'identifier correctement les unités de disque ou les partitions à modifier
Dans ce qui suit, le périphérique de stockage est supposé être une clé USB ayant pour identifiant /dev/sdb
$ man fdisk
$ man sfdisk
$ sudo fdisk -V
fdisk de util-linux 2.33.1
...
$ sudo fdisk -h
$ sudo sfdisk -h
Lancer fdisk pour entrer en mode interactif
$ sudo fdisk /dev/sdb
Bienvenue dans fdisk (util-linux 2.25.2).
Les modifications resteront en mémoire jusqu'à écriture.
Soyez prudent avant d'utiliser la commande d'écriture.
Le périphérique ne contient pas de table de partitions reconnue.
Created a new DOS disklabel with disk identifier 0x4cfadf77.
Commande (m pour l'aide) :
Taper m pour l'aide :
Aide :
...
Générique
d supprimer la partition
l afficher les types de partitions connues
n ajouter une nouvelle partition
p afficher la table de partitions
t modifier le type d'une partition
v vérifier la table de partitions
Autre
p m afficher ce menu
u modifier les unités d'affichage et de saisie
x fonctions avancées (réservées aux spécialistes)
Sauvegarder et quitter
w écrire la table sur le disque et quitter
q quitter sans enregistrer les modifications
Créer une nouvelle étiquette
g créer une nouvelle table vide de partitions GPT
G créer une nouvelle table vide de partitions SGI (IRIX)
o créer une nouvelle table vide de partitions DOSl
s créer une nouvelle table vide de partitions Sun
Cela supprime la table de partition éventuellement existante, mais ne supprime pas les données sur le disque; Si l'on rétablit la table de partition, les données restent accessibles comme auparavent.
Après avoir créé la table de partition, comme indiqué ci-dessus :
Taper n pour créer une nouvelle partition
Taper p (ou Entrée - choix par défaut) pour créer une partition primaire
Taper 1 (ou Entrée - choix par défaut) pour créer la première partition
Taper 2048 (ou Entrée - choix par défaut) pour définir le premier secteur
Taper la valeur du dernier secteur (ou Entrée - choix par défaut) pour que la partition occupe toute la clé
Par défaut la partition est créée avec le type de partition Linux 83 ( ext) :
Une nouvelle partition 1 de type « Linux » et de taille 1,9 GiB a été créée.
Pour modifier le type de partition, taper t,
puis taper L pour afficher tous les codes :
Commande (m pour l'aide) : t
Partition 1 sélectionnée
Code Hexa (taper L pour afficher tous les codes) :L
0 Vide 24 NEC DOS 81 Minix / Linux a bf Solaris
1 FAT12 27 TFS WinRE masqu 82 partition d'éch c1 DRDOS/sec (FAT-
2 root XENIX 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
......
Code Hexa (taper L pour afficher tous les codes) :
puis saisir, en hexadécimal, le type souhaité, par exemple
b pour FAT32
86 pour NTFS
82 pour Linux swap / Solaris (partition d'échange)
83 pour Linux ext (valeur par défaut)
Taper p (table de partition) pour résumer les modifications demandées
Commande (m pour l'aide) : p
Disque /dev/sdb : 1,9 GiB, 2013265920 octets, 3932160 secteurs
....
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 3932159 3930112 1,9G 87 NTFS volume set
Et si le résultat correspond aux attentes, taper w (write) pour faire prendre en compte les modifications et sortir du programme
Commande (m pour l'aide) : w
La table de partitions a été altérée.
Appel d'ioctl() pour relire la table de partitions.
Synchronisation des disques.
$ sudo fdisk -l /dev/sdb
......
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 3932159 3930112 1,9G 83 Linux
A noter que l'indication du type de partition qui apparaît (Linux dans l'exemple ci-dessus) n'indique pas que celle-ci a été effectivement formatée.
$ sudo lsblk -f /dev/sdb
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb
└─sdb1
Par rapport aux autres outils de partitionnement, sfdisk
L'unité par défaut de sfdisk est le secteur. Les puissances de 2 sont également disponibles : MiB ou M, GiB ou G, etc....
$ echo 'start=1GiB size=8GiB' |sudo sfdisk /dev/sdb # ou bien
$ echo '1G,8G'|sudo sfdisk /dev/sdb
$ echo 'start=2GiB size=4GiB' |sudo sfdisk /dev/sdb -N1 # ou bien
$ echo '2G,4G'|sudo sfdisk /dev/sdb -N1
$ echo 'size=3G' |sudo sfdisk /dev/sdb -N1
$ echo ',3G'|sudo sfdisk /dev/sdb -N1
$ echo 'start=9GiB' |sudo sfdisk /dev/sdb -a # ou bien
$ echo '9G,'|sudo sfdisk /dev/sdb -a
Lorsqu'un paramètre start ou size est omis, lors d'une création de partition, start est la première position possible, size est la plus grande possible jusqu'à la prochaine partition ou fin du disque.
Par défaut, le type de partition est linux et les partitions sont sans nom
Dans le cas de la notation abrégée, il n'est pas possible de définir le nom.
Pour définir le type de partition, utiliser le champ après les champs start et size et utiliser soit l'abréviation L(inux) S(wap)U(efi), ... soit l'identifiant UUID.
$ echo ',,U'|sudo sfdisk /dev/sdb -N1
Définir le nom avec name=<Nom_partition> et le type avec type=>Code_type>
Le code du type est nécessairement son identifiant UUID
Linux 0FC63DAF-8483-4772-8E79-3D69D8477DE4 pour GPT # ou 83 pour MBR
Swap 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F pour GPT # ou 82 pour MBR
Uefi C12A7328-F81F-11D2-BA4B-00A0C93EC93B pour GPT # ou EF pour MBR
$ echo 'name=ESP type=C12A7328-F81F-11D2-BA4B-00A0C93EC93B' |sudo sfdisk /dev/sdb -N1
$ sudo sfdisk /dev/sdb -l
$ sudo sfdisk /dev/sdb --delete 1
$ echo 'label: gpt'|sudo sfdisk /dev/sdb