Création gestion des partitions

Création et gestion des partitions

Mise à jour : Debian Buster 10.8

La création et la gestion des partitions est décrite ici aux moyens des outils de partitionnement : fdisk, sfdisk, gdisk, sgdisk, parted, .....

A noter que

Sommaire

1 - Création

1.1 - Paramètres

Paramètres communs dos/gpt

Paramètres spécifiques dos

Paramètres spécifiques gpt

1.2 - Créations de partitions msdos

1.2.1 - Utilisation de gparted

$ sudo parted /dev/sdb mkpart primary ext2 1MiB 100MiB 
$ sudo parted /dev/sdb mkpart primary linux-swap 100MiB 2GiB
$ sudo parted /dev/sdb mkpart primary ext2 2GiB 100%

1.2.2 - Utilisation de sfdisk

$ echo "1MiB,99MiB,L" |sudo sfdisk /dev/sdb -a
$ echo ",1948MiB,S |sudo sfdisk /dev/sdb -a
$ echo ",,L" |sudo sfdisk /dev/sdb -a

1.3 - Création de partitions gpt

1.3.1 Utilisation de parted

$ sudo parted /dev/sdb mkpart EFI fat32 1MiB 512MiB set 1 esp on
$ sudo parted /dev/sdb mkpart boot linux 512MiB 1GiB
$ sudo parted /dev/sdb mkpart swap linux-swap 1GiB 2GiB
$ sudo parted /dev/sdb mkpart system linux 2GiB 100%

1.3.2 Utilisation de sfdisk

$ echo "1MiB,511MiB,U" |sudo sfdisk /dev/sdb -a
$ echo ",512MiB,L" |sudo sfdisk /dev/sdb -a
$ echo ",1GiB,S" |sudo sfdisk /dev/sdb -a
$ echo ",,L" |sudo sfdisk /dev/sdb -&
$ sudo sfdisk /dev/sdb --part-label 1 EFI
$ sudo sfdisk /dev/sdb --part-label 2 boot $ sudo sfdisk /dev/sdb --part-label 3 swap $ sudo sfdisk /dev/sdb --part-label 4 system

2 - Gestion

2.1 - Affichage table de partitions

2.1.1 Affichage table de partitions msdos

$ sudo parted /dev/sdb unit MiB print free
Number Start End Size Type File system Flags
0,03MiB 1,00MiB 0,97MiB Free Space
1 1,00MiB 100MiB 99,0MiB primary
2 100MiB 2048MiB 1948MiB primary
3 2048MiB 15263MiB 13215MiB primary
$ sudo fdisk /dev/sdb -l
...
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sdb1 2048 204799 202752 99M 83 Linux
/dev/sdb2 204800 4194303 3989504 1,9G 82 partition d'échange Linux /Solaris
/dev/sdb3 4194304 31258623 27064320 12,9G 83 Linux
$ sudo fdisk /dev/sdb -l -o device attrs
....
Périphérique Attr.
/dev/sdb1
/dev/sdb2
/dev/sdb3

2.1.2 Affichage table de partition gpt

$ sudo parted /dev/sdb unit MiB print free
Number Start End Size File system Name Flags
0,02MiB 1,00MiB 0,98MiB Free Space
1 1,00MiB 512MiB 511MiB boot, esp
2 512MiB 1024MiB 512MiB
3 1024MiB 2048MiB 1024MiB
4 2048MiB 15263MiB 13215MiB
$ sudo fdisk -l /dev/sdb
...
Périphérique Début Fin Secteurs Taille Type
/dev/sdb1 2048 1048575 1046528 511M Système EFI
/dev/sdb2 1048576 2097151 1048576 512M Système de fichiers Linux
/dev/sdb3 2097152 4194303 2097152 1G Partition d'échange Linux
/dev/sdb4 4194304 31256575 27062272 12,9G Système de fichiers Linux
$ sudo sfdisk /dev/sdb -l -o device,name,type,type-uuid,uuid,attrs
.....
Périphérique Nom Type Type-UUID UUID Attr.
/dev/sdb1 swap Système de fichiers Linux 0FC63DAF-8483-4772-8E79-3D69D8477DE4 F06A...
/dev/sdb2 boot Partition d'échange Linux 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F AD27...
/dev/sdb3 EFI Système de fichiers Linux 0FC63DAF-8483-4772-8E79-3D69D8477DE4 DEDA...
/dev/sdb4 system Système EFI C12A7328-F81F-11D2-BA4B-00A0C93EC93B 6F30...

2.1.3 Affichage détaillé par partitions

