Fdisk et Gfdisk (GPT Fdisk) sont des utilitaires en ligne de commandes qui permet de gérer les partitions de disques.
Il s’utilise donc depuis un terminal pour gérer et manipuler les partitions de disque et de périphériques de blocs.
On les trouve inclus dans la plupart des distributions telle que Debian, Ubuntu, Fedora, Mint, CentOS, etc.
Voici un tutoriel pour fdisk afin de pouvoir l’utiliser sur Linux pour créer, supprimer, redimensionner des partitions de disque.
Table des matières
Les différences entre fdisk et gfdisk
fdisk et gfdisk fonctionnent de la même manière.
Simplement fdisk ne prend pas en compte les partitions de disque avec une taille supérieure à 2 To.
Ainsi, utilisez fdisk pour les lecteurs <2 To et séparés ou gdisk pour le disque> 2 To.
La différence réelle a à voir avec les type et formats de partitionnement que ces outils manipulent.
Dans l’utilisation, il n’y a que très peu de différence.
Enfin vous pouvez aussi utiliser parted qui fonctionne de la même manière.
fdisk/gfdisk : Créer, supprimer, redimensionner des partitions de disque en ligne de commandes sur Linux
Rappel pour tout comprendre sur les nomenclatures, numéro de partition de disques, etc sur Linux, lire :
Lister les disques et partition de disque
fdisk permet très simplement de lister les disques et leurs partitions.
Pour cela, on utilise le paramètre -l :
fdisk -l
Enfin pour lister les partitions d’un disque en particulier par exemple /dev/sda :
fdisk -l /dev/sda
Il existe aussi la commande lsblk (list block devices) pour lister les disques de votre PC en lgien de commandes sur Linux.
Les commandes fdisk
Une fois que vous avez trouver le nom du périphérique du disque, on l’indique dans la commande fdisk pour travailler avec.
fdisk /dev/sdb
Les commandes et actions se font en saisissant une lettre.
Pour afficher la liste des lettre et commandes, appuyez sur m et validez.
Vous établissez vos modifications et vous les appliquez avec w, ce qui va écrire sur le nouveau partitionnement sur le disque.
Il faut donc bien valider que tout est correct avant de valider les modifications car après c’est trop tard.
Voici la liste des commandes de fdisk les plus utiles :
Lettre | Description |
d | supprimer la partition |
F | afficher l’espace libre non partitionné |
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 |
i | Afficher des renseignements sur la partition |
w | écrire la table sur le disque et quitter |
q | quitter sans enregistrer les modifications |
Créer une partition de disque
Dans mon cas, on souhaite ajouter une partition de disque sur le disque /dev/sdb.
Donc on utilise la commande fdisk de cette manière :
fdisk /dev/sdb
- Ensuite on affiche les partitions avec la commande p (pour print). Ici le disque est totalement vide, il n’y a aucune partition de disque. Elle vous indique les numéros de partitions avec les secteurs de débuts et fin.
- Puis on utilise la commande n pour ajouter une nouvelle partition
- fdisk nous demande ensuite le type de partition :
- p pour primaire
- e pour étendue
- Puis fdisk demande d’indiquer le premier secteur de la partition. Par défaut, il propose le premier libre
- Une fois validé, il faut indiquer le dernier secteur, ce qui demande un calcul sur la taille que l’on souhaite allouer. Heureusement, on peut indiquer directement la taille de l’espace disque avec +XXX en Ko, Mo, Go ou To. Par exemple pour créer une partition de disque de 150 Go. Il faut saisir +150Go.
- Quand cela est terminé, on réutilise la commande p pour valider que les modifications apportées aux disques sont bien les bonnes
- Enfin on peut écrire dans la table de partition avec la commande w. Cela quitte fdisk.
Puis on peut vérifier que la partition de disque est bien créé :
sudo fdisk -l /dev/sdb
Dernier exemple avec l’ajout d’une partition de 2 Go.
La taille est définie par +2G.
A noter que la partition de disque n’est pas formatée, ainsi si vous désirez la formater en ext4 :
mkfs.ext4 /dev/sdb1
Enfin vous pouvez monter la partition de disque nouvellement créé :
mount /dev/sdb /mnt/monsuperpointdemontage
Supprimer une partition de disque
Pour pouvoir supprimer une partition de disque, il faut qu’aucune partition ne soit montée.
Vous pouvez utiliser la commande df ou mount pour lister les points de montage.
Ensuite pour démonter une partition, on utilise umount soit avec le nom du périphérique soit avec le point de montage.
umount /dev/sdb2
umount /media/sdb2
Ensuite on peut supprimer la partition avec disque.
- Affichez la liste des partitions avec la commande p afin d’avoir les numéros
- Ensuite on utilise la commande d
- Puis on doit indiquer le numéro de partition à supprimer
- A nouveau lister les partitions avec p
- Enfin validez les modifications avec la commande w
Redimensionner une partition de disque
Enfin on termine ce tutoriel sur le redimensionnement de disque.
gfdisk ou fdisk donne la possibilité d’agrandir ou réduire des partitions de disque.
Là aussi avant de commencer, il est recommandé de démonter toutes les partitions de disques comme expliqué précédemment.
- Ensuite on lance l’interface de fdisk sur le disque souhaité, dans mon cas /dev/sdb
sudo fdisk /dev/sdb
Ici on voit que le disque a un taille de 5 Go et qu’il y a
Disque /dev/sdb : 5 GiB, 5368709120 octets, 10485760 secteurs
Si l’on jète un coup d’oeil à la partition 1 soit donc /dev/sdb1, on voit que le dernier secteur est 4194304, il reste donc de la place disque.
Fdisk donne d’ailleurs sa taille 2 Go,il reste donc environ 3 Go.
- Puis on liste les partitions avec la commande p
- Ensuite on supprime la partition que l’on souhaite agrandir ou réduire avec la commande d comme expliqué dans le paragraphe précédent
- Puis on créé une nouvelle avec la commande n, cette fois en définissant la taille de disque souhaitée.
- A nouveau on utilise la commande p pour être certains que c’est bien l’agencement de partition que l’on souhaite appliquer
- Enfin si c’est tout est correct, on enregistre avec la commande w.
- Par sécurité, on peut faire une vérification du système de fichier avec fsck :
sudo e2fsck -f /dev/sdb1
- Enfin et surtout on agrandir le système de fichier avec resize2fs :
sudo resize2fs /dev/sdb1
- Enfin on peut à nouveau monter la partition avec la commande mount. On voit alors qu’on a perdu aucune donnée.