システム修復:HowTo chroot

多くの場合、特にいじり回すと、システムにアクセスして修復できないという問題が発生しますが、解決策は簡単です。コマンドを使用します。 chroot LiveCD / RepairCDから。

多くの場所(フォーラム、ブログなど)でこのコマンドが言及され、コードの「コピー/貼り付け」が行われますが、この投稿での私の意図は、これを有効に活用するために、これらの手順を少し説明することです。原因の知識を持つツール。

はじめに

コマンド chroot これはCHangeROOTとして知られています。つまり、作業中のシステムのルートを変更できるコマンドです。 言い換えると、LiveCDのユーザーであり、コンソールで作業しているすべてのものがインストールされているシステムに影響を与えるようにしたい場合は、最初にを利用する必要があります。 chroot.

問題は、それを使用するのに十分ではないということです chroot そのため、特定のパーティションを適切にマウントする前に。

の仕方

まず、別のインストール済みシステム(別のパーティション/ディスク上)またはLiveCDから端末を起動する必要があります。 重要:LiveCDのアーキテクチャーは、修復するシステムのアーキテクチャー(32ビットまたは64ビット)と一致している必要があります。
ターミナルに入ったら、まずパーティションを特定します。
fdisk -l

  • このコマンドを使用して、すべてのパーティション/ディスクを一覧表示します。 修復するシステムがインストールされているターゲットパーティションを特定する必要があります。これから、これを呼び出します。 壊れたシステム.

この例では、壊れたシステムが の/ dev / sda1 .

システムの組み立てに進みます。 最初に作業するフォルダーを作成し、後で壊れたシステムがそのフォルダーにあるパーティションをマウントします
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

フォルダがある場合 /ホーム o / var または他のパーティションにある場合は、次のようにマウントする必要があります。
mount /dev/sda2 /mnt/my_linux/var

  • 注:例として/ varフォルダーの/ dev / sda2パーティションを取り上げました。それぞれに、コードをそれぞれの特性に合わせて調整させます。

通常、ファイルを手動で編集する必要がある場合はこれで十分ですが、システムを構成するいくつかのコマンドを実行する場合は、特定の特別なシステムフォルダーをマウントする必要があります。 / 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

  • オプション付き -t 私たちは言います mount マウントする「ファイルシステム」のタイプ。 フォルダの特殊性のため、指定する必要があります / proc y / sys.
  • オプション付き -o のオプションを指定します mount。 オプション バインド それは「リンク」するのに役立ちます。 UNIXでは、すべてのハードウェアデバイスにフォルダからアクセスできます / dev、それが私たちが現在をマウントしなければならない理由です / dev 壊れたシステムが現在あるフォルダにあります。 このフォルダはすでにマウントされているので、伝える必要があるのは mount それが最初にマウントされた場所。

それはこのように行われるので chroot これらのフォルダは、システム、プロセス、およびハードウェアの状態に関連しているため、現在のシステム(LiveCDセッションなど)からのものである必要がありますが、壊れたシステムであるかのようにアクセスできます。

今が使用する時です chroot:
chroot /mnt/my_linux/ /bin/bash

  • コマンドは引数として新しいルート«/»のパス(この場合は / mnt / my_linux)と使用したいコンソール(この場合、よく知られているbashを選択しました。 /bin/bash)。 コンソールを指定しないと、やや古風なコマンドインタープリターの前にいることになります(タブを押してもいっぱいになりません)。

これで、壊れたシステムでルートセッションを開始したかのようにコンソールを使用できます(ファイルの編集、スクリプトの確認、パッケージのインストール/アンインストールなど)。 警告!加えられた変更を有効にするには、終了後にファイルシステムをアンマウントする必要があります chroot以下の例を見てください。

詳細は https://wiki.archlinux.org/index.php/Change_Root (推奨読書以上)。

使用例:GRUB2を復元する

の最も普及している用途のXNUMXつ chroot GRUBを修理するための道具としてです。 グラブが壊れた場合、システムを起動して修正することは事実上不可能です。

注意:この小さなチュートリアルは単なる例であり、Debian、Ubuntu、openSUSEなどから派生したさまざまなディストリビューションで機能します。 それでも、多くの場合コマンドが見つからないため、ディストリビューションのドキュメントを確認してください update-grub。
#注:これらのコマンドはchroot内でXNUMX回実行されます。update-grub
grub-install /dev/sda

  • とともに 更新グラブ GRUB2入力メニューを更新して、不足している入力を追加します。 後でGRUBが破損しているため、ディスクに再インストールします。

この場合、私は取った / dev / sdaに 私たちのシステムがあるアルバムのように、これはあなたのケースに適合させる必要があります。

GRUBはすでに修復されているはずなので、終了する必要があります chroot、ファイルシステムをアンマウントし(重要)、変更を有効にするために再起動します。 ファイルシステムのアンマウントを忘れると、ファイルを再起動しても正しくアンマウントされないため、一部の変更が有効にならない可能性があります。
#chrootを離れますexit
#ファイルシステムをアンマウントして再起動しますumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

そしてそれがすべてです。 あなたがそれを楽しんで、それがあなたを助けることを願っています。 挨拶!


