Recherche de site Web

Comment lister, créer, supprimer des partitions sur des disques MBR et GPT - RHCSA Objective Preparation


Les partitions de disque sont la base du stockage de nos données sur des disques. Pour être en mesure de gérer les partitions, dans cette partie du tutoriel de préparation à l’examen RHCSA, nous allons ajouter un disque vide à notre système de test RHEL 8, et créer, répertorier et supprimer une nouvelle partition sur celle-ci. Nous utiliserons d’abord la configuration classique MBR (Master Boot Record), puis nous ferons de même sur la configuration GPT (GUID Partitioning Table). GPT est une technique de partitionnement plus avancée qui permet de grandes partitions, tandis que MBR est limité à 2 To d’espace disque par partition. Donc, si cela ne semble pas être une taille très limitée pour le moment, pensez à la tendance de l’utilisation du disque, qui n’est peut-être pas si importante du point de vue de l’utilisateur final, mais certainement du point de vue de l’administration système Linux.

Dans ce tutoriel, vous allez apprendre :

  • Comment créer une nouvelle partition MBR à l’aide de fdisk
  • Comment lister des partitions classiques à l’aide de fdisk
  • Comment supprimer une partition à l’aide de fdisk
  • Comment créer une partition GPT à l’aide de gdisk
  • Comment répertorier les partitions GPT
  • Comment supprimer des partitions GPT

Création d’une partition de 1 Go avec fdisk

Configuration logicielle requise et conventions utilisées

Gestion des partitions

