第36章 基本的なシステムの復元
問題が発生しても、それを解決する方法はあります。しかし、それらの方法を実行するには、システムを十分に理解している必要があります。本章では、独自のナレッジを使用してシステムを修復できるレスキューモード、シングルユーザーモード、および緊急モードで起動する方法を説明します。
36.1. レスキューモード
36.1.1. 一般的な問題
以下のいずれかの理由で、これらのリカバリーモードのいずれかを起動しないといけない場合があります。
- Red Hat Enterprise Linux (ランレベル 3 または 5)で正常に起動できない。
- ハードウェアまたはソフトウェアの問題があり、システムのハードドライブからいくつかの重要なファイルを取得したいとします。
- root パスワードを忘れてしまった。
36.1.1.1. Red Hat Enterprise Linux で起動できない
この問題は、Red Hat Enterprise Linux のインストール後に別のオペレーティングシステムをインストールすることで発生することがよくあります。他のオペレーティングシステムの中には、コンピューターに他のオペレーティングシステムがないものととみなします。GRUB ブートローダーを含んだマスターブートレコード(MBR)を上書きします。ブートローダーがこの方法で上書きされた場合は、レスキューモードにアクセスしてブートローダーを再設定しない限り、Red Hat Enterprise Linux を起動できません。
もう 1 つの一般的な問題は、パーティションツールを使用してパーティションのサイズを調整したり、インストール後に空き領域から新しいパーティションを作成したりするときに発生します。これにより、パーティションの順番が変更されてしまいます。
/
パーティションのパーティション番号が変更された場合、ブートローダーがパーティションを見つけることができない可能性があります。この問題を修正するには、レスキューモードで起動し、/boot/grub/grub.conf
ファイルを変更します。
レスキュー環境から GRUB ブートローダーを再インストールする方法は、「ブートローダーの再インストール」 を参照してください。
36.1.1.2. ハードウェア/ソフトウェアの問題
このカテゴリーにはさまざまな状況が含まれます。例として、ハードドライブが機能しない場合と、ブートローダーの設定ファイル内に無効なルートデバイスまたはカーネルを指定する場合を挙げることができます。上記のいずれかが当てはまる場合は、Red Hat Enterprise Linux で再起動できない可能性があります。ただし、システムリカバリーモードのいずれかを起動する場合は、問題を解決するか、少なくとも重要なファイルのコピーを取得できる可能性があります。
36.1.1.3. root パスワード
root パスワードを取得する場合はどうしたらよいでしょうか。別のパスワードにリセットするには、レスキューモードまたはシングルユーザーモードで起動し、passwd コマンドを使用して root パスワードをリセットします。
36.1.2. レスキューモードでの起動
レスキューモードでは、システムのハードドライブではなく、CD-ROM またはその他の起動方法で、小さな Red Hat Enterprise Linux 環境全体を起動する機能を提供します。
名前が示すように、レスキューモードは何かからのレスキューに提供されます。通常の運用では、Red Hat Enterprise Linux システムは、システムのハードドライブにあるファイルを使用して、プログラムの実行、ファイルの格納など、すべてを行います。
ただし、システムのハードドライブ上のファイルにアクセスするためには、Red Hat Enterprise Linux を完全に実行できない場合もあります。レスキューモードを使用すると、ハードドライブから Red Hat Enterprise Linux を実際に実行できない場合でも、システムのハードドライブに保存されているファイルにアクセスできます。
レスキューモードで起動するには、以下のいずれかの方法でシステムを起動できる必要があります。[14]:
- ブート CD-ROM または DVD からシステムを起動する。
- USB フラッシュデバイスなどの他のインストール起動メディアからシステムを起動する。
- Red Hat Enterprise Linux インストール DVD からシステムを起動する。
説明されている方法のいずれかを使用して起動したら、キーワード
rescue
をカーネルパラメーターとして追加します。たとえば、x86 システムの場合は、インストールブートプロンプトで以下のコマンドを入力します。
linux rescue
起動するドライバー ディスク で提供されるサードパーティーのドライバーが必要な場合は、追加オプション
dd
を指定してドライバーを読み込みます。
linux rescue dd
起動時にドライバーディスクを使用する方法の詳細は、「ドライバー更新ディスクの指定に起動オプションを使用する」 (x86 システムの場合)または 「ドライバー更新ディスクの指定に起動オプションを使用する」 (Power Systems サーバー)を参照してください。
Red Hat Enterprise Linux 6.9 ディストリビューションに含まれるドライバーによりシステムが起動しない場合は、
rdblacklist
オプションでそのドライバーをブラックリストに指定します。たとえば、foobar ドライバーなしでレスキューモードで起動するには、以下を実行します。
linux rescue rdblacklist=foobar
使用する言語など、いくつかの基本的な質問に回答するように求められます。また、有効なレスキューイメージがある場所を選択するように求められます。Local CD-ROM から、Hard Drive、NFS イメージ、FTP、または HTTP のいずれかを選択します。選択した場所には有効なインストールツリーが含まれている必要があり、インストールツリーは、起動した Red Hat Enterprise Linux ディスクと同じバージョンの Red Hat Enterprise Linux である必要があります。ブート CD-ROM またはその他のメディアを使用してレスキューモードを開始する場合、インストールツリーはメディアが作成されたツリーと同じツリーにある必要があります。ハードドライブ、NFS サーバー、FTP サーバー、または HTTP サーバーでインストールツリーを設定する方法は、本ガイドの以前のセクションを参照してください。
ネットワーク接続を必要としないレスキューイメージを選択すると、ネットワーク接続を確立するかどうかを尋ねられます。ネットワーク接続は、別のコンピューターにファイルをバックアップしたり、共有ネットワークの場所から RPM パッケージをインストールする必要がある場合などに役立ちます。
以下のメッセージが表示されます。
レスキュー環境は、Linux インストールを検索して、/mnt/sysimage ディレクトリーにマウントします。その後、システムに必要な変更を加えることができます。この手順を続行する場合は Continue を選択します。Read-only を選択して、読み取り/書き込みの代わりにファイルシステムを読み取り専用でマウントすることもできます。何らかの理由でこのプロセスに失敗した場合は、スキップ を選択でき、このステップは省略され、コマンドシェルに直接移動します。
/mnt/sysimage/
ディレクトリーにマウントしようとします。パーティションのマウントに失敗した場合は、通知されます。 を選択すると、ファイルシステムを /mnt/sysimage/
ディレクトリーにマウントしようとしますが、読み取り専用モードになります。 を選択すると、ファイルシステムはマウントされません。ファイルシステムが破損していると思われる場合は、 を選択します。
システムをレスキューモードで使用すると、VC (仮想コンソール)1 および VC 2 にプロンプトが表示されます(VC 1 にアクセスするには Ctrl-Alt-F1 キーの組み合わせを使用し、Ctrl-Alt-F2 を使用して VC 2 にアクセスします)。
sh-3.00b#
ファイルシステムがマウントされていても、レスキューモードのデフォルトの root パーティションは一時的な root パーティションであり、通常のユーザーモード(ランレベル 3 または 5)で使用するファイルシステムの root パーティションではありません。ファイルシステムのマウントを選択し、正常にマウントされた場合は、次のコマンドを実行してレスキューモード環境の root パーティションを、ファイルシステムの root パーティションに変更できます。
chroot /mnt/sysimage
これは、root パーティションが
/
としてマウントされる必要がある rpm などのコマンドを実行する必要がある場合に便利です。chroot 環境を終了するには、exit と入力してプロンプトに戻ります。
/foo
などのディレクトリーを作成し、以下のコマンドを入力して、レスキューモード内でパーティションまたは LVM2 論理ボリュームを手動でマウントしてみてください。
mount -t ext4 /dev/mapper/VolGroup00-LogVol02 /foo
上記のコマンドでは、
/foo
は作成したディレクトリーで、/dev/mapper/VolGroup00-LogVol02 はマウントする LVM2 論理ボリュームです。パーティションのタイプが ext2 または ext3 の場合は、それぞれ ext4 を ext2 または ext3 に置き換えます。
すべての物理パーティションの名前が不明な場合は、次のコマンドを実行すると一覧が表示されます。
fdisk -l
LVM2 物理ボリュームやボリュームグループ、論理ボリュームの名前がすべて不明な場合はそれぞれ、pvdisplay、vgdisplay、lvdisplay のコマンドを使用します。
プロンプトから、以下のような多くの便利なコマンドが実行できます。
- ネットワークが開始されている場合、ssh、scp、ping
- テープドライブのユーザー用に dump と restore
- パーティションの管理に parted と fdisk
- ソフトウェア のインストールまたはアップグレード用の RPM
- テキストファイルを編集する vi
36.1.2.1. ブートローダーの再インストール
多くの場合、GRUB ブートローダーが誤って削除したり、破損したり、他のオペレーティングシステムに置き換えられる可能性があります。
以下の手順は、マスターブートレコードに GRUB を再インストールするプロセスについて詳述しています。
- インストールメディアメディアからシステムを起動します。
- インストールブートプロンプトで linux rescue と入力して、レスキュー環境を入力します。
- chroot /mnt/sysimage と入力して、root パーティションをマウントします。
- /sbin/grub-install bootpartと 入力して GRUB ブートローダーを再インストールします。ここで、bootpart はブートパーティションです(通常は /dev/sda)。
- GRUB が追加のオペレーティングシステムを制御するために追加のエントリーが必要になる場合があるため、
/boot/grub/grub.conf
ファイルを確認してください。 - システムを再起動します。
36.1.3. シングルユーザーモードでの起動
シングルユーザーモードの利点の 1 つは、ブート CD-ROM を必要としないことですが、ファイルシステムを読み取り専用としてマウントするオプションや、それらをまったくマウントしないオプションを提供しないことです。
システムが起動しても、起動が完了したときにログインできない場合は、シングルユーザーモードを試してください。
シングルユーザーモードでは、コンピューターはランレベル 1 で起動します。ローカルファイルシステムはマウントされますが、ネットワークはアクティベートされません。使用可能なシステムメンテナーンスシェルがある。レスキューモードとは異なり、シングルユーザーモードは自動的にファイルシステムをマウントしようとします。ファイルシステムを正常にマウントできない場合は、シングルユーザーモードを使用しないでください。システムでランレベル 1 の設定が破損している場合は、シングルユーザーモードを使用することはできません。
GRUB を使用する x86 システムで、以下の手順を使用し、シングルユーザーモードで起動します。
- ブート時の GRUB スプラッシュ画面で、任意のキーを押して GRUB インタラクティブメニューに入ります。
- 起動するカーネルのバージョンで Red Hat Enterprise Linux を選択し、行を追加するために a を入力します。
- 行の最後に移動し、別の単語として
single
と入力して からsingle
と入力します。Enter を押して編集モードを終了します。
36.1.4. 緊急モードでの起動
緊急モードでは、可能な限り最小限の環境で起動します。ルートファイルシステムは読み取り専用でマウントされ、ほとんど何も設定されていません。シングルユーザーモードにおける緊急モードの主な利点は、init ファイルが読み込まれていないことです。init が破損しているか、または機能していない場合は、ファイルシステムをマウントして、再インストール中に失われてしまう可能性のあるデータを復元できます。