Red Hat Training

A Red Hat training course is available for Red Hat Linux

第36章 基本的なシステムの復元

何か問題が発生した場合、解決するための方法はいくつかあります。ただし、その方法を実行するには、 システムを十分に理解していることが必要です。本章では、自分自身の知識を使ってシステムを修復できるレスキューモード、シングルユーザーモード、および緊急モードでブートする方法を説明します。

36.1. レスキューモード

36.1.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. ハードウェアやソフトウェアに問題がある場合

このカテゴリには多種多様の状況があります。例として、ハードドライブが機能しない場合とブートローダー設定ファイル内に無効なルートデバイスまたはカーネルを指定する 2 つの場合があげられます。これらのどちらかが発生すると、Red Hat Enterprise Linux を再起動できません。しかし、システム復元モードの 1 つでブートすると問題を解決できる可能性が生じ、少なくとも重要なファイルをコピーすることはできます。

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-ROMHard DriveNFS imageFTP、または HTTP の中から選択します。選択した場所には有効なインストールツリーが含まれている必要があり、そのインストールツリーはブートする Red Hat Enterprise Linux ディスクと同じバージョンの Red Hat Enterprise Linux 用でなければなりません。レスキューモードを開始するのにブート CD-ROM または他のメディアを使用した場合は、インストールツリーはそのメディアが作成されたものと同じツリーでなければなりません。ハードドライブ、NFS サーバー、FTP サーバー、または HTTP サーバー上で インストールツリーを設定する方法については、このガイドの前部のセクションを参照してください。
ネットワーク接続を必要としないレスキューイメージを選択した場合は、ネットワーク接続を使用したいかどうかを尋ねられます。ネットワークの接続は、別のコンピューターにバックアップをしたり、共有ネットワークの場所から RPM パッケージをインストールしたりする場合などに役に立ちます。
以下のメッセージが表示されます。
レスキュー環境はここで使用する Linux インストールを見つけ、それを /mnt/sysimage ディレクトリ以下へのマウントを試行します。次に、必要な変更をシステムに加えることができます。この手順で進行したい場合は、「Continue (継続)」を選択します。ファイルシステムは 「Read-only (読み込み専用)」を選択することにより、「読み込み・書き込み」ではなく、「読み込み専用」でマウントすることもできます。何らかの理由でこのプロセスが失敗した時は、「Skip (スキップ) 」を選択すると、この手順がスキップされて直接コマンドシェルに進むことができます。
Continue を選択すると、ファイルシステムを /mnt/sysimage/ ディレクトリにマウントしようとします。パーティションのマウントが失敗した場合、その通知があります。Read-Only を選択すると、ファイルシステムを /mnt/sysimage/ ディレクトリにマウントしようとしますが、読み取り専用モードで試行されます。Skip を選択すると、ファイルシステムはマウントされません。ファイルシステムが破損していると思われる場合は、Skip を選択します。
システムがレスキューモードに入ると、VC (仮想コンソール) 1 と VC 2に次のプロンプトが表示されます (VC 1 にアクセスするには Ctrl-Alt-F1 キーを使用し、VC 2 にアクセスするには Ctrl-Alt-F2 キーを使用します) 。
sh-3.00b#
Continue を選択した場合はパーティションが自動的にマウントされ、正常にマウントされると、システムはシングルユーザーモードに入ります。
ファイルシステムがマウントされていても、レスキューモードにいる間のデフォルトのルートパーティションは 一時的なルートパーティションであり、通常のユーザーモード (ランレベル 3 から 5) で使用するファイルシステムの ルートパーティションではありません。ファイルシステムをマウントする選択をして正常にマウントすると、以下のコマンドを使用することによって、レスキューモード環境のルートパーティションをファイルシステムのルートパーティションに変更することができます。
chroot /mnt/sysimage
これは、ルートパーティションが 「/」 としてマウントされることが要求される rpm などのコマンドを実行する必要がある場合に役に立ちます。 chroot 環境を終了するには、exit と入力するとプロンプトに戻ります。
Skip を選択した場合でも、まだレスキューモードの中で手動でパーティションや LVM2 論理ボリュームをマウントすることができます。これは /foo などのディレクトリを作成して、次のコマンドを使用して実行します。
mount -t ext4 /dev/mapper/VolGroup00-LogVol02 /foo
上記のコマンドで、/foo はユーザーが作成したディレクトリであり、/dev/mapper/VolGroup00-LogVol02 はマウントする LVM2 論理ボリュームです。パーティションが ext2 または、ext3 タイプの場合、ext4 をそれぞれ ext2 または、ext3 で入れ替えます。
すべての物理パーティションの名前が不明な場合は、次のコマンドを実行すると一覧が表示されます。
fdisk -l
LVM2 物理ボリュームやボリュームグループ、論理ボリュームの名前がすべて不明な場合はそれぞれ、pvdisplayvgdisplaylvdisplay のコマンドを使用します。
プロンプトから、以下のような多くの便利なコマンドが実行できます。
  • ネットワークが開始されている場合、sshscpping
  • テープドライブのユーザー用に dumprestore
  • パーティションの管理に partedfdisk
  • ソフトウェアのインストールまたはアップグレードに rpm
  • テキストファイルの編集に vi

36.1.2.1. ブートローダーの再インストール

GRUB ブートローダーは間違えて削除されたり、破損されたり、または他のオペレーティングシステムによって入れ替えられたりする場合が多くあります。
以下は、マスターブートレコードに GRUB を再インストールする方法の手順を示しています。
  • インストールブート CD-ROM からシステムを起動します。
  • インストールのブートプロンプトで 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 システムでは、以下の手順に従ってシングルユーザーモードで起動します。
  1. ブート時の GRUB スプラッシュ画面で、いずれかのキーを押して GRUB インタラクティブメニューに入ります。
  2. 起動したいカーネルのバージョンを持つ Red Hat Enterprise Linux を選択して、行に追加するために a と入力します。
  3. 行の末尾に移動し、1 文字分のスペースを空けて single と入力します (Spacebar キーを押し、次に single と入力します) 。Enter キーを押して編集モードを終了します。

36.1.4. 緊急モードでブートする

緊急モードでは、最小限の環境で起動します。root ファイルシステムは読み込み専用でマウントされ、ほとんど何も設定されません。シングルユーザーモードに対する緊急モードの主な利点は、init ファイルがロードされないことです。init が破損していたり、動作していなくても、ファイルシステムをマウントして、再インストール中に消失した可能性のあるデータを復元することができます。
緊急モードでブートするには、「シングルユーザーモードでブートする」のシングルユーザーモードについて説明されているのと同じ方法を使用します。ただし、キーワード single をキーワード emergency に置き換えてください。


[14] 詳細については 本ガイドの前述のセクションを参照してください