Chrooter un système Linux



Introduction



Que veut dire chrooter ?
Et bien chrooter est un verbe qui vient du mot chroot.

man chroot:
chroot - exécuter une commande ou un shell interactif avec un répertoire racine spécial


En d'autres termes, la commande chroot permet de changer le répertoire racine vers un nouvel emplacement.
Pour information, chroot est un acronyme de Change Root, changer de racine.

Chroot peut être utilisé dans deux cas :
  • En tant que bascule d'environnement pour prendre le contrôle d'une installation Linux depuis un autre système.
  • En tant que prison pour empêcher un utilisateur de remonter dans l'arborescence pour l'emprisonner dans un répertoire spécifique (ce qui peut être utilisé avec un serveur FTP pour que les utilisateurs ne remontent pas dans l'arborescence du système)


Je vais traiter dans cette page la première partie.


A quoi cela peut bien servir



Et bien, avec grub2, il est souvent impossible de l'installer sur la partition racine depuis le média d'installation.
Si vous avez un autre gestionnaire d'amorçage et que vous ne voulez pas l'écraser, le chroot peut être utile.
Le chroot peut aider à écraser le mot de passe root si vous l'avez perdu.
Récupérer un système endommagé.
Et bien d'autres utilisations ....


Recommandations



Nous allons chrooter ici un système installé sur un disque dur depuis un CD Live de la même distribution.
J'ai fait mes tests sur une Mageia 3 64bits.
Il est recommandé d’utiliser donc un Live DVD de la même distribution avec la même architecture et le même environnement de bureau.


C'est parti, chrootons



Dans un premier temps, booter sur le Live CD ou Live DVD de la distribution adéquate.
Si nous voulons chrooter notre distribution installée sur le disque dur et qu'il s'agit d'une Mageia 3 KDE 64bits, prendre le Live DVD Mageia 3 64bits KDE.
S'il s'agit d'une Ubuntu 32bits, prenez une Ubuntu 32bits Live CD.

Une fois sur le bureau, se connecter en root dans une console.

Maintenant, les choses sérieuses commencent.

Dans un premier temps, on prépare notre future arborescence :

Code BASH :
mkdir /aa


Ensuite, on va monter notre racine dans la future arborescence :

Dans cet exemple, je suppose que /dev/sda1 est la partition racine de mon système installé sur disque dur.
Remplacer évidemment en fonction de votre cas.


Code BASH :
mount /dev/sda1 /aa


Ensuite, montez si vous en avez l'utilité d'autres partitions (/home ou /var si vous avez un /var séparé, /usr si vous avez un /usr séparé etc ... )
Exemple avec /home en /dev/sda2

Code BASH :
mount /dev/sda2 /aa/home


Ensuite, il ne faut pas oublier de monter les dossiers spéciaux nécessaires au fonctionnement du système :

Code BASH :
mount --bind /dev /aa/dev
mount -t proc /proc /aa/proc
mount -t sysfs /sys /aa/sys


Enfin, basculer vers le nouveau système avec la commande chroot :

Code BASH :
chroot /aa /bin/bash 


Le prompt change alors et vous êtes prêts à utiliser votre distribution qui est installée sur le disque dur :intello:


Et quand j'ai fini, je déchroot ?



Et bien Oui, il est préférable, une fois les opérations terminées de démonter notre chroot.

Quitter le système chrooté avec la commande

Code BASH :
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 :

Code BASH :
umount /aa/dev
umount /aa/proc
umount /aa/sys


Puis par les partitions additionnelles :

Code BASH :
umount /aa/home


Et enfin la racine :

Code BASH :
umount /aa



Exemple de tâches faites sous système chrooté




Installation de GRUB2 sur la partition racine



J'ai sur ma machine plusieurs systèmes (deux Linux).
Une Mageia dont la partition racine est /dev/sda1, et une Calculate Linux dont la partition racine s'appelle /dev/sda6

Je souhaite conserver GRUB de Mageia sur mon MBR, et d'installer le GRUB2 de Calculate sur sa partition racine.
Je ferai un chainage sur le GRUB de Mageia vers la partition /dev/sda6

J'ai donc installé ma Calculate Linux avec / sur /dev/sda6, sans installer GRUB2.

J'ai chrooté avec le live DVD le système Calculate Linux comme indiqué précédemment.

Il m'a juste fallu installer GRUB2 sur le / de Calculate.

Dans mon système chrooté :

Code BASH :
grub-install -f /dev/sda6


Et l'affaire est réglée. :cbon:

Réinstaller GRUB2 sur le MBR



Si une mise à jour de Windows 8 vers 8.1 vous a cassé le GRUB qui était sur le MBR, voici comment procéder.

Il faut chrooter comme indiqué précédemment.

Puis pour réinstaller GRUB2 sur le MBR :

Code BASH :
grub-install -f /dev/sda


Et l'affaire est réglée. :cbon:


Mot de passe root perdu



Si vous avez perdu le mot de passe root, et que vous avez accès à votre machine physiquement, cette astuce est pour vous !

Chrootez le système comme vu précédemment.

Une fois dans le système chrooté, saisissez :

Code BASH :
passwd


Et saisissez deux fois le nouveau mot de passe root !

Et voila, c'était facile hein :cbon:
Cette page a été vue 7830 fois