Réparation du système: comment faire chrooter

Plusieurs fois, en particulier lors de déconner, nous nous sommes retrouvés en difficulté de ne pas pouvoir accéder au système pour le réparer, mais la solution est simple: utilisez la commande chroot depuis n'importe quel LiveCD / RepairCD.

Dans de nombreux endroits (forums, blogs ...) cette commande est mentionnée et un "copier / coller" du code est donné, mais mon intention avec ce post est d'expliquer un peu ces étapes, afin d'en faire bon usage outil, avec connaissance de la cause.

Introduction

La commande chroot Il est connu sous le nom de CHangeROOT, c'est-à-dire une commande qui vous permet de changer la racine du système sur lequel vous travaillez. En d'autres termes: si vous venez d'un LiveCD et que vous voulez que tout ce que vous travaillez sur la console ait un effet sur le système installé, vous devez d'abord utiliser chroot.

Le problème est qu'il ne suffit pas d'utiliser chroot En tant que tel, nous devons d'abord monter correctement certaines partitions.

COMMENT FAIRE

Nous devons d'abord démarrer un terminal, soit à partir d'un autre système installé (sur une autre partition / disque), soit à partir d'un LiveCD. IMPORTANT: l'architecture du LiveCD doit correspondre à celle du système à réparer (32 ou 64 bits).
Une fois dans le terminal, nous commencerons par identifier nos partitions:
fdisk -l

  • Avec cette commande, nous listerons toutes nos partitions / disques. Nous devons identifier quelle est la partition cible, où notre système à réparer est installé, à partir de maintenant nous l'appellerons système cassé.

Pour cet exemple, nous considérerons que notre système défectueux est en / Dev / sda1 .

Nous assemblons le système. Nous allons d'abord créer le dossier dans lequel nous allons travailler et plus tard, nous monterons la partition où se trouve notre système cassé dans ce dossier
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

Si vous avez le dossier / home o / var ou tout autre sur une autre partition, vous devez le monter / s comme suit:
mount /dev/sda2 /mnt/my_linux/var

  • REMARQUE: j'ai pris comme exemple la partition / dev / sda2 pour le dossier / var, laissez chacun ajuster le code à ses caractéristiques.

Normalement, cela suffirait si vous avez simplement besoin d'éditer les fichiers à la main, mais si nous voulons exécuter certaines commandes qui configurent le système, nous devons monter certains dossiers système spéciaux: / dev, / proc/ sys.
mount -t proc proc /mnt/my_linux/proc
mount -t sysfs sys /mnt/my_linux/sys
mount -o bind /dev /mnt/my_linux/dev

  • Avec l'option -t nous disons monter le type de "système de fichiers" que nous voulons monter. Il est nécessaire de le spécifier en raison de la nature particulière des dossiers / proc y / sys.
  • Avec l'option -o nous spécifions les options de monter. L'option lier sert à "lier". Sous UNIX, tous les périphériques matériels sont accessibles via le dossier / dev, c'est pourquoi nous devons monter notre courant / dev dans le dossier où se trouve maintenant notre système défectueux. Comme ce dossier est déjà monté, il suffit de dire monter où il est monté à l'origine.

C'est fait de cette façon pour que chroot Accédez à ces dossiers comme s'il s'agissait du système défectueux, bien qu'ils doivent provenir du système actuel (ex: la session LiveCD) car ils sont liés à l'état du système, des processus et du matériel.

Il est maintenant temps d'utiliser chroot:
chroot /mnt/my_linux/ /bin/bash

  • La commande est passée en arguments le chemin de la nouvelle racine «/» (qui dans notre cas est / mnt / mon_linux) et la console que vous souhaitez utiliser (dans ce cas, nous avons opté pour le bash bien connu, trouvé dans / bin / bash). Si on ne spécifie pas la console, on se retrouvera devant un interpréteur de commandes un peu archaïque (il ne se remplit pas lorsqu'on appuie sur l'onglet, etc).

Nous pouvons maintenant utiliser la console comme si nous avions démarré la session root sur notre système défectueux (éditer des fichiers, vérifier les scripts, installer / désinstaller des packages ...) ATTENTION! Pour que les modifications apportées prennent effet, vous devez démonter le système de fichiers après avoir quitté chrootRegardez l'exemple ci-dessous.

