我主要看到了通过将参数附加到内核来将驱动程序模块列入黑名单的三种方法:(i) modprobe.blacklist=driver_name、(ii) rd.driver.blacklist=driver_name或(iii)最后两者。这通常通过将这些参数附加到GRUB_CMDLINE_LINUX变量 at 来完成/etc/default/grub。
在实践中,我无法找出它们之间的真正差异。但我想它也可能会随着你的环境而改变。有疑问,我一直在同时使用两者,它适用于我的 Fedora 31。
在man dracut.cmdline:
rd.driver.blacklist=<drivername>[,<drivername>,...]
do not load kernel module <drivername>. This parameter can be
specified multiple times.
Run Code Online (Sandbox Code Playgroud)
在man modprobe:
(……)。modprobe 还将使用在内核命令行上以 <module>.<option> 形式指定的模块选项和以 modprobe.blacklist=<module> 形式的黑名单。
那么,Linux 中将驱动程序列入黑名单modprobe.blacklist和rd.driver.blacklist将驱动程序列入黑名单的区别是什么?我应该什么时候使用每一种?