Recherche de site Web

10 commandes fdisk pour gérer les partitions de disque Linux


fdisk signifie (pour « disque fixe ou formater le disque ») est l'utilitaire de manipulation de disque basé sur la ligne de commande le plus couramment utilisé pour un Systèmes Linux/Unix. Avec 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 pour créer de l'espace pour de nouvelles partitions, organiser de l'espace pour de nouveaux disques, réorganiser d'anciens disques et copier ou déplacer des 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 un 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' (répertoriant toutes les partitions) est utilisé avec la commande fdisk pour afficher toutes les partitions disponibles sous Linux. Les partitions sont affichées par les noms de leurs appareils. 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 LVM

2. Afficher la partition de disque spécifique sous 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 LVM

3. Vérifiez toutes les commandes fdisk disponibles

Si vous souhaitez afficher toutes les commandes disponibles pour fdisk. Utilisez simplement 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 avoir saisi « m » sur 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 toutes les tables de partition sous Linux

Pour imprimer 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

Depuis le mode commande, saisissez « p » au lieu de « m » comme nous l’avons fait précédemment. Lorsque j'entre « p », la table de partition /dev/sda spécifique sera imprimée.

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 (c'est-à-dire /dev/sda9) du disque dur spécifique, telle que /dev/sda. Vous devez être en mode commande fdisk pour ce faire.

[root@tecmint ~]# fdisk /dev/sda

Ensuite, entrez « d » pour supprimer tout nom de partition donné du système. Lorsque je saisis « d », il me demandera de saisir le numéro de partition que je souhaite supprimer du disque dur /dev/sda. Supposons que j'entre le numéro '4' ici, cela supprimera le numéro de partition '4' (c'est-à-dire /dev/sda4) et affichera le disque libre. espace dans la table de partition. Entrez « w » pour écrire la table sur le disque et quitter après avoir apporté de nouvelles modifications à la table de partition. Les nouvelles modifications n'auront lieu qu'après le prochain redémarrage du système. Cela peut être facilement compris à partir du résultat 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/root

Avertissement : 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

S'il vous reste de l'espace libre sur l'un de vos appareils, dites /dev/sda et souhaitez créer une nouvelle partition en dessous. Ensuite, vous devez être en mode commande fdisk de /dev/sda. Tapez la commande suivante pour entrer en mode commande d’un disque dur spécifique.

[root@tecmint ~]# fdisk /dev/sda

Aprè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 du résultat donné suivant.

[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)
e

Lors de la création d'une nouvelle partition, il vous demandera deux options de création de partition « étendue » ou « primaire ». Appuyez sur « e » pour la partition étendue et sur « p » pour la partition principale. Ensuite, il vous demandera de saisir les deux entrées suivantes.

  1. Premier numéro de cylindre de la partition à créer.
  2. Numéro du dernier cylindre de la partition à créer (Dernier cylindre, +cylindres ou +taille).

Vous pouvez saisir la taille du cylindre en ajoutant « +5000M » dans le dernier cylindre. Ici, « + » signifie ajout et 5 000 M signifie la taille de la nouvelle partition (c'est-à-dire 5 000 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 apportées à la table de partition 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 nouvelle partition créée, ne passez pas au formatage de la partition nouvellement créée à l'aide de la commande « mkfs ». Tapez la commande suivante dans le terminal pour formater une partition. Voici /dev/sda4 ma partition nouvellement créée.

[root@tecmint ~]# mkfs.ext4 /dev/sda4

8. 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
5194304

9. Comment corriger l'ordre des tables de partition

Si vous avez supprimé une partition logique et l'avez recréée à nouveau, vous remarquerez peut-être un problème de type « partition hors service » ou un message d'erreur du type « Les entrées de la table de partition ne sont pas dans l'ordre des disques. '.

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 la nouvelle le nom de la partition serait sda4. Mais le système le créerait sous le nom sda5. Cela se produit car, après la suppression de la partition, la partition sda7 a été déplacée en tant que sda4 et l'espace libre a été déplacé vers la fin.

Pour résoudre de tels problèmes d'ordre des partitions et attribuer sda4 à la partition nouvellement créée, émettez le 'x' pour accéder à une section de fonctionnalités supplémentaires, puis entrez 'f<' commande experte 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 l’ordre des tables de partition corrigé, 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 de démarrage (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/sda

Appuyez sur la commande 'p' pour afficher la table de partition actuelle, vous voyez qu'il y a un indicateur de démarrage (symbole astérisque (*) de couleur orange) sur /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 LVM

Entrez 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 des informations plus détaillées, consultez la commande « man fdisk » depuis le terminal. Si j'ai manqué une commande importante, partagez-la avec moi via la section commentaires.

Lire aussi :

  1. 12 commandes « df » pour vérifier l'espace disque sous Linux
  2. 10 commandes « du » utiles pour rechercher l'utilisation du disque des fichiers et des répertoires