/proc/filesystems: Find out what filesystems supported by kernel

in Categories File system, Linux last updated July 4, 2007

/proc/filesystems is the file used to detect filesystems supported by running kernel. You can quickly run grep or cat command to display the list of all supported file system. nodev indicates that the file system is not associated with a physical device such as /dev/sdb1. If you see ext3 or vfat, it means you will be able to mount ext3 and vfat based file systems.

Following cat command will quickly tell you what filesystems supported by currently running Linux kernel:

$ cat /proc/filesystems

nodev   sysfs
nodev   rootfs
nodev   proc
nodev   usbfs

For example, if the iso9660 fllesystem not listed, you can not mount standard CD-ROM file system. To add support simply recompile kernel with iso9660 filesystem support.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Share this on (or read 8 comments/add one below):

8 comment

  1. It’s not always true. For example you will not see nfs and nfs4 in /proc/filesystems after reboot. But still you can mount remote nfs directory if needed packages are installed in the system. After successful mounting nfs and nfs4 will appear in /proc/filesystem. Tested on Ubuntu 11.10

    1. same for vfat.

      i can still mount vfat usb drive even vfat not found in /proc/filesystems.But after mounting, it appears in /proc/filesystems too! Tested on kernel

  2. The “nodev” string in the first column means that filesystem does not require a block device to be mounted, it’s so called virtual filesystem.

  3. Just adding my 2 cents here. The only way to be sure about what filesystems are supported by the kernel or not is to check its configuration file. In my case, it is
    and look for the filesystem type.
    I searched for ISO9660 (for example) and found the following:

    # CD-ROM/DVD Filesystems

    The “m” means it was compiled as a module but not automatically inserted into the kernel.
    In order to load it into the kernel, we must run the following command:
    modprobe -a isofs
    (where isofs is the alias of the corresponding module)
    And then iso9660 will show up in the /proc/filesystems file.

    (on a side note, the aliases for modules can be found in /lib/modules, then look for the directory of your kernel, and read the file modules.alias)

  4. Sorry, I forgot to include the path to my kernel’s configuration file. Here it is:

    Have a question? Post it on our forum!