Partitionnement

1 - Principe

Le partitionnement comprend deux étapes principales :

Dans ce qui suit,

Le partitionnement est effectué à l'aide de la commande fdisk.

2 - Préalables

2.1 - Précautions

Le partitionnement a pour effet de rendre illisible les données préalablement disponibles. Il est donc important avant de démarrer la création de la table de partition ou d'une partition :

2.2 - Identification

$ dmesg |tail
[ 428.628524] sd 6:0:0:0: [sdb] No Caching mode page found
[ 428.628536] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[ 428.632621] sdb: sdb1
[ 428.635615] sd 6:0:0:0: [sdb] Attached SCSI removable disk
# lsscsi -s
[0:0:0:0] disk ATA KINGSTON SHSS37A 00.Y /dev/sda 240GB
[2:0:0:0] cd/dvd HL-DT-ST DVDRAM GT51N AS00 /dev/sr0 -
[6:0:0:0] disk USB Flash Disk 1100 /dev/sdb 2.00GB

# lsblk -f /dev/sdb
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb
└─sdb1 vfat films C014-CB64 /media/user/films

ou bien

# lsblk -o NAME,FSTYPE,LABEL,SIZE,MOUNTPOINT /dev/sdb
NAME FSTYPE LABEL SIZE MOUNTPOINT
sdb ext2 label_cle 1,9G
└─sdb1 ext4 label_ext 1,9G /media/label_ext

2.3 - Démontage

# lsblk  /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:32 1 14,9G 0 disk
└─sdb1 8:33 1 14,9G 0 part /media/xxxxx/video
# umount /dev/sdb*

2.4 - Effacement

L'effaçage préalable de traces de partitionnement, formatage, cryptage, volumes logiques existantes est parfois nécessaire. Il est généralement suffisant

# dd if=/dev/zero of=/dev/sdb bs=1M count=5
# wipefs -af /dev/sdb 

Après ces effaçages, la clé doit alors paraître "vierge", sans partitionnement ni formatage :

# lsblk -f /dev/sdb
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb

2.5 - Étiquette de clé ou de volume

# mkfs.ext2 /dev/sdb -L label_volume

Vérification :

# lsblk -f /dev/sdb
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb ext2 label_volume e302e5bb-ff38-4c22-aae9-ea9861313f97
# lsblk -f /dev/sdb
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb ext2 philippe a01bfc1f-bc11-406a-b4c0-945e57083d92
└─sdb1 ext4 photo 882cd984-48c8-476f-b402-9c08dce2a652

3 - Utilisation de fdisk (mode interactif)

3.1 - Création de la table de partition

Lancer fdisk, pour créer un partitionnement de type MBR/DOS ou gdisk pour créer un partitionnement de type GPT. Dans l'exemple ci-dessous, on utilise fdisk.

# fdisk /dev/sdb

Bienvenue dans fdisk (util-linux 2.25.2).
Les modifications resteront en mémoire jusqu'à écriture.
Soyez prudent avant d'utiliser la commande d'écriture.

Le périphérique ne contient pas de table de partitions reconnue.
Created a new DOS disklabel with disk identifier 0x4cfadf77.

