GNU/Linux >> Tutoriels Linux >  >> Linux

15 exemples de commande Linux sfdisk pour gérer les partitions de disque

Si vous êtes un administrateur système, la gestion de la partition du disque dur de votre serveur Linux est une tâche critique.

Dans ce didacticiel, nous allons nous concentrer sur l'utilisation de l'utilitaire de ligne de commande sfdisk pour gérer vos partitions de disque dur.

Bien que sfdisk soit similaire à fdisk, il existe peu d'activités de manipulation de partition très faciles à réaliser dans sfdisk. Par exemple, vous pouvez créer de nouvelles partitions dans une méthode non interactive à l'aide de sfdisk.

Les activités sfdisk suivantes sont couvertes dans ce didacticiel :

  1. Afficher les partitions de disque existantes
  2. Modifier les unités d'affichage (taille d'affichage en Mo)
  3. Créer de nouvelles partitions de disque (méthode interactive)
  4. Vérifier la cohérence de la table de partition
  5. Afficher la taille totale de la partition
  6. Vider les détails de la partition de disque dans un fichier texte
  7. Créer de nouvelles partitions à partir d'un fichier texte (méthode non interactive)
  8. Afficher les détails de la partition étendue
  9. Afficher la géométrie du disque pour le débogage
  10. Afficher tous les types de partition de disque
  11. Manipuler une seule partition de disque
  12. Mode d'essai pour vérification
  13. Marquer une partition spécifique comme amorçable
  14. Modifier le type de partition
  15. Créer de nouvelles partitions à partir d'un script shell (méthode non interactive)

1. Afficher les partitions de disque existantes

En utilisant l'option -l, vous pouvez afficher toutes vos partitions de disque. -l signifie liste.

Par défaut, cela affichera les partitions de tous les disques de vos systèmes.

# sfdisk -l

Disk /dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+   1044-   1045-   8387584   83  Linux
/dev/sda2          0       -       0          0    0  Empty
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track

Dans ce qui précède :

  • Il affiche les partitions pour les périphériques sda et sdf.
  • sda n'a qu'une seule partition. c'est-à-dire sda1. Mais, l'option -l affichera toujours toutes les 4 informations sur la partition principale. Étant donné que, dans cet exemple, sda n'a qu'une seule partition (c'est-à-dire sda1), les 3 partitions restantes (sda2, sda3, sda4) indiqueront "Vide" dans la dernière colonne.
  • Le périphérique sdf n'a pas de partition. c'est-à-dire que rien n'a encore été créé sur cet appareil. Donc, il ne répertorie rien pour cet appareil.

Vous pouvez également afficher les partitions de disque d'un périphérique spécifique en transmettant le nom du périphérique comme indiqué ci-dessous.

# sfdisk -l /dev/sdf

Au lieu de -l, vous pouvez également utiliser –list comme indiqué ci-dessous.

sfdisk --list
sfdisk --list /dev/sdf

Si vous débutez dans la gestion du disque dur, vous souhaiterez peut-être également comprendre comment utiliser la commande fdisk de confiance habituelle :7 exemples de commande Linux fdisk pour gérer la partition du disque dur

2. Modifier les unités d'affichage (taille d'affichage en Mo)

Par défaut, sfdisk affichera la taille en blocs. Dans la sortie sfdisk -l ci-dessus, regardez la colonne intitulée "#blocks".

Cependant, si vous souhaitez afficher la taille en Mo, utilisez l'option -u comme indiqué ci-dessous. -u signifie Unité. Vous devez spécifier le type d'unité. Dans cet exemple, le type d'unité que nous spécifions est M (qui est MB)

L'option -uM remplacera la colonne "#cyls" de la sortie ci-dessus par "MiB" (taille en Mo) comme indiqué ci-dessous.

# sfdisk -l -uM

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start   End    MiB    #blocks   Id  System
/dev/sdf1         0+  8032-  8033-   8225279+  83  Linux
/dev/sdf2      8032+  8189-   157-    160650   83  Linux
/dev/sdf3         0      -      0          0    0  Empty
/dev/sdf4         0      -      0          0    0  Empty

