Systemreparatur: HowTo chroot

Viele Male, insbesondere beim Herumspielen, hatten wir Probleme, nicht auf das System zugreifen zu können, um es zu reparieren, aber die Lösung ist einfach: Verwenden Sie den Befehl Chroot von jeder LiveCD / RepairCD.

An vielen Stellen (Foren, Blogs ...) wird dieser Befehl erwähnt und ein "Kopieren / Einfügen" des Codes angegeben. Mit diesem Beitrag möchte ich diese Schritte jedoch ein wenig erläutern, um dieses Tool mit Wissen gut nutzen zu können der Ursache.

Einführung

Der Befehl Chroot Es ist als CHangeROOT bekannt, dh ein Befehl, mit dem Sie den Stamm des Systems ändern können, an dem Sie arbeiten. Mit anderen Worten: Wenn Sie von einer LiveCD stammen und möchten, dass sich alles, was Sie an der Konsole arbeiten, auf das installierte System auswirkt, müssen Sie zuerst davon Gebrauch machen Chroot.

Das Problem ist, dass die Verwendung nicht ausreicht Chroot Daher müssen wir bestimmte Partitionen ordnungsgemäß bereitstellen.

WIE MAN

Zuerst müssen wir ein Terminal entweder von einem anderen installierten System (auf einer anderen Partition / Festplatte) oder von einer LiveCD aus starten. WICHTIG: Die Architektur der LiveCD muss mit der des zu reparierenden Systems übereinstimmen (32 oder 64 Bit).
Sobald wir im Terminal sind, identifizieren wir zunächst unsere Partitionen:
fdisk -l

  • Mit diesem Befehl listen wir alle unsere Partitionen / Festplatten auf. Wir müssen herausfinden, auf welcher Zielpartition unser zu reparierendes System installiert ist. Von nun an werden wir es aufrufen kaputtes System.

In diesem Beispiel werden wir berücksichtigen, dass sich unser defektes System in befindet / Dev / sda1 .

Wir bauen das System weiter zusammen. Zuerst erstellen wir den Ordner, in dem wir arbeiten werden, und später mounten wir die Partition, in der sich unser kaputtes System befindet
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

Wenn Sie den Ordner haben / Home o / var oder eine andere auf einer anderen Partition sollten Sie diese wie folgt bereitstellen:
mount /dev/sda2 /mnt/my_linux/var

  • HINWEIS: Ich habe als Beispiel die Partition / dev / sda2 für den Ordner / var genommen. Lassen Sie jeden den Code an seine Eigenschaften anpassen.

Normalerweise würde dies ausreichen, wenn Sie Dateien einfach von Hand bearbeiten müssen. Wenn Sie jedoch einige Befehle ausführen möchten, die das System konfigurieren, müssen Sie bestimmte spezielle Systemordner bereitstellen: / 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

  • Mit der Option -t wir sagen montieren die Art des "Dateisystems", das wir mounten möchten. Es ist notwendig, es wegen der besonderen Natur der Ordner anzugeben / proc y / sys.
  • Mit der Option -o Wir geben die Optionen von an montieren. Die Option binden es dient zum "Verknüpfen". Unter UNIX kann über den Ordner auf alle Hardwaregeräte zugegriffen werden / devDeshalb müssen wir unseren Strom montieren / dev in dem Ordner, in dem sich unser kaputtes System jetzt befindet. Da dieser Ordner bereits gemountet ist, muss dies nur mitgeteilt werden montieren wo es ursprünglich montiert ist.

Es wird so gemacht, dass Chroot Sie haben Zugriff auf diese Ordner, als wären sie das kaputte System, obwohl sie vom aktuellen System stammen müssen (z. B. die LiveCD-Sitzung), da sie sich auf den Status des Systems, der Prozesse und der Hardware beziehen.

Jetzt ist die Zeit zu nutzen Chroot:
chroot /mnt/my_linux/ /bin/bash

  • Der Befehl wird als Argument an den Pfad der neuen Wurzel «/» übergeben (in unserem Fall / mnt / my_linux) und die Konsole, die Sie verwenden möchten (in diesem Fall haben wir uns für die bekannte Bash entschieden, die in zu finden ist / bin / bash). Wenn wir die Konsole nicht angeben, befinden wir uns vor einem etwas archaischen Befehlsinterpreter (der beim Drücken der Tabulatortaste usw. nicht ausgefüllt wird).

Jetzt können wir die Konsole so verwenden, als hätten wir die Root-Sitzung auf unserem kaputten System gestartet (Dateien bearbeiten, Skripte überprüfen, Pakete installieren / deinstallieren ...). WARNUNG! Damit die vorgenommenen Änderungen wirksam werden, müssen Sie das Dateisystem nach dem Beenden aushängen ChrootSchauen Sie sich das folgende Beispiel an.

Weitere Informationen https://wiki.archlinux.org/index.php/Change_Root (mehr als empfohlene Lektüre).