Commande (m pour l'aide) :
Aide :

DOS (secteur d'amorçage)
a modifier un indicateur d'amorçage
b éditer l'étiquette BSD imbriquée du disque
c basculer l'indicateur de compatibilité DOS

Générique
d supprimer la partition
l afficher les types de partitions connues
n ajouter une nouvelle partition
p afficher la table de partitions
t modifier le type d'une partition
v vérifier la table de partitions

Autre
p m afficher ce menu
u modifier les unités d'affichage et de saisie
x fonctions avancées (réservées aux spécialistes)

Sauvegarder et quitter
w écrire la table sur le disque et quitter
q quitter sans enregistrer les modifications

Créer une nouvelle étiquette
g créer une nouvelle table vide de partitions GPT
G créer une nouvelle table vide de partitions SGI (IRIX)
o créer une nouvelle table vide de partitions DOSl
s créer une nouvelle table vide de partitions Sun

3.2 - Création des partitions

Après avoir créé la table de partition, comme indiqué ci-dessus :

Une nouvelle partition 1 de type « Linux » et de taille 1,9 GiB a été créée.
Commande (m pour l'aide) : t
Partition 1 sélectionnée
Code Hexa (taper L pour afficher tous les codes) :L

0 Vide 24 NEC DOS 81 Minix / Linux a bf Solaris
1 FAT12 27 TFS WinRE masqu 82 partition d'éch c1 DRDOS/sec (FAT-
2 root XENIX 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 usr XENIX 3c récupération Pa 84 OS/2 masquée di c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux étendue c7 Syrinx
5 Étendue 41 PPC PReP Boot 86 NTFS volume set da Non-FS data
6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility
8 AIX 4e 2e partie QNX4. 8e LVM Linux df BootIt
9 Amorçable AIX 4f 3e partie QNX4. 93 Amoeba e1 DOS access
a Gestionnaire d' 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f Étendue W95 (LB 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b
11 FAT12 masquée 56 Golden Bow a8 UFS Darwin f1 SpeedStor
12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 FAT16 masquée < 61 SpeedStor ab Amorçage Darwin f2 DOS secondaire
16 FAT16 masquée 63 GNU HURD ou Sys af HFS / HFS+ fb VMware VMFS
17 HPFS/NTFS masqu 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 partition d'éch fd RAID Linux auto
1b W95 FAT32 masqu 70 DiskSecure Mult bb Boot Wizard mas fe LANstep
1c W95 FAT32 masqu 75 PC/IX be Amorçage Solari ff BBT
1e W95 FAT16 masqu 80 Minix ancienne
Code Hexa (taper L pour afficher tous les codes) :
Commande (m pour l'aide) : p   
Disque /dev/sdb : 1,9 GiB, 2013265920 octets, 3932160 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x19ee797c

Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 3932159 3930112 1,9G 87 NTFS volume set
Commande (m pour l'aide) : w
La table de partitions a été altérée.
Appel d'ioctl() pour relire la table de partitions.
Synchronisation des disques.

3.3 - Vérification

# fdisk -l /dev/sdb

Disque /dev/sdb : 1,9 GiB, 2013265920 octets, 3932160 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x000b2178

Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 3932159 3930112 1,9G 83 Linux

A noter que l'indication du type de partition qui apparaît (Linux dans l'exemple ci-dessus) n'indique pas que celle-ci a été effectivement formatée.

# lsblk -f /dev/sdb
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb
└─sdb1

4 - Utilisation de parted (mode script)

# parted -s /dev/sdb mklabel msdos

Remplacer msdos par gpt pour créer une table de partition gpt!

# parted -s /dev/sdb mkpart primary ext4 2MiB 1GiB

Remplacer le cas échéant

- ext4 par fat32 ou linux-swap

- 1GiB par une valeur en % par exemple 100%

L'option -s spécifie le mode script (aucune question n'est posée).

# parted -s /dev/sdb set 1 boot on

parted -s accepte les commandes successives, par exemple création d'une table de partition, d'une partition ext4 de 1G, d'une partition de swap de 3G, d'une partition ext de taille maximum restante et indicateur de boot sur la partition 1

# parted -s /dev/sdb mklabel msdos mkpart primary ext4 2MiB 1GiB mkpart primary linux-swap 1GiB 4GiB mkpart primary fat32 4GiB 100% set 1 boot on
# parted /dev/sdb print
Model: WD 1600BEV External (scsi)
Disk /dev/sdb: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 2097kB 1074MB 1072MB primary boot
2 1074MB 4295MB 3221MB primary
3 4295MB 160GB 156GB primary lba

# fdisk -l /dev/sdc

Disque /dev/sdb : 149,1 GiB, 160041885696 octets, 312581808 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x01b7796c

Device Boot Start End Sectors Size Id Type
/dev/sdc1 * 4096 2097151 2093056 1022M 83 Linux
/dev/sdc2 2097152 8388607 6291456 3G 82 Linux swap / Solaris
/dev/sdc3 8388608 312580095 304191488 145,1G c W95 FAT32 (LBA)