Voici les différents types d'unités que vous pouvez spécifier :

  • M pour Mo
  • C pour le nombre de cylindres (c'est la valeur par défaut)
  • S pour le nombre de secteurs
  • B pour le nombre de blocs (cela s'affiche également dans la sortie par défaut avec le nombre de cylindres)
# sfdisk -l -uM
# sfdisk -l -uC 
# sfdisk -l -uS 
# sfdisk -l -uB 

3. Créer de nouvelles partitions de disque (méthode interactive)

Dans l'exemple suivant, nous allons prendre un disque dur vide (sdf) et y créer des partitions à l'aide de sfdisk.

# sfdisk /dev/sdf

Voici la sortie de la commande ci-dessus décomposée en plusieurs sections pour la comprendre facilement.

Tout d'abord, il vérifiera le sdf pour s'assurer qu'il n'est pas actuellement monté ou utilisé par quelqu'un d'autre.

Checking that no-one is using this disk right now ...
OK

Ensuite, il affichera les informations de la partition actuelle sur ce périphérique. Comme vu d'ici, il n'y a actuellement aucune partition sur le périphérique sdf.

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
sfdisk:  /dev/sdf: unrecognized partition table type

Old situation:
sfdisk: No partitions found

Ensuite, il vous demandera d'entrer la taille de la partition pour les 4 partitions principales. Même si vous ne souhaitez créer qu'une seule partition, il vous demandera 4 heures différentes pour toutes les partitions principales.

Dans ce qui suit :

  • Dans cet exemple, j'aime créer deux partitions.
  • Ainsi, lorsqu'il m'a demandé "/dev/sdf1 :", je crée la 1ère partition. Ici, j'ai entré "0 1024". 0 est le début du cylindre et 1024 est la fin du cylindre pour la 1ère partition.
  • Ensuite, lorsqu'il m'a demandé "/dev/sdf2 :", je crée la 2ème partition. Ici, j'ai juste appuyé sur Entrée, ce qui prendra tout l'espace restant et créera la 2ème partition.
  • Ensuite, j'ai juste appuyé sur Entrée pour sdf3 et sdf4. Puisqu'il n'y a plus d'espace sur sdf, il sera simplement vide comme indiqué ci-dessous.
  • Veuillez également noter que, par défaut, il créera la partition de type "Linux". Si vous souhaitez le changer en un type différent, vous devez spécifier le type.
Input in the following format; absent fields get a default value.
<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>
Usually you only need to specify <start> and <size> (and perhaps <type>).

/dev/sdf1 :0 1024
/dev/sdf1          0+   1023    1024-   8225279+  83  Linux
/dev/sdf2 :
/dev/sdf2       1024    1043      20     160650   83  Linux
/dev/sdf3 :
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4 :
/dev/sdf4          0       -       0          0    0  Empty

Maintenant, sfdisk affichera les partitions qu'il va créer. Comme indiqué ci-dessous, il créera deux partitions (sdf1 et sdf2).

New situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+   1023    1024-   8225279+  83  Linux
/dev/sdf2       1024    1043      20     160650   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.

Enfin, il demandera une confirmation. Si vous avez fait une erreur et que vous ne voulez pas créer les partitions ci-dessus, tapez "q" pour quitter. Ici, j'ai tapé y pour créer ces deux nouvelles partitions.

Do you want to write this to disk? [ynq] y
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Enfin, j'ai vérifié que les partitions ont été créées avec succès en utilisant sfdisk -l comme indiqué ci-dessous.

# sfdisk -l /dev/sdf
Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+   1023    1024-   8225279+  83  Linux
/dev/sdf2       1024    1043      20     160650   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

Sur une note connexe, pour créer des partitions de grande taille, reportez-vous à ceci :Comment créer une partition sous Linux pour une taille> 2 To à l'aide de Parted GPT

4. Vérifier la cohérence de la table de partition

Utilisez l'option -V (V majuscule) pour effectuer un contrôle de cohérence sur les tables de partition. V signifie vérifier.

Comme indiqué dans la sortie suivante, il dira "OK" quand tout va bien. Cela affichera également tous les messages d'avertissement.

# sfdisk -V
Warning: partition 1 does not end at a cylinder boundary
/dev/sda: OK
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
/dev/sdf: OK

Vous pouvez également vérifier uniquement un appareil spécifique, comme indiqué ci-dessous.

# sfdisk -V /dev/sdf

En outre, vous pouvez combiner les options V et l comme indiqué ci-dessous.

sfdisk -lV

Si vous effectuez la vérification à partir d'un script shell, vous pouvez utiliser l'option -q avec V. q signifie calme. Dans ce cas, il n'affichera aucune sortie. Mais, vous pouvez vérifier l'état de la commande pour vérifier si la vérification de cohérence a réussi ou échoué, comme indiqué ci-dessous.

# sfdisk -Vq 

# echo $?
0

Si vous souhaitez vérifier la cohérence du contenu du disque lui-même, utilisez cette méthode :10 exemples de commandes Linux Fsck pour vérifier et réparer le système de fichiers

5. Afficher la taille totale de la partition

Pour afficher la taille totale du disque, y compris toutes les partitions, utilisez l'option -s. -s représente la taille.

Cela affichera la taille totale de la partition en nombre de blocs.

Par défaut, cela affichera la taille totale de la partition pour chaque disque dur de votre système. En outre, il affichera la taille totale de tous les disques de votre système, comme indiqué ci-dessous.

# sfdisk -s
/dev/sda:   8388608
/dev/sdf:   8388608
total: 16777216 blocks

Vous pouvez également spécifier la partition individuelle du disque dur (ou) comme indiqué ci-dessous.

# sfdisk -s /dev/sdf
8388608
# sfdisk -s /dev/sdf1
1654694

6. Vider les détails de la partition de disque dans un fichier texte

sfdisk vous offre également la possibilité de vider toutes les informations de la partition de disque dans un fichier texte.

Pour cela, utilisez l'option -d. -d signifie vidage.

Par défaut, -d affichera la sortie à l'écran. Cela inclura les informations de partition pour tous les périphériques de votre système.

# sfdisk -d

Vous pouvez également vider les informations de partition d'un périphérique particulier, comme indiqué ci-dessous.

# sfdisk -d /dev/sda

Pour le vider dans un fichier texte, procédez comme suit. Cela videra les informations de partition de sda ​​dans le fichier texte sda.out.

# sfdisk -d /dev/sda > sda.out

# cat sda.out
# partition table of /dev/sda
unit: sectors

/dev/sda1 : start=     2048, size= 16775168, Id=83, bootable
/dev/sda2 : start=        0, size=        0, Id= 0
/dev/sda3 : start=        0, size=        0, Id= 0
/dev/sda4 : start=        0, size=        0, Id= 0

7. Créer de nouvelles partitions à partir d'un fichier texte (méthode non interactive)

La beauté de l'option -d est que vous pouvez prendre un vidage de partition d'un périphérique particulier et l'utiliser pour créer un vidage de partition similaire sur un autre périphérique.

Par exemple, si vous souhaitez répliquer la partition actuelle sur le périphérique sda ​​sur le périphérique sdf, vous pouvez utiliser l'option -d comme indiqué ci-dessous.

Tout d'abord, prenez le vidage du périphérique sda ​​comme indiqué dans l'exemple précédent dans le fichier sda.out.

Dans l'exemple ci-dessus, comme nous le voyons, nous avons une partition sur le périphérique sda.

Maintenant, sur le périphérique sdf, nous avons actuellement deux partitions.

# sfdisk -l /dev/sdf
Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    499     500-   4016249+  83  Linux
/dev/sdf2        500    1043     544    4369680   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

Maintenant, utilisez le fichier sda.out de l'exemple précédent et utilisez-le pour créer des partitions similaires sur le périphérique sdf, comme indiqué ci-dessous.

# sfdisk /dev/sdf < sda.out

La commande ci-dessus utilisera les informations de partition du fichier sda.out et les utilisera pour créer automatiquement une nouvelle partition sur sdf sans demander aucune entrée à l'utilisateur, comme indiqué ci-dessous.

Checking that no-one is using this disk right now ...
OK

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Old situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    499     500-   4016249+  83  Linux
/dev/sdf2        500    1043     544    4369680   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
New situation:
Units: sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdf1   *      2048  16777215   16775168  83  Linux
/dev/sdf2             0         -          0   0  Empty
/dev/sdf3             0         -          0   0  Empty
/dev/sdf4             0         -          0   0  Empty
Warning: partition 1 does not end at a cylinder boundary
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Maintenant, comme vous le voyez dans la sortie suivante, sdf a une nouvelle partition, qui est similaire à sda.

# sfdisk -l

Disk /dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1   *      0+   1044-   1045-   8387584   83  Linux
/dev/sda2          0       -       0          0    0  Empty
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1   *      0+   1044-   1045-   8387584   83  Linux
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

8. Afficher les détails de la partition étendue

x signifie partition étendue. Lorsque vous combinez x avec l, il affichera également les partitions étendues non principales, comme indiqué ci-dessous.

# sfdisk -lx /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    205     206-   1654694+  83  Linux
/dev/sdf2        206     411     206    1654695   83  Linux
/dev/sdf3        412     514     103     827347+  82  Linux swap / Solaris
/dev/sdf4        515    1043     529    4249192+   5  Extended

/dev/sdf5        515+    617     103-    827347   83  Linux
    -            618    1043     426    3421845    5  Extended
    -            515     514       0          0    0  Empty
    -            515     514       0          0    0  Empty

/dev/sdf6        618+   1043     426-   3421844+  83  Linux
    -            618     617       0          0    0  Empty
    -            618     617       0          0    0  Empty
    -            618     617       0          0    0  Empty

Vous pouvez également utiliser l'option -x lorsque vous créez de nouvelles partitions, auquel cas sfdisk demandera (ou attendra) des descripteurs d'entrée pour celles-ci.

9. Afficher la géométrie du disque pour le débogage

Lorsque vous déboguez des problèmes liés aux tables de partitions, l'une des choses que vous devez vérifier est si les informations de la table de partitions sont les mêmes sur le périphérique telles qu'elles sont comprises par le noyau.

C'est une bonne idée de vérifier que l'idée du noyau de la géométrie du périphérique est la même que la géométrie réelle du périphérique en lisant directement la table de partition.

L'option -G (G majuscule) affichera la géométrie réelle de l'appareil en lisant directement la table de partition comme indiqué ci-dessous.

# sfdisk -G
/dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
/dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track

L'option -g (g minuscule) affichera l'idée du noyau de la géométrie du périphérique.

# sfdisk -g
/dev/sda: 1044 cylinders, 255 heads, 63 sectors/track
/dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track

Dans cet exemple, la sortie correspond comme il se doit. Si cela ne correspond pas, il y a un problème.

10. Afficher tous les types de partition de disque

Pour afficher tous les types de partition pris en charge pouvant être utilisés lors de la création de nouvelles partitions à l'aide de sfdisk, utilisez l'option -T. T représente le type (c'est-à-dire le type de partition).

Cela affichera l'identifiant du type de partition et son nom descriptif. Lors de la création de la partition, vous spécifierez l'identifiant du type de partition. Par exemple, utilisez 82 comme type pour la partition d'échange.

# sfdisk -T
Id  Name

 0  Empty
 1  FAT12
 2  XENIX root
 3  XENIX usr
 4  FAT16 <32M
 5  Extended
 6  FAT16
..
..
82  Linux swap / Solaris
83  Linux
84  OS/2 hidden C: drive
85  Linux extended
86  NTFS volume set
87  NTFS volume set
88  Linux plaintext
8e  Linux LVM
..
..

Concernant l'espace d'échange :2 façons d'ajouter de l'espace d'échange à l'aide de dd, mkswap et swapon

11. Manipuler une seule partition de disque

Vous pouvez utiliser l'option -N pour manipuler une partition de disque particulière. -N représente le nombre (c'est-à-dire le numéro de partition).

Vous pouvez l'utiliser pour créer une nouvelle partition sur un disque existant qui a déjà d'autres partitions.

Dans l'exemple suivant, dans le périphérique sdf, nous avons déjà une partition. Mais, nous voulons créer une 2ème partition.

# sfdisk /dev/sdf -N2
Checking that no-one is using this disk right now ...
OK

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Old situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
Input in the following format; absent fields get a default value.
<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>
Usually you only need to specify <start> and <size> (and perhaps <type>).
/dev/sdf2 :512 1024
Warning: given size (1024) exceeds max allowable size (532)
/dev/sdf2 :512 532
/dev/sdf2        512    1043     532    4273290    0  Empty
New situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2        512    1043     532    4273290    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Do you want to write this to disk? [ynq] y
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Dans ce qui précède :

  • Nous avons utilisé l'option -N2 pour manipuler uniquement la 2ème partition.
  • Cela signifie que sfdisk vous demandera les informations de partition uniquement pour sdf2, comme indiqué ci-dessus.
  • Cela ne modifiera pas la partition sdf1 existante.
  • De plus, cela ne vous demandera pas d'informations sur sdf3 et sdf4

12. Mode de fonctionnement à sec pour la vérification

Avant de vraiment créer une nouvelle partition ou de modifier des informations sur les tables de partition, vous voulez vous assurer que la syntaxe de la commande que vous avez est bonne.

Dans ce cas, il est préférable d'utiliser l'option -n, qui effectuera vraiment tous les mouvements sans vraiment rien faire.

L'option -n est une option d'exécution à blanc, qui exécutera tout ce que la commande est censée faire, mais n'enregistrera rien, ni ne changera quoi que ce soit.

Par exemple, lorsque vous modifiez un type de partition, vous pouvez utiliser l'option -n, qui passera par la commande mais ne changera vraiment rien, comme indiqué ci-dessous.

# sfdisk -n --change-id /dev/sdf 1 82
sfdisk: -n flag was given: Nothing changed

Vous pouvez également l'utiliser lorsque vous créez de nouvelles partitions, comme indiqué ci-dessous. Cela passera par la commande et affichera tout dans la sortie, mais sans vraiment créer de nouvelles partitions.

sfdisk -n /dev/sdf < sda.out

13. Marquer une partition spécifique comme amorçable

Utilisez l'option -A pour marquer une partition spécifique comme partition de démarrage. -A signifie activer.

L'exemple suivant active la 2ème partition (sdf2) en tant que partition active (c'est-à-dire en la marquant comme boot). Veuillez noter que si une autre partition de ce périphérique (sdf) est déjà marquée pour le démarrage, elle ne sera plus marquée maintenant.

# sfdisk -A2 /dev/sdf
Done

Comme vous le voyez dans la sortie suivante, seul sdf2 est activé. Le "*" dans la 2ème colonne (c'est-à-dire Boot) indique qu'il s'agit d'une partition de démarrage.

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2   *    512    1043     532    4273290    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

14. Changer le type de partition

Vous pouvez modifier le type de partition d'une partition existante.

Tout d'abord, utilisez l'option –print-id pour afficher le type de partition d'une partition spécifique. La commande suivante affichera le type de partition de sdf1. Ici, 83 dans la sortie indique que sdf1 est le type de partition Linux.

# sfdisk --print-id  /dev/sdf 1
83

La sortie suivante 0 indique que la partition sdf2 est actuellement vide.

# sfdisk --print-id  /dev/sdf 2
0

Maintenant, utilisez l'option –change-id comme indiqué ci-dessous pour changer le type de partition d'un périphérique de partition.

Dans cet exemple, nous changeons le type de partition de la partition sdf2 en 83 (qui est la partition Linux)

# sfdisk --change-id /dev/sdf 2 83
Done

Comme vous le voyez dans la sortie suivante, le sdf2 est maintenant défini sur le type de partition Linux (c'est-à-dire Regardez la dernière colonne "Système")

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2   *    512    1043     532    4273290   83  Linux
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

15. Créer de nouvelles partitions à partir du script shell (méthode non interactive)

L'un des grands avantages de sfdisk est que vous pouvez créer une partition à la volée à partir de la ligne de commande sans aucune interaction de sfdisk.

Ceci est très utile lorsque vous souhaitez automatiser la création de partition à partir d'un script shell.

Actuellement, comme vous le voyez dans la sortie suivante, le périphérique sdf est actuellement vide. Cela n'a pas de partitions.

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0       -       0          0    0  Empty
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty

Maintenant, exécutez la commande suivante, qui créera automatiquement trois partitions (sdf1, sdf2, sdf3) en utilisant les valeurs fournies ci-dessous.

# sfdisk /dev/sdf <<EOF
0,512
,512
;
;
EOF

Dans ce qui précède :

  • Il doit y avoir 4 lignes dans l'entrée ci-dessus pour les 4 partitions principales.
  • La première ligne indique qu'elle doit commencer du 1er cylindre jusqu'au 512 pour créer la 1ère partition (c'est-à-dire sdf1)
  • La deuxième ligne indique qu'elle doit commencer par le dernier cylindre disponible comme premier cylindre et à partir de là, utiliser +512 cylindres pour créer la 2e partition (c'est-à-dire sdf2)
  • La troisième ligne contient un point-virgule, ce qui indique que vous utilisez les valeurs par défaut et ne demandez rien à l'utilisateur pour la 3e partition. Dans ce cas, il utilisera tous les cylindres restants sur le disque et créera la 3ème partition (c'est-à-dire sdf3)
  • La quatrième ligne comporte un point-virgule, ce qui indique que vous utilisez les valeurs par défaut et ne demandez rien à l'utilisateur pour la 4e partition. Dans ce cas, puisqu'il n'y a plus d'espace, il ne créera rien pour la 4ème partition (c'est-à-dire sdf4)

Voici la sortie de la commande sfdisk ci-dessus. Veuillez noter que cela ne demande aucune entrée de la part de l'utilisateur.

Checking that no-one is using this disk right now ...
OK

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Old situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0       -       0          0    0  Empty
/dev/sdf2          0       -       0          0    0  Empty
/dev/sdf3          0       -       0          0    0  Empty
/dev/sdf4          0       -       0          0    0  Empty
New situation:
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2        512    1023     512    4112640   83  Linux
/dev/sdf3       1024    1043      20     160650   83  Linux
/dev/sdf4          0       -       0          0    0  Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)

Vérifiez que les trois partitions ont été créées automatiquement à l'aide des valeurs fournies.

# sfdisk -l /dev/sdf

Disk /dev/sdf: 1044 cylinders, 255 heads, 63 sectors/track
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdf1          0+    511     512-   4112639+  83  Linux
/dev/sdf2        512    1023     512    4112640   83  Linux
/dev/sdf3       1024    1043      20     160650   83  Linux
/dev/sdf4          0       -       0          0    0  Empty

Linux
  1. Commande Fdisk sous Linux (Gérer les partitions)

  2. Commande Linux DD - 15 exemples avec toutes les options

  3. Exemples de commande rm sous Linux

  4. Exemples de commandes ps sous Linux

  5. w Exemples de commandes sous Linux

16 exemples de commandes Echo sous Linux

9 exemples de commandes tee sous Linux

Commande Fdisk sous Linux (créer des partitions de disque)

Linux du Command Exemples les plus utiles

Exemples de commandes ip pour gérer la mise en réseau sous Linux

Exemples de commandes id sous Linux