Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| chroot [Le 18/09/2025, 16:57] – supprimée 86.229.122.12 | chroot [Le 01/04/2026, 08:40] (Version actuelle) – [Procédure pas à pas] iznobe | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | {{tag> | ||
| + | ====== Chroot : changement d' | ||
| + | |||
| + | La commande '' | ||
| + | |||
| + | < | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | ===== Utilisations courantes ===== | ||
| + | |||
| + | Cette opération peut être utilisée dans divers cas : | ||
| + | * prison : empêche un utilisateur ou un programme de remonter dans l' | ||
| + | * changement de système : permet de basculer vers un autre système Linux (autre architecture, | ||
| + | * Isolation d' | ||
| + | C'est une action logicielle qui consiste à protéger l' | ||
| + | Pour cela on peut utiliser '' | ||
| + | |||
| + | Dans cette documentation nous traitons de la mise en place avec **chroot**. | ||
| + | |||
| + | Le concept de **chroot**, de changements ou d' | ||
| + | |||
| + | < | ||
| + | |||
| + | ===== La pratique : Changer de système ===== | ||
| + | |||
| + | Cette technique est le plus souvent utilisée pour récupérer une installation endommagée ou pour installer un nouveau système d' | ||
| + | |||
| + | Ici le **chroot** sera utilisé après le démarrage sur un système sain pour se retrouver dans l' | ||
| + | |||
| + | - Démarrez sur un système sain. Par exemple : un //live USB// | ||
| + | - Montez la partition racine du système endommagé :< | ||
| + | sudo mount </ | ||
| + | </ | ||
| + | sudo mount /dev/sda2 / | ||
| + | </ | ||
| + | - Préparez les répertoires spéciaux ''/ | ||
| + | sudo mount -t proc /proc / | ||
| + | </ | ||
| + | - Dans certains cas (réparation de [[: | ||
| + | - Vous pourriez aussi avoir besoin de monter ''/ | ||
| + | - Pour démarrer la connexion internet:< | ||
| + | - Copiez le fichier ''/ | ||
| + | - Changez d' | ||
| + | - En cas d' | ||
| + | |||
| + | Maintenant vous êtes sur l' | ||
| + | |||
| + | Pour quitter l' | ||
| + | exit | ||
| + | |||
| + | Pour démonter toutes les partitions montées avec la partition racine du système endommagé lorsque vous avez terminé : | ||
| + | sudo umount / | ||
| + | |||
| + | ==== Pour un système avec prise en charge de l'EFI : ==== | ||
| + | |||
| + | Il s'agit de faire en sorte une fois le **chroot** exécuté de faire le nécessaire pour prendre en charge l'EFI. | ||
| + | * le chroot (en condensé) :< | ||
| + | </ | ||
| + | * le nécessaire pour prise en charge EFI :< | ||
| + | |||
| + | Ne pas oublier bien sûr de remplacer : ''< | ||
| + | |||
| + | RAPPEL : il est possible d' obtenir les informations de partitions préalablement avec la commande suivante : | ||
| + | lsblk -fe7 | ||
| + | |||
| + | ==== Exemple pratique avec une version 18.04, 20.04, 22.04 et 24.04 ==== | ||
| + | |||
| + | Le plus souvent, cette utilisation est faite à partir d'une clé USB d' | ||
| + | Les commandes de préparation sont : | ||
| + | setxkbmap fr ### afin d' | ||
| + | |||
| + | L' | ||
| + | lsblk -fe7 | ||
| + | |||
| + | Si cette commande | ||
| + | sudo cryptsetup luksOpen / | ||
| + | |||
| + | La partition système à cibler se monte en entrant la commande (pensez à remplacer '' | ||
| + | sudo mount /dev/XXXX / | ||
| + | |||
| + | ou | ||
| + | sudo mount / | ||
| + | |||
| + | ou | ||
| + | sudo zpool import -a -f -l -R / | ||
| + | |||
| + | Le montage des répertoires se fera avec ces commandes (copier/ | ||
| + | < | ||
| + | sudo mount -t proc /proc / | ||
| + | sudo mount -t sysfs /sys / | ||
| + | sudo mount --bind | ||
| + | sudo mount --bind | ||
| + | sudo mount --bind | ||
| + | sudo modprobe efivars | ||
| + | </ | ||
| + | |||
| + | Le changement d' | ||
| + | sudo chroot / | ||
| + | |||
| + | Quelques contrôles seront à faire par exemple | ||
| + | < | ||
| + | sudo mount -t devpts devpts / | ||
| + | df -h && df -i | ||
| + | ping -c4 8.8.8.8 | ||
| + | ls -ls /home | ||
| + | </ | ||
| + | |||
| + | Vous pouvez alors passer à la réparation proprement dite qui a justifié cette opération. | ||
| + | Espérons simplement que le message d' | ||
| + | Lorsque cela sera fini, le plus simple est de redémarrer pour vérifier. La commande suivante s' | ||
| + | sudo reboot | ||
| + | |||
| + | ---- | ||
| + | |||
| + | Dans le cas d'une partition chiffrée, si vous obtenez avec '' | ||
| + | < | ||
| + | └─nvme1n1p3 | ||
| + | | ||
| + | └─part_dechiffree | ||
| + | | ||
| + | ├─vgubuntu-root | ||
| + | │ ext4 | ||
| + | └─vgubuntu-swap_1 | ||
| + | | ||
| + | </ | ||
| + | il faut alors monter la partition racine endommagée avec la commande suivante : | ||
| + | sudo mount / | ||
| + | |||
| + | ==== Multi-architecture ==== | ||
| + | |||
| + | Vous pouvez aussi vouloir démarrer en **chroot** un système Linux d'une [[https:// | ||
| + | |||
| + | Pour cela il vous faut installer les paquets '' | ||
| + | |||
| + | Vous pouvez alors lister les architectures matérielles supportées : | ||
| + | ls / | ||
| + | |||
| + | ou plus verbeux : | ||
| + | sudo update-binfmts --display | ||
| + | |||
| + | Pour démarrer le **chroot** en ARM 64 bits par exemple, et après avoir monté tout ce dont vous avez besoin pour fonctionner en **chroot** dans ''/ | ||
| + | < | ||
| + | cp / | ||
| + | sudo chroot / | ||
| + | </ | ||
| + | |||
| + | Vous pouvez aussi utiliser des commande comme '' | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | |||
| + | === Utiliser un environnement 32 bits sur une installation 64 bits === | ||
| + | |||
| + | Cette option devient de plus en plus désuète puisque la plupart des machines sont maintenant en 64 bits. | ||
| + | Préférez toujours utiliser **chroot** entre deux systèmes de même architecture.\\ | ||
| + | //USB live// 32 bits pour une installation système 32 bits et de même pour 64 bits. | ||
| + | |||
| + | < | ||
| + | cp / | ||
| + | sudo chroot / | ||
| + | </ | ||
| + | |||
| + | Voir le tutoriel [[: | ||
| + | |||
| + | === Convertir un environnement 32 bits en environnement 64 bits === | ||
| + | |||
| + | Il faut d' | ||
| + | |||
| + | Il est préférable | ||
| + | sudo apt update && sudo apt upgrade | ||
| + | |||
| + | Puis de procéder à l' | ||
| + | < | ||
| + | dpkg --add-architecture amd64 | ||
| + | sudo apt-get update | ||
| + | sudo apt-get install linux-image-amd64: | ||
| + | </ | ||
| + | |||
| + | ==== Pour un Ubuntu installé dans une partition BTRFS ==== | ||
| + | |||
| + | Voir [[https:// | ||
| + | |||
| + | ==== Procédure pas à pas à partir d ' une session live ==== | ||
| + | |||
| + | Insérez la clé USB contenant ubuntu dans un port de l' ordi . | ||
| + | Démarre l ' ordi sur la clé et choisir " essayer ubuntu ". | ||
| + | |||
| + | Ouvrez un terminal et entrez : | ||
| + | |||
| + | sudo add-apt-repository universe multiverse -y && sudo apt update && sudo apt install arch-install-scripts -y | ||
| + | | ||
| + | [[: | ||
| + | sudo apt install arch-install-scripts | ||
| + | |||
| + | Repérer votre partition système endommagée avec : | ||
| + | lsblk -fe7 | grep ext4 | ||
| + | |||
| + | et noter son //block device// (ce qui suit ''/ | ||
| + | sudo mount -v / | ||
| + | |||
| + | en remplaçant ''< | ||
| + | sudo arch-chroot /mnt | ||
| + | |||
| + | |||
| + | ===== Voir aussi ===== | ||
| + | |||
| + | * [[: | ||
| + | * commande '' | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | // | ||
