Howto: Prevent a Linux kernel module from auto loading

by on June 13, 2007 · 12 comments· LAST UPDATED June 13, 2007

in , ,

In some situation you may want to avoid loading a Linux driver module automatically . For example:
[a] You would like to use proprietary device driver (I'm against any sort of proprietary drivers) and not inbuilt (reverse engineer) kernel driver.

[b] If your server system connected without a diskette / floppy drive; kernel will try to load floppy driver - disable floppy driver or module.

[c] In some cases buggy driver causes kernel BUG on load so you just want to avoid the problem.

The Linux kernel get module information from /etc/modprobe.conf file and /etc/modprobe.d/* file(s).

If you are using CentOS/Redhat/RHEL/Fedora Linux...

Just open your /etc/modprobe.conf file and turn of auto loading using following syntax:
alias driver-name off

If you are using Debian / Ubuntu Linux...

open /etc/modprobe.d/blacklist file and add drivername using following syntax:
blacklist driver-name

Reboot your box and use lsmod command to show the status of modules in the Linux Kernel.

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 12 comments… read them below or add one }

1 Béranger June 14, 2007 at 6:30 am

Blacklisting in /etc/modprobe.d/blacklist works in F7 too, not only in Debian!

2 Erik Bussink June 14, 2007 at 7:04 pm

On a similar path, how would you go about disabling USB without having to add nousb on the kernel settings line in GRUB ?

3 nixCraft June 15, 2007 at 10:34 am

You need to add following drivers
usbcore
ehci_hcd
uhci_hcd

lsmod and modinfo command always gives information about loaded drivers.

4 Prakash August 31, 2007 at 8:57 pm

the method is if nothing works in debian based distros to blacklist a certain module,try making a file /etc/modprobe.d/00local with content as
install modulename /bin/true

5 MotoHoss July 15, 2008 at 9:57 pm

The debian way? An update has been written and is available here : http://wiki.debian.org/KernelModuleBlacklisting

6 Ravi J December 29, 2009 at 7:53 pm

I am unable to stop kvm, kvm_intel from getting loaded even after adding those to blacklist (Ubuntu 9.10).

7 Dhananjay March 1, 2011 at 1:19 pm

Thanks a lot.

8 0xA00A July 13, 2011 at 9:35 am

on fedora 15 you do:
sudo gedit /etc/modprobe.d/blacklist.conf
blacklist driver-name

9 Riccardo September 1, 2011 at 7:22 pm

On Suse is like fedora 15:

sudo gedit /etc/modprobe.d/blacklist.conf
blacklist driver-name

10 Gary October 14, 2011 at 8:46 pm

alias driver-name off does nto work on CentOS 5.5

11 nathan April 21, 2012 at 8:55 pm

OpenSuse 11.4 can only mount one type of filesystem ‘ISO9660′ . What is my problem?
Thank you
Nathan

12 cristian February 4, 2013 at 5:30 pm

How I can do to join the blacklist all except driver being used. thanks. cristian

Leave a Comment

Previous post:

Next post: