Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

36.3.2. 将驱动程序列入黑名单

第 36.1.2 节 “引导至救援模式” 所述,rdblacklist 内核选项可以在引导时将驱动程序列入黑名单。要在随后的引导中继续将驱动程序列入黑名单,需要在描述系统内核的 /boot/grub/grub.conf 中添加 rdblacklist 选项。要在挂载 root 设备时将驱动程序列入黑名单,请在 /etc/modprobe.d/ 里的文件中添加一个黑名单条目。
  1. linux rescue rdblacklist=name_of_driver 命令引导至救援模式,其中 name_of_driver 是需要列入黑名单的驱动程序。按照 第 36.1.2 节 “引导至救援模式” 中的说明,同时不要选择以只读方式挂载系统。
  2. 使用 vi 文本编辑器打开 /mnt/sysimage/boot/grub/grub.conf 文件:
    vi /mnt/sysimage/boot/grub/grub.conf
  3. 确认用于引导系统的默认内核。每个内核都在 grub.conf 文件中以 title 开头的内容指定。默认的内核在文件起始处以 default 参数指定。0 表示第一组内容里描述的内核,而 1 表示第二组,更大的值表示后面的内核。
  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. /etc/modprobe.d/ 中创建新文件,使其包含命令 blacklist name_of_driver。给这个文件取一个描述性的名字,以便以后查找,其后缀应为 .conf。例如,挂载 root 设备时要继续将驱动程序 foobar 列入黑名单,请运行:
    echo "blacklist foobar" >> /mnt/sysimage/etc/modprobe.d/blacklist-foobar.conf
  7. 重启系统。在下一次更新默认内核前,不再需要手动提供作为内核选项的 rdblacklist。如果在修复驱动问题之前更新了默认内核,必须再次编辑 grub.conf,以确保不会再引导时载入有故障的驱动程序。