33.4. システムリカバリーモードでの問題の解決
本セクションでは、システムの復旧モードの一部に対応する必要がある、最も一般的な問題のいくつかを解決する方法を説明します。
以下の手順は、
root
パスワードをリセットする方法を示しています。
手順33.4 root パスワードのリセット
- 手順33.2「シングルユーザーモードで起動」 の説明に従って、
シングルユーザーモード
で起動します。 - メンテナンスシェルコマンドラインから passwd コマンドを実行します。
起動不可能なシステムで最も一般的な原因の 1 つは、GRUB ブートローダーを含むマスターブートレコード(MBR)を上書きします。ブートローダーが上書きされても、
レスキューモード
でブートローダーを再設定しない限り、Red Hat Enterprise Linuxnbsp;Hat Enterprise Red Hat Enterprise Linuxnbsp;Linux を起動することはできません。
ハードドライブの MBR に GRUB を再インストールするには、次の手順に進みます。
手順33.5 GRUB ブートローダーの再インストール
- 手順33.1「レスキューモードでの起動」 の説明に従って、
レスキューモード
で起動します。システムの root パーティションを読み書きモードでマウントしていることを確認します。 - 以下のコマンドを実行して root パーティションを変更します。
sh-3.00b#
chroot /mnt/sysimage - 以下のコマンドを実行して、GRUB ブートローダーを再インストールします。
sh-3.00b#
/sbin/grub-install boot_partboot_part は、ブートパーティション(通常は/dev/sda
)に置き換えます。 - GRUB が追加のオペレーティングシステムを制御するために追加エントリーが必要になる可能性があるため、
/boot/grub/grub.conf
ファイルを確認してください。 - システムを再起動します。
システムが起動できなくなるもう 1 つの一般的な問題は、root パーティション番号の変更です。これは、通常、パーティションのサイズ変更やインストール後に新しいパーティションの作成時に発生する可能性があります。root パーティションのパーティション数が変わると、GRUB ブートローダーがそれをマウントできない可能性があります。この問題を修正するには、
レスキューモード
で起動し、/boot/grub/grub.conf
ファイルを変更します。
誤作動またはドライバーがないと、システムが正常に起動できなくなる可能性があります。RPM パッケージマネージャーを使用して、誤作動ドライバーを削除したり、
レスキューモード
で更新されたドライバーや不足しているドライバーを追加したりすることができます。誤動作のあるドライバーを何らかの理由で削除できない場合は、代わりにドライバーをブラックリストに登録することで、起動時に読み込まれないようにすることができます。
Driver Disc がすべての定義済み initramfs イメージを更新する
ドライバーディスクからドライバーをインストールする場合、ドライバーディスクはこのドライバーを使用するためにシステム上のすべての initramfs イメージを更新します。ドライバーが原因でシステムが起動できない場合は、別の initramfs イメージからシステムを起動する方法は使用できません。
システムの起動を妨げる誤作動ドライバーを削除するには、以下の手順に従います。
手順33.6 レスキューモードでのドライバーの削除
- 手順33.1「レスキューモードでの起動」 の説明に従って、
レスキューモード
で起動します。システムの root パーティションを読み書きモードでマウントしていることを確認します。 - root ディレクトリーを
/mnt/sysimage/
に変更します。sh-3.00b#
chroot /mnt/sysimage - 以下のコマンドを実行してドライバーパッケージを削除します。
sh-3.00b#
rpm -e driver_name - chroot 環境を終了します。
sh-3.00b#
exit - システムを再起動します。
システムが起動しないドライバーをインストールするには、以下の手順に従います。
手順33.7 レスキューモードでのドライバーのインストール
- 手順33.1「レスキューモードでの起動」 の説明に従って、
レスキューモード
で起動します。システムの root パーティションを読み書きモードでマウントしていることを確認します。 - ドライバーを含む RPM パッケージでメディアをマウントし、パッケージを
/mnt/sysimage/
ディレクトリー配下の任意の場所にコピーします(例:/mnt/sysimage/root/drivers/
)。 - root ディレクトリーを
/mnt/sysimage/
に変更します。sh-3.00b#
chroot /mnt/sysimage - 以下のコマンドを実行してドライバーパッケージをインストールします。
sh-3.00b#
rpm -ihv /root/drivers/package_nameこの chroot 環境の/root/drivers/
は、元のレスキュー環境では/mnt/sysimage/root/drivers/
であることに注意してください。 - chroot 環境を終了します。
sh-3.00b#
exit - システムを再起動します。
システムの起動を阻止し、root デバイスがマウントした後にこのドライバーを読み込めないようにするには、以下の手順に従います。
手順33.8 レスキューモードでのドライバーのブラックリスト登録
- linux
rescue rdblacklist=driver_nameコマンドを使用してレスキュー
モード を起動します。driver_name はブラックリストに登録する必要のあるドライバーです。手順33.1「レスキューモードでの起動」 の手順に従って、システムの root パーティションを読み書きモードでマウントしていることを確認します。 - vi エディターで
/boot/grub/grub.conf
ファイルを開きます。sh-3.00b#
vi /boot/grub/grub.conf - システムの起動に使用するデフォルトのカーネルを特定します。各カーネルは
grub.conf
ファイルに、タイトル
で始まる行のグループで指定します。デフォルトのカーネルは、ファイルの開始直後にdefault
パラメーターで指定します。値が0
の場合は、1 番目の行グループで説明されるカーネルを参照し、値1
は 2 番目のグループで説明されるカーネルを指します。また、高い値は、後続のカーネルを順次参照します。 - グループの
カーネル
行を編集して、オプションrdblacklist=driver_name
を追加します。driver_name はブラックリストに指定する必要のあるドライバーです。以下に例を示します。kernel /vmlinuz-2.6.32-71.18-2.el6.i686 ro root=/dev/sda1 rhgb quiet rdblacklist=driver_name
- 以下を入力してファイルを保存し、vi エディターを終了します。
:wq
- 以下のコマンドを実行して、root パーティションをマウントした後に
ドライバーをブラックリストに登録する新しい /etc/modprobe.d/driver_name.conf を作成します
。echo "install driver_name" > /mnt/sysimage/etc/modprobe.d/driver_name.conf
- システムを再起動します。