$ sudo sgdisk /dev/sdb -i 2
Partition GUID code: 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F (Linux swap)
Partition unique GUID: AD27734C-59DC-9D44-9C22-F1D6D4DD770B
First sector: 204800 (at 100.0 MiB)
Last sector: 4194303 (at 2.0 GiB)
Partition size: 3989504 sectors (1.9 GiB)
Attribute flags: 0000000000000000
Partition name: 'boot'

2.2 - Manipulations diverses

$ sudo parted /dev/sdb rm 3
ou
$ sudo sfdisk /dev/sdb --delete -N 2
ou
$ sudo sgdisk /dev/sdb -d 2
$ sudo sfdisk /dev/sdb -r
Rien à faire. L'ordre est déjà correct.

$ sudo sgdisk /dev/sdb -s
The operation has completed successfully.
$ sudo sgdisk /dev/sdb -r=1,3
$ sudo parted /dev/sdb name 3 new_name

$ sudo sfdisk /dev/sdb --part-label 3 new_name

$ echo "name=test" |sudo sfdisk /dev/sdb -N 3
$ for i in {1..4}}; do sudo parted /dev/sdb align-check optimal $i; done
1 aligned
2 aligned
3 aligned
4 aligned
$ sudo parted /dev/sdb resizepart 3 new_end
$ echo "start=new_start size=new_size name=new_name" |sudo sfdisk /dev/sdb -N 3

3 - Paramètres vus par le noyau

3.1 - Information du noyau

Une fois le partitionnement effectué ou modifié, la nouvelle table de partitionnement doit-être communiquée au noyau. Ceci est généralement effectué par l'outil de partitionnement, mais peut néanmoins être relancé
$ sudo partprobe -s /dev/sdb
/dev/sdb: gpt partitions 1 2
$ sudo kpartx /dev/sdb
sdb1 : 0 2097152 /dev/sdb 2095104
sdb2 : 0 4194304 /dev/sdb 6291456
$ sudo partx /dev/sdb
NR START END SECTORS SIZE NAME UUID
1 2095104 4192255 2097152 1G new 8446238c-726d-445a-a705-5c434ded67dc
2 6291456 10485759 4194304 2G test ef818144-bac8-4e2c-b067-263eea68a41

3.2 - Utilisation de partx

$ sudo partx /dev/sdb -o NR,Name,Type,Flags,Scheme
NR NAME TYPE FLAGS SCHEME
1 boot 0fc63daf-8483-4772-8e79-3d69d8477de4 0x0 gpt
2 system c12a7328-f81f-11d2-ba4b-00a0c93ec93b 0x0 gpt
$ sudo partx /dev/sdb2 -g -o name
system
Colonnes de sortie disponibles :
NR numéro de partition
START début de la partition dans des secteurs
END fin de la partition dans des secteurs
SECTORS nombre de secteurs
SIZE taille lisible par l'utilisateur
NAME nom de partition
UUID UUID de partition
TYPE type de partition (une chaîne, un UUID ou un identifiant hexadécimal)
FLAGS indicateurs de la partition
SCHEME type de la table de partitions (dos, gpt, etc.)

3.3 - Utilisation de lsblk

$ lsblk /dev/sdb -o name,pttype,parttype
NAME PTTYPE PARTTYPE
sdb gpt
├─sdb1 gpt 0fc63daf-8483-4772-8e79-3d69d8477de4
└─sdb2 gpt c12a7328-f81f-11d2-ba4b-00a0c93ec93b
$ lsblk /dev/sdb2 -n -o parttype 
c12a7328-f81f-11d2-ba4b-00a0c93ec93b
Colonnes de sortie disponibles :
NAME nom du périphérique
KNAME nom du périphérique interne du noyau
PATH chemin vers le nœud du périphérique
MAJ:MIN numéro majeur:mineur du périphérique
FSAVAIL taille disponible sur le système de fichiers
FSSIZE taille du système de fichiers
FSTYPE type de système de fichiers
FSUSED taille utilisée du système de fichiers
FSUSE% pourcentage d'utilisation du système de fichiers
.......
$ lsblk -o uuid,name /dev/sda1
UUID NAME
7bde6ac7-4349-4169-b4ac-7650c05002e2 sda1
986a0c0d-23f9-4073-9b0c-a98dd5aeb260 └─ssd2

les options-n, -d permettent d'éliminer les en-têtes et les dépendances

$ lsblk -nd -o uuid /dev/sda1
7bde6ac7-4349-4169-b4ac-7650c05002e2

Annexe - Outils de partitionnement

Bien que de finalité équivalente, fdisk, sfdisk, gdisk,sgdisk et parted diffèrent

Les commandes de ces outils sont présentés en