仮想ファイルシステム（かそうファイルシステム、、VFS）は、実際のファイルシステムの上位に位置する抽象化層である。VFSの目的はクライアントアプリケーションが様々なファイルシステムに同じ方法でアクセスできるようにすることである。例えば VFS を使うと、クライアントアプリケーションはローカルな記憶装置にもネットワーク上の記憶装置にも透過的にアクセスできるため、その違いを意識する必要がない。あるいは、Windows、Mac OS、UNIXといったオペレーティングシステム (OS) の違いを超えてファイルシステムの違いを意識することなくアクセスすることが可能となる。
VFSは、カーネルと実際のファイルシステムとのインタフェースあるいは規約を定義している。従って、その規約に従うことで簡単に新たなファイルシステムをカーネルに追加することができる。規約の条件はリリースの度に非互換な変更を加えられる可能性があり、ファイルシステムは新たなリリースに対応するために修正を施したり、再コンパイルする必要がある。あるいは、OS側で規約変更を下位互換を保つように行っていれば、各ファイルシステムは新たなバージョンのOSでもそのまま使用可能となる。
実装.
単一ファイルによる仮想ファイルシステム.
このような機構の利点は、集中管理でき削除が容易という点である。単一ファイルによる仮想ファイルシステムは、通常のファイルシステムが備えると期待される全基本機能を実装しているが、そのファイルシステムの内部構造にアクセスするには専用に書かれたプログラムを使う必要があることが多い（ドライバ経由で実装すると汎用的にアクセスできる）。欠点は、通常のファイルアクセスよりも性能が若干低下する点である。特に、その仮想ファイルシステム内のファイルに書き込みを行ったときやファイルを削除したときに、仮想ファイルシステムを構成している大きな単一ファイルの中身の書き換えが広範囲に発生し、性能が低下する。
実装.
エミュレータや仮想化ソフトウェアは、単にファイルシステムをエミュレートするだけでなく、ハードディスクのレイアウトもエミュレートしている。
他にも、セキュリティの観点や利便性の観点から、単一ファイルを特定アプリケーションでのみファイルシステムとしてアクセスできるようにしたいというニーズがあり、以下のような例がある。