Plus d'informations https://wiki.archlinux.org/index.php/Change_Root (lecture plus que recommandée).

Exemple d'utilisation: restaurer GRUB2

L'une des utilisations les plus répandues de chroot C'est comme un outil pour réparer le GRUB. Puisque si le grub se brise, il est pratiquement impossible de démarrer notre système pour le réparer.

AVIS: ce petit tutoriel est un simple exemple, il fonctionne sur diverses distributions dérivées de Debian, Ubuntu et openSUSE entre autres. Même ainsi, vérifiez la documentation de votre distribution, car dans beaucoup, la commande n'est pas trouvée mise à jour-grub.
# REMARQUE: ces commandes s'exécutent une fois dans chroot.update-grub
grub-install /dev/sda

  • Avec update-grub Nous mettons à jour le menu d'entrée de GRUB2, ajoutant ainsi toutes les entrées manquantes. Plus tard, nous réinstallons GRUB sur notre disque, car il a été endommagé.

Dans ce cas, j'ai pris / Dev / sda comme le disque sur lequel nous avons notre système, celui-ci doit être adapté à votre cas.

Notre GRUB devrait déjà être réparé, il faut donc sortir chroot, démontez le système de fichiers (IMPORTANT) et redémarrez pour que les modifications prennent effet. Si nous oublions de démonter le système de fichiers, il est possible que le redémarrage des fichiers ne se démonte pas correctement et que certaines modifications ne prennent donc pas effet.
# nous avons quitté chrootexit
# démonter le système de fichiers et redémarrerumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

Et c'est tout. J'espère que cela vous plaira et que cela vous aidera. Salutations!


