36.3. レスキューモードを使用したドライバー問題の対処方法

ドライバーが誤作動する場合やドライバーが不足している場合は、システムは通常どおりブートできません。そのようにシステムがブートに失敗するときでも、レスキューモードを使うと、ドライバーを追加、削除、置換することができます。可能な場合は、RPM パッケージマネージャーを使用して、不良なドライバーの場合はそれを削除するか、最新のドライバーや不足しているドライバーを追加することをお勧めします。何らかの理由で誤作動するドライバーを削除できない場合は、代わりにドライバーを ブラックリストに登録する ことで、ブート時にロードしないようにできます。
ドライバーディスクからドライバーをインストールする場合、ドライバーディスクはこのドライバーを使用するシステム上のすべての initramfs イメージを更新することに注意してください。ドライバーが原因でシステムがブートできない場合は、別の initramfs イメージからシステムをブートする方法は使用できません。

36.3.1. RPM によるドライバーの追加、削除または置換

レスキューモードでは、RPM を使用して、インストールされたシステムからパッケージをインストールし、削除し、更新することができます。インストールされたシステムをブートできなかったとしてもこれらを実行することができます。誤作動を起こすドライバーを削除するには、以下を実行します。
  1. ブートプロンプトで linux rescue コマンドを使って、レスキューモードでシステムを起動します。または、ドライバーディスクからサードパーティードライバーをロードする必要がある場合は、linux rescue dd コマンドを使用します。「レスキューモードで起動」 の手順に従い、インストールされたシステムを読み取り専用でマウントしないように選択します。
  2. ルートディレクトリを /mnt/sysimage/ に変更します。
    chroot /mnt/sysimage/
  3. rpm -e コマンドを使って、ドライバーパッケージを削除します。例えば、kmod-foobar ドライバーパッケージを削除するには、以下を実行します。
    rpm -e kmod-foobar
  4. chroot 環境を終了します。
    exit
ドライバーをインストールするプロセスは似ていますが、ドライバーを含む RPM パッケージはシステム上で利用可能である必要があります。
  1. ブートプロンプトで linux rescue コマンドを使って、レスキューモードでシステムを起動します。または、ドライバーディスクからサードパーティードライバーをロードする必要がある場合は、linux rescue dd コマンドを使用します。「レスキューモードで起動」 の手順に従い、インストールされたシステムを読み取り専用でマウントしないように選択します。
  2. ドライバーを含む RPM パッケージを利用できるようにします。例えば、CD または USB フラッシュドライブをマウントして、RPM パッケージを /mnt/sysimage/ の下の希望する場所にコピーします。例: /mnt/sysimage/root/drivers/
  3. ルートディレクトリを /mnt/sysimage/ に変更します。
    chroot /mnt/sysimage/
  4. rpm -ivh コマンドを使用して、ドライバーパッケージをインストールします。例えば、kmod-foobar ドライバーパッケージを /root/drivers/ からインストールするには、以下を実行します。
    rpm -­ivh /root/drivers/kmod-foobar-­1.2.0­4.17.el6.i686
    この chroot 環境の /root/drivers/ は元のレスキュー環境の /mnt/sysimage/root/drivers/ である点に注意してください。
ドライバーの削除およびインストールが終了したら、システムを再起動します。