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 partition | Point de montage | Partition | Taille suggérée |
---|---|---|---|
boot | /boot | /dev/nvme0n1p5 | 512 Mo |
root | / | /dev/nvme0n1p6 | >= 50 Go |
home | /home | /dev/nvme0n1p7 | Le 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 partition Point de montage Taille 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.