24コメント、あなたのコメントを残してください

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   Leper_Ivan

    私はこれを使うことができます..ある時点で私はそれを使わなければなりません。

  2.   マリオ

    チャクラベンツを使った人はいますか? もしそうなら、教えていただけますか
    一般ユーザーにとっては簡単ですか? とてもシンプルなSolydKを使っていますが
    チャクラは純粋なKDEであり、興味を持っていることを理解しています。

    1.    ウォーカー

      はい、チャクラは非常に優れており、多かれ少なかれ簡単です。パッケージをインストール/アンインストールするには、まだグラフィカルパッケージマネージャーで動作しているため、コンソールで実行する必要があります。 それは価値があるのでそれを試してみてください。 Archlinuxから継承されたpacmanパッケージマネージャーを使用しますが、リポジトリをarchと共有せず、互換性がないことに注意してください。 パックマンについてもっと知りたい場合は、archwikiをご覧ください。 https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    ざわざわ

        Oktopiはすでに安定しており、平均的なユーザーにとっては非常にうまく機能します。そのため、pacmanを使用するために端末は必要ありません。

  3.   x11テテ11x

    この投稿に多くの人が訪れてくれることを願っています。chrootを使用すると、ほとんどの場合システムを修復できます。chrootを使用すると、Gentoo xD haha​​haのインストールなど、さまざまな可能性があります。

  4.   アルナド

    いいですね、ありがとう...修理用のライブCDの中にはデフォルトで上げているように見えるので、ボールを与えたことはありませんでしたが、今でははっきりしています。

  5.   ロロ

    それを完了するには、LVMパーティション、暗号化されたパーティション、およびRAIDシステムをマウントする方法を説明するとよいでしょう。

    1.    ウォーカー

      うーん、私は長い間LVMとRAIDに触れていませんが、これを完了するために少し教えていただけませんか…ヒントをありがとう!

      1.    ロロ

        まあ真実は私が素晴らしい使用できるということです。

        よろしくお願いします。

        1.    ウォーカー

          このウィキを見てください、それはかなりクールです http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   モデム

    このトピックだけが数週間後に存在した場合、システムに問題があり、読んだり読んだりして、どこでもchrootとblablablaを見つけましたが、ライブの推奨に基づいて機能しませんでした。これはシステムと同じです。x64を使用しているため非常に重要です。もうXNUMXつはシステムパーティションをマウントすることです。chrootを適用してマウントしているときにコマンドをスローしていて、コマンドを認識しなかったためです。

    このトピックは私の「情報編集」ファイルに行きます

  7.   クッキー

    Arch LiveCD(このツールを使用)は、システムが壊れたときにシステムを修正するために必要なすべてです。

    1.    RAW-基本

      まさに!....必要なのはそれだけです..開始しないことに決めたW $で誰かを助けるためにさえ..

      私はいつもArchliveを備えた1GBのペンドライブを持っています...そしてchrootが必要なすべてなので、どんな問題でも、10分で心配することなくすべてを整えることができます..😉

    2.    ざわざわ

      あなたはそれを行う方法を知っている必要があります。

    3.    パブロ

      こんにちは、centosに問題があることに注意してください。カーネルパニックなどが発生します。 そして、私はそれを解決することができませんでした、私はそこに私のウェブサイトとデータベースを持っています。私は他に何をすべきかわかりません。

  8.   ジョニー127

    良い投稿です。通りすがりにchrootを聞いたことがありますが、それがどのように使用されているかはよくわかりませんでした。もちろん、必要だったことがなかったので、特に何かを読んでいませんでした。 あなたの投稿が非常に明確に説明されたので、私はそれを万が一に使用する方法を知っています。

    どうもありがとうございました。ちなみに、長生きしたレッドツェッペリンヘヘ。

  9.   カマラ

    おかげで、私はついにgrubレスキューの悪夢から抜け出しました

    実際、私はumount / mnt / my_linuxを除くすべての手順を実行しました。これは、ビジーであると通知されたためです。-kmをフューザーしますが、それでも、バウンスします...

    重要ではないといいのですが…。

    再度、感謝します…
    挨拶

  10.   ホセ·アントニオ

    この記事はすでに数年前のものですが、今週末は私の命を救ったので、この記事を共有してくれた著者の寛大さに感謝したいと思います。 思わず、パッケージをインストールしているサーバーをロードしましたが、再起動してもロードされませんでした。 それを修正しようとしてさまざまな記事を読んだXNUMX日後、私は偶然ここにたどり着き、ついにgrubを再インストールしてサーバーを修正することができました。

    どうもありがとう!

    1.    ウォーカー

      お役に立ててうれしいです。 コメントありがとうございます!

  11.   エリオ

    こんにちは、私は何年も前のこの投稿を知っています、それを共有してくれてありがとう。 そして、私は疑いを持っていました、私の場合、それはシステムとネットワークドライバーも損傷したので、私は手順に従いましたが、パッケージをダウンロードすることはできません、ライブネットワークをターミナルにリンクする方法はありますか?

    1.    ウォーカー

      私はあなたの問題を本当に理解していません…LiveCDでログインするとき、ロードするカーネルはLiveCDからのものであるため、インターネット接続を完全に構成できるはずです。 接続が確立されたら、chrootを実行して、維持し続けるかどうかを確認します。維持しない場合は、再度構成する必要がありますが、破損したカーネルがchrootセッションに影響を与えることはありません。
      これ以上指定しない場合は、教えていただけます...

  12.   ダッチ

    優れた投稿…インターネット上で見つかった数少ない有用な記事のXNUMXつ。
    貢献をありがとうございました。

  13.   ゾペック

    こんにちは、素晴らしいチュートリアルです! 見事に説明された、私たちにとっては単なる人間です!

    質問があります:
    パッケージをインストールしたり、システムの更新やその他の特別なアクティビティを実行したり、/ dev / procフォルダーと/ sysフォルダーをマウントしたりする必要がある場合、これらのフォルダーが使用しているLiveシステムにあるかどうかはわかりませんでした。コンピュータを起動して修復したか、最初にマウントされたルートパーティションにあるかどうか。

    ありがとう。

  14.   オーランド

    どうもありがとう!!!!