Anwendungsbeispiel: GRUB2 wiederherstellen

Eine der am weitesten verbreiteten Anwendungen von Chroot Es dient als Werkzeug zur Reparatur des GRUB. Wenn der Grub bricht, ist es praktisch unmöglich, unser System zu starten, um ihn zu reparieren.

HINWEIS: Dieses kleine Tutorial ist nur ein Beispiel. Es funktioniert mit verschiedenen Distributionen, die unter anderem von Debian, Ubuntu und openSUSE abgeleitet sind. Überprüfen Sie trotzdem die Dokumentation Ihrer Distribution, da der Befehl in vielen Fällen nicht gefunden wird Update-Grub.
# HINWEIS: Diese Befehle werden einmal in chroot ausgeführt.update-grub
grub-install /dev/sda

  • Mit Update-grub Wir aktualisieren das Eingabemenü von GRUB2 und fügen so fehlende Eingaben hinzu. Später installieren wir GRUB neu auf unserer Festplatte, da diese beschädigt wurde.

In diesem Fall habe ich genommen / Dev / sda Wie das Album, auf dem wir unser System haben, muss dies an Ihren Fall angepasst werden.

Unser GRUB sollte bereits repariert sein, also müssen wir gehen ChrootHängen Sie das Dateisystem aus (WICHTIG) und starten Sie es neu, damit die Änderungen wirksam werden. Wenn wir vergessen, die Bereitstellung des Dateisystems aufzuheben, wird der Neustart der Dateien möglicherweise nicht ordnungsgemäß aufgehoben, sodass einige Änderungen nicht wirksam werden.
# Wir haben Chroot verlassenexit
# Hängen Sie das Dateisystem aus und starten Sie es neuumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

