ウェブサイト検索

CentOS 7 で破損した Grub ブート ローダーを回復またはレスキューする方法


このチュートリアルでは、CentOS 7 または Red Hat Enterprise Linux 7 で破損したブート ローダーを救出し、忘れた root パスワードを回復するプロセスについて説明します。

CentOS では、ハードウェアまたはソフトウェア関連の障害などのさまざまな問題により、GRUB ブート ローダーが破損、侵害、または削除されることがあります。また、デュアルブートの場合には、他のオペレーティング システムに置き換えられる場合もあります。 Grub ブート ローダーが破損すると、CentOS/RHEL システムが起動できなくなり、制御を Linux カーネルに移すことができなくなります。

Grub ブート ローダーのステージ 1 は、各ハードディスクの先頭の最初の 448 バイト、通常はマスター ブート レコード (MBR ) として知られる領域にインストールされます。 )。

こちらもお読みください: Ubuntu で Grub ブート ローダーをレスキュー、修復、回復する方法

MBR の最大サイズは 512 バイトです。何らかの理由で最初の 448 バイトが上書きされた場合、CentOS または Red Hat Enterprise Linux はマシンを起動しない限りロードできません。レスキュー モードまたは他のブート ロード方法を使用して、strong>CentOS ISO イメージを使用し、MBR GRUB ブート ローダーを再インストールします。

要件

  1. CentOS 7 DVD ISO イメージをダウンロード

CentOS 7 で GRUB ブート ローダーを回復する

1. 最初のステップでは、CentOS 7 ISO イメージの最新バージョンをダウンロードし、DVD に書き込むか、起動可能な USB スティックを作成します。ブート可能イメージをマシンの適切なドライブに配置し、マシンを再起動します。

BIOS が POST テストを実行している間、特別なキー ( マザーボードの指示に応じてEsc、F2、F11、F12、Del) を押して BIOS 設定に入り、変更します。以下の図に示すように、マシンの起動時にブート可能な DVD/USB イメージが最初にブートされるようにブート シーケンスを変更します。

2. CentOS 7 ブータブル メディアが検出されると、マシンのモニター出力に最初の画面が表示されます。最初のメニューから [トラブルシューティング] オプションを選択し、[enter] キーを押して続行します。

3. 次の画面で [CentOS システムのレスキュー] オプションを選択し、[enter] キーを押してさらに進みます。新しい画面に「Enter キーを押してインストール プロセスを開始してください」というメッセージが表示されます。ここで、[enter] キーをもう一度押すだけで、CentOS システムがメモリにロードされます。

4. インストーラー ソフトウェアがマシンの RAM に読み込まれると、画面にレスキュー環境のプロンプトが表示されます。以下の図に示すように、このプロンプトで「1」と入力してシステム回復プロセスを続行します。

5. 次のプロンプトで、レスキュー プログラムはシステムが /mnt/sysimage ディレクトリにマウントされたことを通知します。ここで、レスキュー プログラムが示唆するように、chroot /mnt/sysimage と入力して、Linux ツリー階層を ISO イメージからディスクの下にマウントされたルート パーティションに変更します。

6. 次に、レスキュー プロンプトで以下のコマンドを実行して、マシンのハード ドライブを識別します。

ls /dev/sd*

マシンが基盤となる古い物理 RAID コントローラを使用している場合、ディスクには /dev/cciss などの別の名前が付けられます。また、CentOS システムが仮想マシンにインストールされている場合は、ハード ディスクに /dev/vda または /dev/xvda という名前を付けることができます。

ただし、マシンのハードディスクを特定したら、以下のコマンドを実行して GRUB ブート ローダーのインストールを開始できます。

ls /sbin | grep grub2  # Identify GRUB installation command
/sbin/grub2-install /dev/sda  # Install the boot loader in the boot partition of the first hard disk

7. GRUB2 ブート ローダーがハードディスク MBR 領域に正常にインストールされたら、「exit」と入力して CentOS ブート ISO イメージ ツリーに戻り、以下のスクリーンショットに示すように、コンソールに「init 6」と入力してマシンを再起動します。

8. マシンの再起動後、まずBIOS 設定を入力し、ブート順序メニューを変更する必要があります (MBR ブート ローダーがインストールされたハード ディスクを最初の位置に配置します)。ブートメニューの順序)。

BIOS 設定を保存し、再度マシンを再起動して新しい起動順序を適用します。再起動後、下の図に示すように、マシンは直接 GRUB メニューを開始します。

おめでとう! CentOS 7 システムの破損した GRUB ブート ローダーが正常に修復されました。 GRUB ブート ローダーを復元した後、新しい grub 構成を適用するためにマシンが 1 回または 2 回再起動される場合があることに注意してください。

CentOS 7 で root パスワードを回復する

9. root パスワードを忘れて CentOS 7 システムにログインできない場合は、基本的に CentOS 7 ISO DVD イメージをリカバリ モードで起動し、次の手順に従ってパスワードをリセット (空白) できます。 ステップ 6 に到達するまでは、上記と同じ手順を繰り返します。 CentOS インストール ファイル システムに chroot している間に、次のコマンドを発行して、Linux アカウントのパスワード ファイルを編集します。

vi /etc/shadow

シャドウ ファイルで、root パスワード行 (通常は最初の行) を特定し、i キーを押して vi 編集モードに入り、最初のコロン間の文字列全体を削除します。以下のスクリーンショットに示すように、”: ” と 2 番目のコロン ”: ” です。

完了したら、次のキーをこの順序で押してファイルを保存します Esc -> : -> wq!

10. 最後に、chroot コンソールを終了し、「init 6」 と入力してマシンを再起動します。再起動後、現在パスワードが設定されていない root アカウントを使用して CentOS システムにログインし、以下のスクリーンショットに示すようにpasswd コマンドを実行して root ユーザーの新しいパスワードを設定します。

それだけです! CentOS 7 DVD ISO イメージを含む物理マシンまたは VM をリカバリ モードで起動すると、システム管理者がデータのリカバリやチュートリアルで説明されているタスクなど、壊れたシステムのさまざまなトラブルシューティング タスクを実行するのに役立ちます。