Aller au contenu

Chroot

Chroot d'un système Linux complet

Le prérequis est de démarrer sur un autre système Linux : - Le média de la même distribution dans le cas d'une réparation - Depuis un autre système Linux installé en dualboot, c'est aussi possible

On va créer un point de montage dans /mnt/linux par exemple, mais on peut tout à fait créer un point de montage où on veut.

On identifiera avec la commande suivante les partitions et leur taille :

lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0   90G  0 disk 
├─sda1   8:1    0   35G  0 part 
├─sda2   8:2    0   53G  0 part 
└─sda3   8:3    0    2G  0 part 

Ici : sda1 est ma racine à 35Go, sda2 est le /home et sda3 est le swap. Pour plus de détails (systèmes de fichiers, labels, UUID, ...) on peut utiliser :

lsblk -f

Ensuite, on va monter la racine du système concerné dans la future arborescence :

Dans cet exemple, j'utilise /dev/sda1 qui est la partition racine, évidemment, remplacez en fonction de votre cas.

mount /dev/sda1 /mnt/linux

Ensuite, montez si vous en avez l'utilité d'autres partitions (/boot ou /home etc ... )

Exemple avec /home en /dev/sda2

mount /dev/sda2 /mnt/linux/home

Ensuite, il ne faut pas oublier de monter les dossiers spéciaux nécessaires au fonctionnement du système dans le cas d'une réparation de celui-ci :

Copier vers le presse-papierCode BASH :

mount --bind /dev /mnt/linux/dev
mount -t proc /proc /mnt/linux/proc
mount -t sysfs /sys /mnt/linux/sys

Enfin, basculer vers le nouveau système avec la commande chroot vue précédemment. On va appeler un shell bash dans ce cas :

chroot /mnt /bin/bash

Le prompt change alors et vous pouvez maintenant effectuer des opérations comme si vous étiez dans votre système installé directement. Par exemple : réparer le chargeur d'amorçage, mettre à jour le système, ou réinitialiser des mots de passe.

Quitter le chroot

Pour sortir de l'environnement du chroot, il suffit sumplement de quitter le système chrooté avec la commande

exit

Puis une fois revenu sur le système live, démonter tous les systèmes de fichiers précédemment montés :

Commencer par les dossiers spéciaux :

umount /mnt/linux/dev
umount /mnt/linux/proc
umount /mnt/linux/sys

Puis par les partitions additionnelles :

umount /mnt/linux/home

Et enfin la racine :

umount /mnt/linux

On pourra tout démonter d'un coup avec l'option -R de la commande umount qui fait les démontages de façon récursive :

umount -R /mnt/linux

Copié de ce site: https://www.linuxtricks.fr/wiki/chroot-sous-linux-explications-et-exemples