This page contains information about file systems ReactOS intends to support.
Commit history (Source code can be found in: /reactos/drivers/filesystems/fastfat) Code Overview
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.
FAT32 is the file system that has been supported by ReactOS for a long time now, ReactOS can read, write and boot from it. The driver (fastfat.sys) has gone through several iterations, including an attempt to rewrite it with the FullFAT library. In the meantime, Microsoft themselves open-sourced their fastfat.sys - attempts to integrate it into ReactOS have shown that our kernel isn't 100% ready yet.
Commit history (Source code can be found in: /reactos/drivers/filesystems/btrfs)
Btrfs is a Linux filesystem of the "next generation". It was designed to supersede the ext series of Linux filesystems. Principal features include:
Since version 0.4.10 ReactOS can be installed on Btrfs. This includes support for creating Btrfs filesystems (in the installer at least), installing and running ReactOS (read-write) from Btrfs and a shell extension adding a "Btrfs" tab to the drive properties dialog. The driver used is an in-tree copy of Mark Harmstone's fully-featured WinBtrfs driver for Microsoft Windows. In 2016 Peter Hater and Pierre Schweitzer started the integration into ReactOS. As part of the Google Summer of Code 2018, Victor Perevertkin wrote the Btrfs support code for FreeLoader, allowing ReactOS to boot from Btrfs directly. The integration already allowed to send some bug fixes upstream to WinBtrfs proper.
Commit history (Source code can be found in: /reactos/drivers/filesystems/ntfs)
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.
Targeted for ReactOS 0.5.0. ReactOS is currently able to read NTFS drives but write support is not yet enabled. Full support for the NTFS file system is planned but is not currently a high 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.
End of August 2017:
Planned to do:
Unimplemented features needed for boot:
Not fully implemented functions:
Not supported functions:
Commit history (Source code can be found in: /reactos/drivers/filesystems/ext2)
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.
According to this topic (retrieved March 1st, 2012)
28.09.2015 driver was rewrited with using Ext2fsd. 12.10.2015 in revision 897634c (r69509) he is was added to trunk.