36.3.2. ブラックリストへのドライバーの登録

「レスキューモードで起動」に説明されているように、rdblacklist カーネルオプションを使って、ブート時にドライバーをブラックリストに登録します。その後のブートでもドライバーをブラックリストに登録し続けるには、使用しているカーネルを記述する /boot/grub/grub.conf の行に rdblacklist オプションを追加します。ルートデバイスのマウント時にドライバーをブラックリストに登録するには、/etc/modprobe.d/ の下のファイルにブラックリストのエントリーを追加します。
  1. linux rescue rdblacklist=name_of_driver コマンドを使って、レスキューモードでシステムを起動します。name_of_driver はブラックリストに登録する必要があるドライバーです。「レスキューモードで起動」 の手順に従い、インストールされたシステムを読み取り専用でマウントしないように選択します。
  2. vi テキストエディタで /mnt/sysimage/boot/grub/grub.conf ファイルを開きます。
    vi /mnt/sysimage/boot/grub/grub.conf
  3. システムをブートするために使用するデフォルトのカーネルを特定します。各カーネルは、title で始まる行のグループがある grub.conf ファイルで指定されています。デフォルトのカーネルはファイルの冒頭付近の default パラメーターで指定されています。値 0 は行の 1 番目のグループで記述されたカーネルを指し、値 1 は 2 番目のグループで記述されたカーネルを指します。それ以上の値は、その後に続くカーネルを順に指します。
  4. グループの kernel 行を編集して、 rdblacklist=name_of_driver オプションを含めます。name_of_driver はブラックリストに登録する必要があるドライバーです。例えば、foobar と呼ばれるドライバーをブラックリストに登録するには、以下を実行します。
    kernel /vmlinuz-2.6.32-71.18-2.el6.i686 ro root=/dev/sda1 rhgb quiet rdblacklist=foobar
  5. ファイルを保存して、vi を終了します。
  6. blacklist name_of_driver コマンドを含む /etc/modprobe.d/ の下に新規ファイルを作成します。ファイル名には .conf 拡張子を使用し、後で見付けやすい説明的な名前にします。例えば、ルートデバイスのマウント時に foobar ドライバーを継続してブラックリストに登録するには、以下を実行します。
    echo "blacklist foobar" >> /mnt/sysimage/etc/modprobe.d/blacklist-foobar.conf
  7. システムを再起動します。次にデフォルトのカーネルを更新するまで、カーネルオプションとして rdblacklist を手動で追加する必要はありません。ドライバーの問題が解決する前にデフォルトのカーネルを更新する場合は、grub.conf を再編集し、不良のドライバーがブート時にロードされていないことを確認する必要があります。