Linux, Bête comme Chroot .

Bête comme Chroot

L' expression "bête comme chou" existe depuis le milieu du XIXe siècle. Elle s'utilisait alors pour qualifier quelqu'un de "très bête".
Le chou, en argot de l'époque, désignait aussi bien la tête ("se prendre le chou", par exemple) que la partie charnue sur laquelle on s'assoit, le 'cul'.
C'est à cette deuxième partie du corps qu'on attribuait une intelligence largement au dessous de la moyenne.
L'évolution de son sens initial vers celui d'aujourd'hui n'est malheureusement pas expliquée, mais on peut imaginer que cela vient du fait que, si quelqu'un de bête comme chou (dans son ancien sens) arrivait à faire une certaine chose, c'est que celle-ci était vraiment très facile à faire.
Source

 

Cas classique, je plante mon installation de Arch avec l'installation d'un driver, en l’occurrence les pilotes propriétaires de Nvidia. Au reboot, écran noir et plus rien ne répond. Afin de retrouver une installation fonctionnelle, on va devoir booter un live-cd, puis à l'aide de la commande chroot, changer le répertoire racine vers un nouvel emplacement. Cette opération peut être utilisée dans divers cas :

  • prison : empêche un utilisateur ou un programme de remonter dans l'arborescence et le cantonne à une nouvelle arborescence restreinte.
  • changement d'environnement : permet de basculer vers un autre système linux (autre architecture, autre distribution, autre version). Situation qui nous intéresse ici.

 

Je me suis servi d'un live-cd Ubuntu 18.04 pour dépanner mon installation de Arch Linux. Voilà la copie du prompt,
d'une petite dizaine de commandes, preuve que ce n'est pas bien compliqué. Le paquet nvidia est désinstallé, et le PC fonctionnel au reboot.

Chroot Arch à partir de Ubuntu
==================


ubuntu@ubuntu:~$ sudo su
root@ubuntu:/home/ubuntu# mkdir /mnt/chroot
root@ubuntu:/home/ubuntu# mount /dev/sdc1 /mnt/chroot/
root@ubuntu:/home/ubuntu# mount --bind /dev/ /mnt/chroot/dev
root@ubuntu:/home/ubuntu# mount -t proc /proc /mnt/chroot/proc
root@ubuntu:/home/ubuntu# mount -t sysfs /sys /mnt/chroot/sys
root@ubuntu:/home/ubuntu# chroot /mnt/chroot /bin/bash 
[root@ubuntu]: /># pacman -R nvidia
vérification des dépendances...

Paquet (1)  Ancienne version  Changement net

nvidia      390.48-13              -9,20 MiB

Taille totale supprimée :  9,20 MiB

:: Voulez-vous désinstaller ces paquets ? [O/n] 
:: Traitement des changements du paquet...
(1/1) désinstallation de nvidia                                                    [-----------------------------------------------] 100%
:: Exécution des crochets de post-transaction...
(1/2) Updating linux module dependencies...
(2/2) Arming ConditionNeedsUpdate...
[root@ubuntu]: /># reboot


En détail :

On passe en root :
ubuntu@ubuntu:~$ sudo su
On crée un répertoire dans lequel on va monter le répertoire racine
root@ubuntu:/home/ubuntu# mkdir /mnt/chroot
La racine du système à récupérer se trouvait sur sdc1
root@ubuntu:/home/ubuntu# mount /dev/sdc1 /mnt/chroot/
Si la partition /boot est à part, il faut la monter sur le /boot du chroot :
root@ubuntu: mount /dev/sda[x] /mnt/chroot/boot
Puis on monte /dev /proc et /sys :
root@ubuntu:/home/ubuntu# mount --bind /dev/ /mnt/chroot/dev
root@ubuntu:/home/ubuntu# mount -t proc /proc /mnt/chroot/proc
root@ubuntu:/home/ubuntu# mount -t sysfs /sys /mnt/chroot/sys

Pour finir on lance la commande chroot dans son environnement d'origine (bash) :
root@ubuntu:/home/ubuntu# chroot /mnt/chroot /bin/bash
Là, on est placé dans le répertoire de l' environnement planté, en l'occurrence une Arch Linux.
La dernière commande lancée dans la Arch était pacman -S nvidia l'installation de drivers propriétaires nvidia. Je lance donc la désinstallation.
[root@ubuntu]: /># pacman -R nvidia
Et je peux rebooter normalement.
[root@ubuntu]: /># reboot


Piqués chez linuxtricks.fr , d'autres situations résumées ici par Adrien, où le chroot s’avérera salvateur.

Installation de GRUB2 sur la partition racine

Dans mon système chrooté :

grub-install -f /dev/sda[X]

Adapter le chemin vers la bonne partition et l'affaire est réglée.

Réinstaller GRUB2 sur le MBR

Si une mise à jour de Windows 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 :

grub-install -f /dev/sda

Et l'affaire est réglée.

Mot de passe root perdu (super sécurisé Linux xD)

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 :

passwd

Et saisissez deux fois le nouveau mot de passe root ! Et voila, c'était facile hein

FMR

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *