Partitions des disques

Nous utiliserons cfdisk pour gérer les partitions des disques. Nous partitionnerons un ssd classique, /dev/nvme0n1.

fdisk -l # Pour voir la liste des partitions disponibles

cfdisk /dev/nvme0n1

Nous allons donc créer 3 partitions :

Nom de la partitionPoint de montagePartitionTaille suggérée
boot/boot/dev/nvme0n1p5512 Mo
root//dev/nvme0n1p6>= 50 Go
home/home/dev/nvme0n1p7Le reste

La partition de swap sera virtuel.

Nous utiliserons la partition EFI de Windows. Vous pouvez la localiser avec un fdisk -l.

Dans le cas d'une disposition BIOS ou MBR :

Nom de la partitionPoint de montageTaille suggérée
[SWAP]-Au moins la taille de votre RAM
root/Le reste

Création des partitions

Avant tout, nous allons executer fdisk -l pour connaitre le nombre de partition déjà présente sur le disque. Dans notre exemple, la commande sort :

Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: **************************
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: ********-****-****-****-************

Device             Start        End   Sectors   Size Type
/dev/nvme0n1p1      2048     206847    204800   100M EFI System
/dev/nvme0n1p2    206848     239615     32768    16M Microsoft reserved
/dev/nvme0n1p3    239616  101374679 101135064  48.2G Microsoft basic data
/dev/nvme0n1p4 101376000  102397951   1021952   499M Windows recovery environment

On a donc 4 partitions déjà présentes. Nous allons donc créer les partitions 5, 6 et 7.

Boot

  • Aller sur Free space.
  • Entrer dans [ New ].
  • Entrer la taille souhaitée, ici 512M.

Notre partition /dev/nvme0n1p5 est créée, de type Linux filesystem.

Root

Il est recommandé de laisser 50Go à cette partition.

  • Aller sur Free space.
  • Entrer dans [ New ].
  • Entrer la taille souhaitée, ici 50G.

Notre partition /dev/nvme0n1p6 est créée, de type Linux filesystem.

Home

  • Aller sur Free space.
  • Entrer dans [ New ].
  • Entrer la taille souhaitée, ici la taille restant du disque.

Notre partition /dev/nvme0n1p7 est créée, de type Linux filesystem.

Application des changements

Entrer [ Write ] pour écrire les changements puis [ Quit ].

Félicitations, vous avez partitionné votre disque. Il va maintenant falloir formater correctement les partitions.

Dans notre exemple, nous utilisons toujours /dev/nvme0n1 comme disque, nous avons en conséquence :

  • /dev/nvme0n1p5 pour la partition boot.
  • /dev/nvme0n1p6 pour la partition root.
  • /dev/nvme0n1p7 pour les données utilisateurs.

Afin de faciliter la suite de l'installation, nous définirons des variables :

export efi=/dev/nvme0n1p1
export boot=/dev/nvme0n1p5
export root=/dev/nvme0n1p6
export home=/dev/nvme0n1p7

Chiffrer les partitions

Dans le bonne pratique d'installation, il est recommandé de chiffrer ses partitions afin d'empêcher une personne de monter vos disques et de récupérer vos données.

Les commandes suivantes servent à écraser les données déjà existantes sur les partitions. Ces commandes sont donc optionnelles.

cryptsetup open --type plain -d /dev/urandom $root to_be_wiped # Ecraser la partition root
dd if=/dev/zero of=/dev/mapper/to_be_wiped status=progress
cryptsetup close to_be_wiped

cryptsetup open --type plain -d /dev/urandom $home to_be_wiped # Override home partition
dd if=/dev/zero of=/dev/mapper/to_be_wiped status=progress
cryptsetup close to_be_wiped

On va maintenant chiffrer la partition root avec un mot de passe et la partition home avec un fichier, ici 20ko de données aléatoire. On va également créer un volume swap de 24Go, ce n'est pas obligatoire.

cryptsetup -y luksFormat $root                  # chiffre root avec un mot de passe
dd if=/dev/urandom of=keyfile bs=1024 count=20  # génére un fichier de 20ko aleatoire
cryptsetup --key-file keyfile luksFormat $home  # chiffre home avec le fichier aleatoire

cryptsetup luksOpen $root crypt_root
cryptsetup --key-file keyfile luksOpen $home crypt_pool

lvm pvcreate /dev/mapper/crypt_pool
lvm vgcreate lvmpool /dev/mapper/crypt_pool
lvm lvcreate -L 24GB -n swap lvmpool            # la taille de la partition SWAP doit être supérieur ou égale à la taille de votre RAM pour pouvoir hiberner
lvm lvcreate -l 100%FREE -n home lvmpool

Formattage des partitions

Nous allons commencer par formatter les partitions.

Si vous avez du swap :

mkswap /dev/mapper/lvmpool-swap
swapon /dev/mapper/lvmpool-swap

Pour le boot et le filesystem :

mkfs.ext4 $boot
mkfs.ext4 /dev/mapper/crypt_root
mkfs.ext4 /dev/mapper/lvmpool-home

Bien joué, c'est formatté !

Monter les partitions filesystem

Une fois nos partitions créées et formattées, il faut monter les partitions filesystem pour travailler dedans.

mount /dev/mapper/crypt_root /mnt
mkdir /mnt/boot
mkdir /mnt/home
mount $boot /mnt/boot
mount /dev/mapper/lvmpool-home /mnt/home
mkdir /mnt/boot/efi
mount $efi /mnt/boot/efi

Les partitions sont maintenant montées et prêtes à l'emploi.