Le partitionnement est la première étape de l’expansion de l’espace disque qui peut être utilisé par le système pour stocker des données. Nous couvrirons à la fois le partitionnement MBR et GPT, la création, la liste et enfin la suppression de partitions.

  1. Pour lister les partitions, on peut utiliser fdisk. Nous le ferons pour voir notre configuration au début.

    fdisk -l
    Disk /dev/sda: 15 GiB, 16106127360 bytes, 31457280 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x906d1ee8
    
    Device     Boot   Start      End  Sectors Size Id Type
    /dev/sda1  *       2048  2099199  2097152   1G 83 Linux
    /dev/sda2       2099200 31457279 29358080  14G 8e Linux LVM
    
    
    Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    Disk /dev/mapper/rhel-root: 12.5 GiB, 13417578496 bytes, 26206208 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    Disk /dev/mapper/rhel-swap: 1.5 GiB, 1610612736 bytes, 3145728 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
  2. Dans la sortie, nous pouvons voir que nous avons le disque principal /dev/sda avec deux partitions, /dev/sda1 et /dev/sda2 dessus. Nous pouvons voir notre nouveau /dev/sdb vide sans partitions pour le moment, ainsi que les volumes logiques que le système contient. Pour ce tutoriel, nous allons ignorer tout le reste et nous concentrer sur le disque vide.

    Création d’une nouvelle partition avec fdisk sur RHEL8

  3. Pour créer une nouvelle partition sur le disque vide, nous allons la fournir en argument à fdisk :

    fdisk /dev/sdb
    
    Welcome to fdisk (util-linux 2.32.1).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.

    L’utilitaire fdisk attend nos commandes. Nous aimerions créer une nouvelle partition, nous appuyons donc sur « n ».

    Command (m for help): n

    Nous devons créer une partition primaire, donc la réponse à la question suivante est « p ».

    Partition type
       p   primary (0 primary, 0 extended, 4 free)
       e   extended (container for logical partitions)
    Select (default p): p

    Les questions suivantes concernent le numéro de partition, le premier et le dernier secteur, qui détermineront la taille réelle de la partition. Dans notre exemple, nous créons une seule partition qui couvrira le disque, et les valeurs par défaut sont la première partition, le premier secteur disponible pour commencer et le dernier secteur pour se terminer, ce qui est exactement ce dont nous avons besoin. Nous allons donc accepter les valeurs par défaut pour ces questions.

    Partition number (1-4, default 1): 
    First sector (2048-4194303, default 2048): 
    Last sector, +sectors or +size{K,M,G,T,P} (2048-4194303, default 4194303): 
    
    Created a new partition 1 of type 'Linux' and of size 2 GiB.

    On n’est pas limité à compter en secteurs lorsque l’on définit la fin de la partition. Comme l’indique l’utilitaire, nous pouvons spécifier une taille exacte. Par exemple, si nous voulons une partition de 1 Go, au dernier secteur, nous pourrions fournir :

    Last sector, +sectors or +size{K,M,G,T,P} (34-4194270, default 4194270): +1G

    La partition est maintenant terminée, mais comme l’utilitaire l’indique au démarrage, les modifications ne sont en mémoire que jusqu’à ce que nous les écrivions sur le disque. C’est intentionnel et l’avertissement est en place pour une bonne raison : en écrivant les modifications sur le disque, nous détruisons tout ce qui résidait sur la plage de secteurs que nous couvrons avec notre nouvelle partition. Nous sommes sûrs qu’il n’y aura pas de perte de données, nous écrivons donc les modifications sur le disque :

    Command (m for help): w
    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Syncing disks.

    Pour être sûr que le système d’exploitation est au courant des changements, nous exécutons partprobe :

    partprobe

    Nous pouvons utiliser la fonction fdisk -l pour être plus précis en ajoutant le nom du périphérique qui nous intéresse.

    fdisk -l /dev/sdb
    Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x29ccc11b
    
    Device     Boot Start     End Sectors Size Id Type
    /dev/sdb1        2048 4194303 4192256   2G 83 Linux
  4. Et dans la sortie, nous pouvons voir que notre disque contient maintenant une nouvelle partition /dev/sdb1 qui est prête à être utilisée.

  5. La suppression d’une partition est fondamentalement le même processus à l’envers. L’utilitaire est construit de manière logique : nous spécifions l’appareil sur lequel nous aimerions travailler, et lorsque nous sélectionnons la suppression de partition avec la commande « d », il supprimera notre seule partition sans aucune question, car il n’y en a qu’une sur le disque.

    fdisk /dev/sdb
    
    Welcome to fdisk (util-linux 2.32.1).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    
    Command (m for help): d
    Selected partition 1
    Partition 1 has been deleted.

    Bien que cela soit assez pratique, notez que cet outil permet d’effacer très facilement les données du disque en appuyant sur une seule touche. C’est pour cela que toutes les alertes sont en place, il faut savoir ce que l’on fait. Les mesures de protection sont toujours en place, rien ne change sur le disque jusqu’à ce que nous l’écrivions.

    Command (m for help): w
    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Syncing disks.
    
    partprobe 
    fdisk -l /dev/sdb
    Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x29ccc11b
  6. Pour créer une disposition de partition basée sur GPT, nous allons utiliser l’utilitaire gdisk (GPT fdisk). Son fonctionnement interne vous sera familier si vous lisez depuis le début de ce tutoriel.

    gdisk /dev/sdb   
    GPT fdisk (gdisk) version 1.0.3
    
    Partition table scan:
      MBR: MBR only
      BSD: not present
      APM: not present
      GPT: not present
    
    
    ***************************************************************
    Found invalid GPT and valid MBR; converting MBR to GPT format
    in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
    typing 'q' if you don't want to convert your MBR partitions
    to GPT format!
    ***************************************************************
    
    
    Command (? for help): n
    Partition number (1-128, default 1): 
    First sector (34-4194270, default = 2048) or {+-}size{KMGTP}: 
    Last sector (2048-4194270, default = 4194270) or {+-}size{KMGTP}: 
    Current type is 'Linux filesystem'
    Hex code or GUID (L to show codes, Enter = 8300): 
    Changed type of partition to 'Linux filesystem'
    
    Command (? for help): w
    
    Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
    PARTITIONS!!
    
    Do you want to proceed? (Y/N): Y
    OK; writing new GUID partition table (GPT) to /dev/sdb.
    The operation has completed successfully.
  7. Du point de vue des commandes, nous avons fait la même chose, nous avons commencé à créer une nouvelle partition avec « n », nous avons accepté les valeurs par défaut qui couvrent tout le disque avec la nouvelle partition, puis nous avons écrit les modifications sur le disque. Deux nouveaux avertissements apparaissent, le premier n’est là que parce que nous avons partitionné le même disque avec fdisk plus tôt, ce qui a été détecté par gdisk. La dernière est une question supplémentaire du type « êtes-vous sûr ? », avant que nous ne soyons finalement autorisés à écraser ce pauvre disque.

  8. La liste des partitions GPT nécessite le même basculement vers gdisk :

    gdisk -l /dev/sdb
    GPT fdisk (gdisk) version 1.0.3
    
    Partition table scan:
      MBR: protective
      BSD: not present
      APM: not present
      GPT: present
    
    Found valid GPT with protective MBR; using GPT.
    Disk /dev/sdb: 4194304 sectors, 2.0 GiB
    Sector size (logical/physical): 512/512 bytes
    Disk identifier (GUID): 3AA3331F-8056-4C3E-82F3-A67254343A05
    Partition table holds up to 128 entries
    Main partition table begins at sector 2 and ends at sector 33
    First usable sector is 34, last usable sector is 4194270
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 2014 sectors (1007.0 KiB)
    
    Number  Start (sector)    End (sector)  Size       Code  Name
       1            2048         4194270   2.0 GiB     8300  Linux filesystem
    

    fdisk reconnaît également que le disque est partitionné :

    fdisk -l /dev/sdb
    Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: 3AA3331F-8056-4C3E-82F3-A67254343A05
    
    Device     Start     End Sectors Size Type
    /dev/sdb1   2048 4194270 4192223   2G Linux filesystem
  9. La suppression de la partition GPT que nous avons créée se fait de la même manière que dans le cas MBR, avec la vérification supplémentaire de l’intégrité ajoutée :

    gdisk /dev/sdb
    GPT fdisk (gdisk) version 1.0.3
    
    Partition table scan:
      MBR: protective
      BSD: not present
      APM: not present
      GPT: present
    
    Found valid GPT with protective MBR; using GPT.
    
    Command (? for help): d
    Using 1
    
    Command (? for help): w
    
    Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
    PARTITIONS!!
    
    Do you want to proceed? (Y/N): Y
    OK; writing new GUID partition table (GPT) to /dev/sdb.
    The operation has completed successfully.

    La liste du disque montre maintenant que nous avons effectivement supprimé la partition GPT du disque.

    gdisk -l /dev/sdb
    GPT fdisk (gdisk) version 1.0.3
    
    Partition table scan:
      MBR: protective
      BSD: not present
      APM: not present
      GPT: present
    
    Found valid GPT with protective MBR; using GPT.
    Disk /dev/sdb: 4194304 sectors, 2.0 GiB
    Sector size (logical/physical): 512/512 bytes
    Disk identifier (GUID): 3AA3331F-8056-4C3E-82F3-A67254343A05
    Partition table holds up to 128 entries
    Main partition table begins at sector 2 and ends at sector 33
    First usable sector is 34, last usable sector is 4194270
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 4194237 sectors (2.0 GiB)
    
    Number  Start (sector)    End (sector)  Size       Code  Name

Exercices

  1. Créez plusieurs partitions sur le même disque. Vérifiez leur capacité et le nom de leur appareil.
  2. Créez une partition sur un disque GPT avec fdisk. Votre version gère-t-elle les deux types ?
  3. Testez les ceintures de sécurité intégrées aux utilitaires fdisk et gdisk. Essayez de spécifier des secteurs hors plage, un premier secteur plus grand que le dernier, etc.

Articles connexes: