File Systems

From ReactOS Wiki
Revision as of 01:41, 18 November 2009 by RideBMX (talk | contribs) (Recreate page. Merge information from subpages.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page contains information about file systems ReactOS intends to support.


FAT32 is a file system designed by Microsoft, introduced in August 1996 on Windows 95 OSR2. It is simple and easy to understand compared to other common file systems. The FAT file system is supported across a variety of other operating systems, including GNU/Linux, FreeBSD, BeOS, Mac OS X, and FreeDOS. This makes FAT32 an effective file system for sharing files between operating systems. It is also commonly used on flash media and external hard drives, which ReactOS intends to be able to read with pending USB mass storage support.

ReactOS currently only gives the option to format and install to a FAT partition. The file system driver is substantially implemented to be used, but contains many issues. It is currently being rewritten to use the FullFAT library.


The New Technology File System (NTFS) is another file system designed by Microsoft. It was introduced with the NT line of operating systems, superseding FAT as the preferred file system. Details on the implementation's internals are not released, which makes it difficult to implement. Other operating systems, most notably Linux-based distributions, use NTFS-3G and the FUSE file system interface to support read and write access to NTFS partitions.

Support for the NTFS file system is planned, but is not a priority. The first objective in this area is to be able to use the driver included in Windows XP, which would ensure ReactOS could support the file system.


The second extended filesystem (ext2) is a file system designed for the Linux kernel. It was introduced in January 1993 as a replacement for the extended filesystem (ext). ext2 was replaced by ext3, a similar file system with journaling, but is still popular for use on flash-based storage media. Because Microsoft provides no support for the extended file system, a file system driver had to be written by a third-party developer. The ext2 file system driver was originally developed by Manoj Paul Joseph before ReactOS developers began working on it and testing it on Windows. Filip Navara took interest and continued development on the driver.

The settings to format a HDD partition to ext2 are already included in the 1st stage setup, but are currently disabled. The ext2 file system driver itself is developed enough that it could be used. However, other components of the operating system need further development before ext2 can be used (in particular, the cache manager). Art Yerkes has been working to, among other things, provide a usable implementation of the cache manager in ReactOS. As of r44038, it is possible to boot ReactOS on an ext2 partition through building of the arty-newcc branch. Yerkes also added a _NEWCC_ switch (in r44092), which would allow merging to a trunk build and building with either the new or old cache manager implementation.