Und das ist alles. Ich hoffe es gefällt euch und es hilft euch. Ein Gruß!


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Leper_Ivan sagte

    Ich kann das benutzen. Irgendwann muss ich es benutzen.

  2.   mario sagte

    Hat jemand von euch Chakra Benz benutzt? Wenn ja, können Sie mir sagen, ob
    ist es einfach für den normalen Benutzer? Ich benutze SolydK, was aber sehr einfach ist
    Ich verstehe, dass Chakra reines KDE ist und mich interessiert.

    1.    Beeindruckend sagte

      Ja, Chakra ist sehr gut und mehr oder weniger einfach. Um Pakete zu installieren / deinstallieren, muss man dies mit der Konsole tun, da sie immer noch in einem grafischen Paketmanager arbeiten. Probieren Sie es aus, weil es sich lohnt. Es verwendet den von Archlinux geerbten pacman-Paketmanager, aber Vorsicht, es teilt keine Repositorys mit arch und ist NICHT mit diesen kompatibel. Wenn Sie mehr über Pacman erfahren möchten, schauen Sie sich das Arch-Wiki an https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    izzyvp sagte

        Oktopi ist bereits stabil und funktioniert für einen durchschnittlichen Benutzer recht gut. Damit benötigen Sie das Terminal nicht, um Pacman zu verwenden.

  3.   x11tete11x sagte

    Ich hoffe, dass dieser Beitrag von vielen besucht wird, dann beginnen sie, ihre Köpfe für alles neu zu installieren, wenn Sie mit einer Chroot das System fast immer reparieren können. Die Chroot bietet Ihnen viele Möglichkeiten, einschließlich der Installation von Gentoo xD hahaha

  4.   Alunado sagte

    nett, danke ... Ich habe ihm nie einen Ball gegeben, weil mir eine Live-CD zur Reparatur scheint, dass sie standardmäßig angehoben wird, aber jetzt ist klar, nochmals vielen Dank.

  5.   Lolo sagte

    Um dies zu vervollständigen, sollten Sie erklären, wie LVM-Partitionen, verschlüsselte Partitionen und RAID-Systeme bereitgestellt werden.

    1.    Beeindruckend sagte

      mmm Ich habe LVM und RAID schon lange nicht mehr berührt, aber können Sie mich ein wenig informieren, um dies zu vervollständigen ... danke für den Tipp!

      1.    Lolo sagte

        Nun, die Wahrheit ist, dass ich großartig gebrauchen könnte.

        Es wäre sehr dankbar.

        1.    Beeindruckend sagte

          Schauen Sie sich dieses Wiki an, es ist ziemlich cool http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   Modem sagte

    Wenn dieses Thema nur ein paar Wochen später existiert hätte, hätte sich herausgestellt, dass ich ein Problem mit meinem System hatte und ich las und las und überall Chroot und Blablabla fand, aber es funktionierte nicht für mich, basierend auf dieser Empfehlung des Live Das gleiche wie bei Ihrem System, sehr wichtig, da ich x64 verwende. Das andere ist das Mounten der Systempartitionen, da ich in meinem Fall beim Anwenden von Chroot und Mounten einen Befehl ausgelöst habe und der Befehl einfach nicht erkannt wurde.

    Dieses Thema wird in meine Dateien "Zusammenstellung von Informationen" gehen

  7.   Plätzchen sagte

    Eine Arch LiveCD (mit diesem Tool) ist alles, was Sie benötigen, um Ihr System zu reparieren, wenn Sie es beschädigen.

    1.    RAW-Basis sagte

      Genau! .. ..es ist alles, was benötigt wird .. sogar um jemandem mit seinem W $ zu helfen, der sich entschieden hat, nicht anzufangen ..

      Ich habe immer ein 1 GB Pendrive mit Arch Live dabei ... und Chroot ist alles, was nötig ist, damit Sie bei jedem Problem in 10 Minuten alles in Ordnung haben, ohne alarmiert zu werden. 😉

    2.    izzyvp sagte

      Sie müssen nur wissen, wie es geht.

    3.    Pablo sagte

      Hallo, beachte, dass ich ein Problem mit Centos habe, es schickt mir Kernel-Panik usw. Und ich konnte es nicht lösen, ich habe meine Website und Datenbank dort. Ich weiß nicht, was ich sonst tun soll.

  8.   jony127 sagte

    Guter Beitrag, ich hatte im Vorbeigehen etwas Chroot gehört, aber ich wusste nicht wirklich, wie es verwendet wurde, natürlich hatte ich es nie gebraucht und deshalb hatte ich etwas Besonderes nicht gelesen. Jetzt, da Ihr Beitrag sehr klar erklärt wurde, weiß ich, wie ich ihn für den Fall verwenden kann.

    Vielen Dank und übrigens, es lebe Led Zeppelin hehe.

  9.   kamala sagte

    danke, ich bin endlich aus dem Albtraum der Madenrettung herausgekommen

    Tatsächlich habe ich alle Schritte außer umount / mnt / my_linux befolgt, weil es mir sagte, dass es beschäftigt war, und ich schmelze es -km, aber nicht einmal das, und hüpfe ...

    Ich hoffe es ist nicht wichtig….

    Danke noch einmal…
    ein Gruß

  10.   Jose Antonio sagte

    Obwohl der Artikel bereits ein paar Jahre alt ist, möchte ich dem Autor für seine Großzügigkeit beim Teilen danken. Es ist ein großartiger Artikel, weil er mir an diesem Wochenende das Leben gerettet hat. Unwillkürlich habe ich einen Server geladen, auf dem ein Paket installiert wurde, und beim Neustart wurde es nicht geladen. Nachdem ich drei Tage lang versucht hatte, das Problem zu beheben und verschiedene Artikel zu lesen, gelang es mir zufällig, hierher zu gelangen, und ich konnte endlich grub neu installieren und den Server reparieren.

    Vielen Dank !!!

    1.    Beeindruckend sagte

      Ich bin froh, dass es dir geholfen hat. Danke für den Kommentar!

  11.   Helio sagte

    Hallo, ich weiß, dass dieser Beitrag vor Jahren, dieser große Dank für das Teilen. Und ich hatte Zweifel, in meinem Fall hat es das System und auch die Netzwerktreiber beschädigt, also habe ich die Schritte befolgt, aber es erlaubt mir nicht, Pakete herunterzuladen, gibt es eine Möglichkeit, das Live-Netzwerk mit dem Terminal zu verbinden

    1.    Beeindruckend sagte

      Ich verstehe Ihr Problem nicht wirklich ... Wenn Sie sich mit der LiveCD anmelden, wird der Kernel von der LiveCD geladen. Daher sollten Sie in der Lage sein, eine Internetverbindung perfekt zu konfigurieren. Versuchen Sie nach dem Herstellen der Verbindung, das Chroot durchzuführen, um festzustellen, ob Sie es weiterhin warten. Andernfalls müssen Sie es möglicherweise erneut konfigurieren, aber der beschädigte Kernel sollte die Chroot-Sitzung nicht beeinträchtigen.
      Wenn Sie nicht mehr angeben, kann ich Ihnen sagen ...

  12.   dach sagte

    Excellent Post… einer der wenigen nützlichen Artikel im Internet.
    Vielen Dank für den Beitrag.

  13.   Zopek sagte

    Hallo, tolle Anleitung! Super erklärt, für uns Normalsterbliche!

    Ich habe eine Frage:
    Als Sie erwähnt haben, dass für den Fall, dass Sie Pakete installieren, Systemaktualisierungen oder andere spezielle Aktivitäten durchführen müssen und die Ordner /dev /proc und /sys mounten müssen, war mir nicht klar, ob sich diese Ordner im Live-System befinden, mit dem wir die zu reparierenden Geräte gestartet wurden, oder wenn sie in der Root-Partition zuerst gemountet sind.

    Danke.

  14.   Orlando sagte

    DANKE VIELMALS!!!!