From 776aa7f8a7caffb3243cbe00295277a2550b74ae Mon Sep 17 00:00:00 2001 From: Gregory Colpart Date: Sun, 21 Jan 2018 17:29:21 +0100 Subject: [PATCH] relecture et ajouts sur HowtoParted --- HowtoParted.md | 168 +++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 141 insertions(+), 27 deletions(-) diff --git a/HowtoParted.md b/HowtoParted.md index 640fc9d1..6c0ae09d 100644 --- a/HowtoParted.md +++ b/HowtoParted.md @@ -5,40 +5,74 @@ title: Howto Parted * Documentation : -[Parted](https://www.gnu.org/software/parted/) +[Parted](https://www.gnu.org/software/parted/) est un gestionnaire de partitions disque, constitué de la bibliothèque _libparted_ et de la commande _parted_. C'est l'un des premiers outils à gérer correctement les partitionnements de type GPT, raison pour laquelle nous l'utilisons depuis longtemps à Evolix. Il est également très utile via sa version Live-CD [GParted](https://gparted.org/). -Pour les disques de plus de 1.8 To, il faut utiliser un partitionnement de type GPT. -fdisk/cfdisk ne supporte pas les partitionnements GPT, et il faut utiliser *parted*. - -## Créer une table de partition +## Installation ~~~ -# parted /dev/sdb +# apt install parted + +$ /sbin/parted -v +parted (GNU parted) 3.2 +Copyright (C) 2014 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later . +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. + +Written by . +~~~ + +## Utilisation de base + +Commandes disponibles : + +~~~ +Welcome to GNU Parted! Type 'help' to view a list of commands. +(parted) help + align-check TYPE N check partition N for TYPE(min|opt) alignment + help [COMMAND] print general help, or help on COMMAND + mklabel,mktable LABEL-TYPE create a new disklabel (partition table) + mkpart PART-TYPE [FS-TYPE] START END make a partition + name NUMBER NAME name partition NUMBER as NAME + print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition + quit exit program + rescue START END rescue a lost partition near START and END + resizepart NUMBER END resize partition NUMBER + rm NUMBER delete partition NUMBER + select DEVICE choose the device to edit + disk_set FLAG STATE change the FLAG on selected device + disk_toggle [FLAG] toggle the state of FLAG on selected device + set NUMBER FLAG STATE change the FLAG on partition NUMBER + toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER + unit UNIT set the default unit to UNIT + version display the version number and copyright information of GNU Parted +~~~ + +### Créer une table de partitions + +Exemple avec un table de partitions GPT sur un volume tout neuf : + +~~~ +# parted /dev/sdz (parted) p -Error: /dev/sdb: unrecognised disk label +Error: /dev/sdz: unrecognised disk label (parted) mklabel gpt (parted) p Model: IFT DS S12E-G2140-4 (scsi) -Disk /dev/sdb: 7998GB +Disk /dev/sdz: 7998GB Sector size (logical/physical): 512B/512B Partition Table: gpt ~~~ -## Créer une partition de boot pour système UEFI +### Créer une partition + +Exemple avec une partition de type _ext4_ qui occupe tout le volume : ~~~ -# parted /dev/sdx - -(parted) mkpart ESP fat32 1MiB 513MiB -~~~ - -## Créer une partition avec parted - -~~~ -# parted /dev/sdb +# parted /dev/sdz (parted) mkpart primary ext4 0% 100% (parted) p @@ -49,9 +83,11 @@ Number Start End Size File system Name Flags (parted) q -# mkfs.ext4 /dev/sdb1 +# mkfs.ext4 /dev/sdz1 ~~~ +Exemple avec un périphérique boucle `/dev/loop0` : + ~~~ # parted /dev/loop0 @@ -72,15 +108,77 @@ Number Start End Size Type File system Flags (parted) q ~~~ -## Resizer une partition avec parted (à froid) - -Le _resize_ de parted ne supporte pas ext4. -On utilisera plutôt cfdisk/fdisk/sfdisk pour supprimer/recréer la partition (attention bien conserver le même secteur de début !!!) - -## Flag boot +Exemple d'ajout d'une partition : ~~~ -(parted) set 1 boot on +(parted) mkpart test ext4 209GB 210GB + +(parted) p + 5 209GB 210GB 727MB ext4 test +~~~ + + +## Utilisation avancée + +### Infos diverses + +Avec la commande `print` : + +~~~ +(parted) print devices +/dev/nvme0n1 (256GB) +/dev/mapper/nvme0n1p4_crypt (7997MB) +/dev/mapper/nvme0n1p3_crypt (200GB) + +(parted) print free +[...] + 210GB 256GB 46,1GB Free Space +~~~ + +### Flag boot + +Pour positionner le flag _boot_ sur une partition (ici la numéro 1) : + +~~~ +(parted) set 1 boot on +~~~ + +### Créer une partition de boot pour système UEFI + +~~~ +# parted /dev/sdz + +(parted) mkpart ESP fat32 1MiB 513MiB + +(parted) p + +Number Start End Size File system Name Flags + 1 1049kB 274MB 273MB fat32 EFI system partition boot, hidden, esp +~~~ + +### Changement de la taille d'une partition + +Pour changer la taille d'une partition, on préfère utiliser cfdisk/fdisk/sfdisk et supprimer/recréer la partition, +on peut néanmoins le faire avec _parted_ : + +~~~ +(parted) p + 5 209GB 210GB 727MB ext4 test + +(parted) resizepart 5 211GB + +(parted) p + 5 209GB 211GB 1726MB ext4 test +~~~ + +On n'oubliera pas ensuite de faire un `resize2fs` pour prise en compte par le système de fichiers : + +~~~ +# resize2fs /dev/nvme0n1p5 +resize2fs 1.43.4 (31-Jan-2017) +Le système de fichiers de /dev/nvme0n1p5 est monté sur /mnt ; le changement de taille doit être effectué en ligne +old_desc_blocks = 1, new_desc_blocks = 1 +Le système de fichiers sur /dev/nvme0n1p5 a maintenant une taille de 421448 blocs (4k). ~~~ ## Créer des volumes RAID @@ -95,5 +193,21 @@ Par exemple, pour la première partition d'un disque : Puis initialiser le RAID avec MDADM comme d'habitude : ~~~ -mdadm --create /dev/mdX --chunk=64 --level=raid1 --raid-devices=2 /dev/sdX1 /dev/sdY1 +# mdadm --create /dev/mdX --chunk=64 --level=raid1 --raid-devices=2 /dev/sdX1 /dev/sdY1 ~~~ + + +## FAQ + +### Quels sont les avantages d'une table de partitions GPT ? + +Une table de partitions de type GPT (GUID Partition Table) a plusieurs avantages : + +* jusqu'à 128 partitions primaires (plus besoin de partitions étendues/logiques) +* prise en charge des disques de taille supérieure à 1.8 To +* la table des partitions est écrite au début à la fin du disque + + +### Quand doit-on utiliser GPT ? + +Une table de partitions de type GPT est obligatoire pour les disques de plus de 1.8 To, mais cela peut également être utilisé pour les disques de plus petite taille sous réserve que cela suit supporté par le BIOS/UEFI.