永久禁用冲突内核模块需创建黑名单文件(如/etc/modprobe.d/blacklist-r8169.conf),写入blacklist r8169和install r8169 /bin/false,再执行sudo update-initramfs -u并重启,最后用lsmod | grep r8169验证未加载。

统信UOS系统中若存在与硬件冲突、引发启动卡死或占用资源的内核模块(如nouveau干扰NVIDIA显卡、r8169导致网卡失联),必须精准禁用,否则可能黑屏、设备无法识别或启动失败。
永久禁用指定内核模块(推荐用于屏蔽冲突驱动)
该方法通过黑名单机制阻止模块被内核自动加载,适用于已知存在兼容性问题的驱动,操作后重启即生效,且不影响其他模块正常工作。
第一步:创建黑名单配置文件,路径必须为/etc/modprobe.d/下以.conf结尾的文件:
sudo nano /etc/modprobe.d/blacklist-r8169.conf
第二步:在文件中写入两行内容,注意空格与拼写准确:
blacklist r8169
install r8169 /bin/false
【install r8169 /bin/false 是关键拦截,仅写 blacklist 不足以防止某些 initramfs 阶段的主动加载】
第三步:更新initramfs镜像,使新配置嵌入到启动初始内存盘中:
sudo update-initramfs -u
第四步:重启系统,验证模块是否未加载:
lsmod | grep r8169 → 应无任何输出
强制加载指定模块(适用于USB设备、加密芯片等需提前就绪的驱动)
某些硬件依赖模块必须在根文件系统挂载前就位,例如TPM2设备驱动或特定USB转串口芯片(如ch341),此时需将其写入initramfs预加载列表。
方法一:直接写入initramfs配置
执行命令:
sudo nano /etc/initramfs-tools/modules
在文件末尾新增一行,仅填写模块名(不带.ko后缀),例如:
ch341
tpm_tis
保存后执行:
sudo update-initramfs -u
方法二:通过modprobe配置声明(更灵活,支持参数)
新建配置文件:
sudo nano /etc/modprobe.d/usb-serial.conf
填入内容(以ch341为例):
install ch341 /sbin/modprobe --ignore-install ch341 $CMDLINE_OPTS; /bin/true
这一步确保ch341模块在initramfs阶段被主动调用而非被动探测,避免因设备枚举延迟导致串口应用启动失败。
查看当前已加载及待加载的模块状态
诊断模块是否生效的第一步是确认真实加载情况,不能仅凭配置文件存在就认为成功。
运行命令查看启动时实际载入的模块列表:
cat /lib/modules/$(uname -r)/modules.builtin | head -20
检查当前运行内核中哪些模块处于活跃状态:
lsmod
若要过滤特定模块,例如确认nouveau是否残留:
lsmod | grep nouveau

















