modprobe参数及使用方法详解
modprobe各参数用法
modprobe
是 Linux 系统中用于加载和卸载内核模块的工具,它会自动处理模块的依赖关系。以下是 modprobe
的常用参数及其用法说明:
常用参数
-v
或--verbose
详细模式:显示命令执行过程中的详细信息(例如加载的依赖模块)。1
sudo modprobe -v module_name
-r
或--remove
卸载模块:移除指定的模块及其依赖的未使用模块。1
sudo modprobe -r module_name
-l
或--list
列出所有可用模块(在旧版本中有效,新版本可能已弃用,改用find /lib/modules/$(uname -r) -name '*.ko'
)。1
sudo modprobe -l
--show-depends
显示模块的依赖关系:列出加载该模块前需要先加载的依赖模块。1
sudo modprobe --show-depends module_name
-n
或--dry-run
模拟执行:显示将要执行的操作,但不实际加载或卸载模块。1
sudo modprobe -n -v module_name
-f
或--force
强制加载模块:即使模块版本与内核不匹配或存在其他问题,也尝试强制加载。1
sudo modprobe -f module_name
-C
或--config
指定配置文件:使用自定义的配置文件代替默认的/etc/modprobe.conf
或/etc/modprobe.d/
。1
sudo modprobe -C /path/to/config.conf module_name
-c
显示当前配置:输出当前生效的配置参数。1
sudo modprobe -c
-q
或--quiet
静默模式:忽略错误提示(例如模块未找到)。1
sudo modprobe -q module_name
--first-time
检查模块是否已加载:如果模块已加载,则报错并退出。1
sudo modprobe --first-time module_name
常用场景示例
加载模块:
1
sudo modprobe ext4 # 加载 ext4 文件系统模块
卸载模块及其依赖:
1
sudo modprobe -r nvidia # 卸载 NVIDIA 驱动模块
查看模块依赖关系:
1
sudo modprobe --show-depends vfat
强制加载不兼容的模块:
1
sudo modprobe -f usb-storage
模拟加载过程(不实际执行):
1
sudo modprobe -n -v usbhid
配置文件
modprobe
的配置文件位于 /etc/modprobe.d/
目录,用于定义模块的别名、黑名单或参数。
- 黑名单模块(禁止自动加载):
1
echo "blacklist module_name" | sudo tee /etc/modprobe.d/blacklist.conf
- 设置模块参数:
1
echo "options module_name param=value" | sudo tee /etc/modprobe.d/module.conf
注意事项
- 使用
modprobe
需要 root 权限(通过sudo
)。 - 模块名称不需要包含
.ko
后缀。 - 如果模块未找到,检查是否已安装对应的内核模块包(如
linux-modules-extra-$(uname -r)
)。 - 相关命令:
lsmod
:查看已加载的模块。insmod
/rmmod
:手动加载/卸载模块(不处理依赖)。modinfo
:查看模块详细信息。
如果有具体问题(如模块加载失败),可以结合错误信息进一步分析!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Helloeuler!