10 commandes fdisk pour gérer les partitions de disque Linux
fdisk (pour « fixed disk ou format disk ») est un utilitaire de manipulation de disque basé sur la ligne de commande le plus couramment utilisé pour les systèmes Linux/Unix. À l’aide de la commande fdisk, vous pouvez afficher, créer, redimensionner, supprimer, modifier, copier et déplacer des partitions sur un disque dur en utilisant sa propre interface conviviale basée sur un menu textuel.
Cet outil est très utile en termes de création d’espace pour de nouvelles partitions, d’organisation de l’espace pour de nouveaux disques, de réorganisation d’anciens disques et de copie ou de déplacement de données vers de nouveaux disques. Il vous permet de créer un maximum de quatre nouvelles partitions primaires et un nombre de partitions logiques (étendues), en fonction de la taille du disque dur que vous avez dans votre système.
Cet article explique 10 commandes fdisk de base pour gérer une table de partition dans les systèmes basés sur Linux. Vous devez être l’utilisateur root pour exécuter la commande fdisk, sinon vous obtiendrez une erreur « commande introuvable ».
1. Afficher toutes les partitions de disque sous Linux
La commande de base suivante répertorie toutes les partitions de disque existantes sur votre système. L’argument '-l'(listant toutes les partitions) est utilisé avec la commande fdisk pour afficher toutes les partitions disponibles sous Linux. Les partitions sont affichées par le nom de leur appareil. Par exemple : /dev/sda, /dev/sdb ou /dev/sdc.
[[email ~]# fdisk -l
Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2624 20972857+ 83 Linux
/dev/sda3 2625 4582 15727635 83 Linux
/dev/sda4 4583 77541 586043167+ 5 Extended
/dev/sda5 4583 5887 10482381 83 Linux
/dev/sda6 5888 7192 10482381 83 Linux
/dev/sda7 7193 7845 5245191 83 Linux
/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris
/dev/sda9 8368 77541 555640123+ 8e Linux LVM2. Afficher une partition de disque spécifique dans Linux
Pour afficher toutes les partitions d’un disque dur spécifique, utilisez l’option '-l’avec le nom du périphérique. Par exemple, la commande suivante affichera toutes les partitions de disque du périphérique /dev/sda. Si vous avez des noms de périphérique différents, écrivez simplement le nom du périphérique sous la forme /dev/sdb ou /dev/sdc.
[[email ~]# fdisk -l /dev/sda
Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2624 20972857+ 83 Linux
/dev/sda3 2625 4582 15727635 83 Linux
/dev/sda4 4583 77541 586043167+ 5 Extended
/dev/sda5 4583 5887 10482381 83 Linux
/dev/sda6 5888 7192 10482381 83 Linux
/dev/sda7 7193 7845 5245191 83 Linux
/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris
/dev/sda9 8368 77541 555640123+ 8e Linux LVM3. Vérifiez toutes les commandes fdisk disponibles
Si vous souhaitez afficher toutes les commandes disponibles pour fdisk. Il suffit d’utiliser la commande suivante en mentionnant le nom du disque dur tel que /dev/sda comme indiqué ci-dessous. La commande suivante vous donnera un résultat similaire à celui ci-dessous.
[root@tecmint ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help):Tapez 'm' pour voir la liste de toutes les commandes disponibles de fdisk qui peuvent être utilisées sur le disque dur /dev/sda. Après, j’entre 'm' à l’écran, vous verrez toutes les options disponibles pour fdisk que vous pouvez utiliser sur le périphérique /dev/sda.
[root@tecmint ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help):4. Imprimer toute la table de partition sous Linux
Pour afficher toutes les tables de partition du disque dur, vous devez être en mode commande d’un disque dur spécifique, par exemple /dev/sda.
[root@tecmint ~]# fdisk /dev/sdaÀ partir du mode commande, entrez 'p' au lieu de 'm' comme nous l’avons fait précédemment. Lorsque j’entre 'p', il imprime la table de partition /dev/sda spécifique.
Command (m for help): p
Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2624 20972857+ 83 Linux
/dev/sda3 2625 4582 15727635 83 Linux
/dev/sda4 4583 77541 586043167+ 5 Extended
/dev/sda5 4583 5887 10482381 83 Linux
/dev/sda6 5888 7192 10482381 83 Linux
/dev/sda7 7193 7845 5245191 83 Linux
/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris
/dev/sda9 8368 77541 555640123+ 8e Linux LVM
Command (m for help):5. Comment supprimer une partition sous Linux
Si vous souhaitez supprimer une partition spécifique (par exemple /dev/sda9) du disque dur spécifique, telle que /dev/sda. Pour ce faire, vous devez être en mode commande fdisk.
[root@tecmint ~]# fdisk /dev/sdaEnsuite, entrez « d » pour supprimer un nom de partition donné du système. Lorsque j’entre 'd', il me sera invité à entrer le numéro de partition que je souhaite supprimer du disque dur /dev/sda. Supposons que j’entre le numéro '4' ici, alors il supprimera le disque de partition numéro '4' (c’est-à-dire /dev/sda4) et affichera l’espace libre dans la table des partitions. Entrez 'w' pour écrire la table sur le disque et la quitter après avoir apporté de nouvelles modifications à la table de partition. Les nouvelles modifications n’auraient lieu qu’après le prochain redémarrage du système. Cela peut être facilement compris à partir de la sortie ci-dessous.
[root@tecmint ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): d
Partition number (1-4): 4
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
You have new mail in /var/spool/mail/rootAttention : Soyez prudent, lors de l’exécution de cette étape, car l’utilisation de l’option 'd' supprimera complètement la partition du système et risque de perdre toutes les données de la partition.
6. Comment créer une nouvelle partition sous Linux
Si vous avez de l’espace libre sur l’un de vos appareils, disons /dev/sda et que vous souhaitez créer une nouvelle partition en dessous. Ensuite, vous devez être en mode de commande fdisk de /dev/sda. Tapez la commande suivante pour passer en mode commande d’un disque dur spécifique.
[root@tecmint ~]# fdisk /dev/sdaAprès être entré en mode commande, appuyez maintenant sur la commande « n » pour créer une nouvelle partition sous /dev/sda avec une taille spécifique. Cela peut être démontré à l’aide de la sortie donnée suivante.
[root@tecmint ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
eLors de la création d’une nouvelle partition, il vous demandera deux options : la création de partition « étendue » ou « primaire ». Appuyez sur 'e' pour la partition étendue et 'p' pour la partition principale. Ensuite, il vous demandera d’entrer après deux entrées.
- Premier numéro de cylindre de la partition à créer.
- Dernier numéro de cylindre de la partition à créer (Dernier cylindre, +cylindres ou +taille).
Vous pouvez entrer la taille du cylindre en ajoutant « +5000M » dans le dernier cylindre. Ici, '+' signifie ajout et 5000M signifie taille de la nouvelle partition (c’est-à-dire 5000 Mo). Veuillez garder à l’esprit qu’après avoir créé une nouvelle partition, vous devez exécuter la commande 'w' pour modifier et enregistrer les nouvelles modifications dans la table de partitions et enfin redémarrer votre système pour vérifier la partition nouvellement créée.
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.7. Comment formater une partition sous Linux
Une fois la partition créée à l’aide de la commande 'mkfs', ne sautez pas le formatage de la partition nouvellement créée. Tapez la commande suivante dans le terminal pour formater une partition. Ici, /dev/sda4 est ma partition nouvellement créée.
[root@tecmint ~]# mkfs.ext4 /dev/sda48. Comment vérifier la taille d’une partition sous Linux
Après avoir formaté une nouvelle partition, vérifiez la taille de cette partition à l’aide de l’indicateur 's' (affiche la taille en blocs) avec la commande fdisk. De cette façon, vous pouvez vérifier la taille de n’importe quel appareil spécifique.
[root@tecmint ~]# fdisk -s /dev/sda2
51943049. Comment réparer l’ordre de la table de partition
Si vous avez supprimé une partition logique et que vous l’avez recréée, vous pouvez remarquer un problème de « partition dans le désordre » ou un message d’erreur tel que « Les entrées de la table de partition ne sont pas dans l’ordre du disque ».
Par exemple, lorsque trois partitions logiques telles que (sda4, sda5 et sda6) sont supprimées et qu’une nouvelle partition est créée, vous pouvez vous attendre à ce que le nom de la nouvelle partition soit sda4. Mais, le système le créerait en tant que sda5. Cela se produit parce que, après la suppression de la partition, la partition sda7 a été déplacée en tant que sda4 et l’espace libre décalé à la fin.
Pour résoudre ces problèmes d’ordre de partition et attribuer sda4 à la partition nouvellement créée, émettez le 'x' pour entrer dans une section de fonctionnalité supplémentaire, puis entrez la commande expert 'f' pour corriger l’ordre de la table de partition comme indiqué ci-dessous.
[root@tecmint ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): x
Expert command (m for help): f
Done.
Expert command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.Après avoir exécuté la commande 'f', n’oubliez pas d’exécuter la commande 'w' pour enregistrer et quitter le mode de commande fdisk. Une fois qu’il a corrigé l’ordre de la table de partition, vous ne recevrez plus de messages d’erreur.
10. Comment désactiver l’indicateur de démarrage (*) d’une partition
Par défaut, la commande fdisk affiche le symbole de l’indicateur d’amorçage (c’est-à-dire '*') sur chaque partition. Si vous souhaitez activer ou désactiver l’indicateur de démarrage sur une partition spécifique, procédez comme suit.
[root@tecmint ~]# fdisk /dev/sdaAppuyez sur la commande 'p' pour afficher la table de partition actuelle, vous voyez qu’il y a un drapeau de démarrage (symbole astérisque (*) de couleur orange) sur le disque /dev/sda1 comme indiqué ci-dessous.
[root@tecmint ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): p
Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2624 20972857+ 83 Linux
/dev/sda3 2625 4582 15727635 83 Linux
/dev/sda4 4583 77541 586043167+ 5 Extended
/dev/sda5 4583 5887 10482381 83 Linux
/dev/sda6 5888 7192 10482381 83 Linux
/dev/sda7 7193 7845 5245191 83 Linux
/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris
/dev/sda9 8368 77541 555640123+ 8e Linux LVMEntrez ensuite la commande 'a' pour désactiver l’indicateur de démarrage, puis entrez le numéro de partition '1' comme (c’est-à-dire /dev/sda1) dans mon cas. Cela désactivera l’indicateur de démarrage sur la partition /dev/sda1. Cela supprimera l’indicateur astérisque (*).
Command (m for help): a
Partition number (1-9): 1
Command (m for help): p
Disk /dev/sda: 637.8 GB, 637802643456 bytes
255 heads, 63 sectors/track, 77541 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 13 104391 83 Linux
/dev/sda2 14 2624 20972857+ 83 Linux
/dev/sda3 2625 4582 15727635 83 Linux
/dev/sda4 4583 77541 586043167+ 5 Extended
/dev/sda5 4583 5887 10482381 83 Linux
/dev/sda6 5888 7192 10482381 83 Linux
/dev/sda7 7193 7845 5245191 83 Linux
/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris
/dev/sda9 8368 77541 555640123+ 8e Linux LVM
Command (m for help):J’ai fait de mon mieux pour inclure presque toutes les commandes de base des commandes fdisk, mais fdisk contient toujours une variété d’autres commandes expertes que vous pouvez utiliser en entrant 'x'. Pour plus d’informations, consultez la commande 'man fdisk' depuis le terminal. Si j’ai manqué une commande importante, partagez-la avec moi via la section des commentaires.
Lire aussi :
- 12 commandes « df » pour vérifier l’espace disque sous Linux
- 10 commandes « du » utiles pour trouver l’utilisation du disque des fichiers et des répertoires
