chroot sous Linux : Explications et exemples
Table des matières
Que veut dire chrooter ?
Et bien chrooter est un verbe qui vient du mot chroot.
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 :
Je vais traiter dans cette page la première partie.
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 ....
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.
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 :
Ensuite, on va monter notre racine dans la future arborescence :
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
Ensuite, il ne faut pas oublier de monter les dossiers spéciaux nécessaires au fonctionnement du système :
Enfin, basculer vers le nouveau système avec la commande chroot :
Le prompt change alors et vous êtes prêts à utiliser votre distribution qui est installée sur le disque dur
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
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 :
Puis par les partitions additionnelles :
Et enfin la 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é :
Et l'affaire est réglée.
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 :
Et l'affaire est réglée.
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 :
Et saisissez deux fois le nouveau mot de passe root !
Et voila, c'était facile hein
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 :
Code BASH :
mount /dev/sda1 /media/sys
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
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.
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.
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