Laisser un commentaire

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

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Lépreux_Ivan dit

    Je pourrais utiliser ceci .. À un moment donné, je dois l'utiliser.

  2.   mario dit

    L'un d'entre vous a-t-il utilisé Chakra Benz? Si oui, pourriez-vous me dire si
    est-ce facile pour l'utilisateur ordinaire? J'utilise SolydK qui est très simple mais
    Je comprends que Chakra est du pur KDE et cela m'intéresse.

    1.    Wow dit

      Oui, chakra est bien et plus ou moins facile, le fait est que pour installer / désinstaller des paquets, vous devez le faire avec la console, car ils travaillent toujours sur un gestionnaire de paquets graphique. Essayez-le car cela en vaut la peine. Il utilise le gestionnaire de paquets pacman, hérité d'Archlinux, mais attention, il ne partage pas de référentiels avec arch et il n'est PAS compatible avec eux. Si vous voulez en savoir plus sur pacman, jetez un œil au wiki arch https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    izzyvp dit

        Oktopi est déjà stable et fonctionne assez bien pour un utilisateur moyen, avec cela vous n'avez pas besoin du terminal pour utiliser pacman.

  3.   x11tête11x dit

    J'espère que ce post sera visité par beaucoup, puis ils commenceront à réinstaller la tête pour n'importe quoi quand avec un chroot vous pouvez réparer le système presque toujours, le chroot vous permet de nombreuses possibilités, parmi lesquelles l'installation de Gentoo xD hahaha

  4.   Alundo dit

    gentil, merci ... je ne lui ai jamais donné un ballon car certains live-cd pour réparation me semblent qu'ils le relèvent par défaut, mais maintenant c'est clair, merci encore.

  5.   Lolo dit

    Pour le compléter, il serait bon d'expliquer comment monter les partitions LVM, les partitions cryptées et les systèmes RAID.

    1.    Wow dit

      mmm Je n'ai pas touché LVM et RAID depuis longtemps, mais pourriez-vous m'informer un peu pour terminer ceci… merci pour le conseil!

      1.    Lolo dit

        Eh bien, la vérité est que je pourrais utiliser grand.

        Ce serait très apprécié.

        1.    Wow dit

          jetez un œil à ce wiki, c'est plutôt cool http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   Modem dit

    Si seulement ce sujet avait existé quelques semaines plus tard, il s'avère que j'ai eu un problème avec mon système et que je lis et lis et partout j'ai trouvé chroot et blablabla mais cela n'a pas fonctionné pour moi sur la base de cette recommandation du live qui est le même que votre système, très important car j'utilise x64, l'autre est de monter les partitions système, car dans mon cas, lorsque j'appliquais chroot et le montais, il lançait une commande et il ne reconnaissait tout simplement pas la commande.

    Ce sujet ira dans mes fichiers "compilation d'informations"

  7.   gâteau dit

    Un LiveCD Arch (avec cet outil) est tout ce dont vous avez besoin pour réparer votre système lorsque vous le cassez.

    1.    RAW-Basique dit

      Exactement! .. .. c'est tout ce qui est nécessaire .. même pour aider quelqu'un avec ses W $ qui a décidé de ne pas commencer ..

      J'ai toujours avec moi une clé USB de 1 Go avec Arch live ... et le chroot est tout ce dont j'ai besoin pour que sous n'importe quel problème, en 10 min vous ayez tout en ordre sans être alarmé .. 😉

    2.    izzyvp dit

      Vous devez juste savoir comment faire.

    3.    pablo dit

      Bonjour, remarquez que j'ai un problème avec les centos, cela me fait paniquer le noyau etc. Et je n'ai pas été en mesure de le résoudre, j'ai mon site Web et ma base de données là-bas, je ne sais pas quoi faire d'autre.

  8.   Jony127 dit

    Bon post, j'avais entendu du chroot au passage mais je ne savais pas vraiment comment m'en servir, bien sûr je n'en avais jamais eu besoin et c'est pourquoi je n'avais pas lu quelque chose en particulier. Maintenant, avec votre message expliqué très clairement, je sais comment l'utiliser au cas où.

    Merci beaucoup et au passage, vive Led Zeppelin hehe.

  9.   kamala dit

    merci, je suis enfin sorti du cauchemar de sauvetage de grub

    en fait j'ai suivi toutes les étapes sauf umount / mnt / my_linux, car il m'a dit que c'était occupé, et je fuser -km, mais même pas ça, et rebondir ...

    J'espère que ce n'est pas important….

    encore merci…
    une salutation

  10.   Jose Antonio dit

    Bien que l'article ait quelques années, je tiens à remercier l'auteur pour sa générosité à le partager, c'est un excellent article car ce week-end il m'a sauvé la vie. Involontairement, j'ai chargé un serveur en installant un package et lors du redémarrage, il ne s'est pas chargé. Après trois jours à essayer de le réparer et à lire différents articles, j'ai réussi à arriver ici par hasard et j'ai finalement pu réinstaller grub et réparer le serveur.

    Merci beaucoup!!!

    1.    Wow dit

      Je suis content que cela vous ait aidé. Merci pour le commentaire!

  11.   Helio dit

    Bonjour, que diriez-vous de savoir que cet article il y a des années, merci de le partager. Et j'avais un doute, dans mon cas, cela endommageait le système et aussi les pilotes réseau, j'ai donc suivi les étapes mais cela ne me permet pas de télécharger des packages, existe-t-il un moyen de relier le réseau en direct avec le terminal

    1.    Wow dit

      Je ne comprends pas vraiment votre problème ... Lorsque vous vous connectez avec le LiveCD, le noyau qui se charge est celui du LiveCD, vous devriez donc pouvoir configurer parfaitement une connexion Internet. Une fois la connexion établie, essayez de chrooter pour voir si vous le gardez toujours, sinon, vous devrez peut-être le configurer à nouveau, mais le noyau endommagé ne devrait pas affecter la session de chroot.
      Si vous ne spécifiez pas plus, je peux vous dire ...

  12.   toit dit

    Excellent article… l'un des rares articles utiles trouvés sur Internet.
    Merci beaucoup pour cette contribution.

  13.   zopeck dit

    Bonjour, excellent tuto ! Superbement expliqué, pour nous simples mortels !

    J'ai une question:
    Lorsque vous avez mentionné qu'en cas de besoin d'installer des packages, d'effectuer des mises à jour du système ou d'autres activités spéciales, et de nécessiter le montage des dossiers / dev / proc et / sys, il n'était pas clair pour moi si ces dossiers se trouvaient dans le système Live avec lequel nous démarré l'équipement à réparer, ou s'ils sont montés en premier dans la partition racine.

    Merci.

  14.   Orlando dit

    MERCI BEAUCOUP!!!!