Difference between revisions of "File Systems"

From ReactOS Wiki
Jump to: navigation, search
(Added some changelog links for NTFS)
(Link to File System FAQ)
Line 40: Line 40:
 
==See Also==
 
==See Also==
 
[[Pierre-fsd_Branch|Pierre-fsd Branch]]
 
[[Pierre-fsd_Branch|Pierre-fsd Branch]]
 +
 
[[Category:Documentation]]
 
[[Category:Documentation]]
 +
 +
[http://www.reactos.org/en/dev_faq.html#filesys ReactOS FAQ on File Systems]

Revision as of 04:03, 2 March 2012

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

FAT32

Background

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.

Status

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.

NTFS

Background

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.

Status

Targeted for ReactOS 0.5.0. 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.

ext2

Background

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.

Status

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)

  • Usetup (1st stage setup) can create a format an ext2 volume
  • FreeLoader (unlike NTLDR) CAN boot ReactOS from ext2
  • The current issue is that it seems our ext2 driver has bit-rotted but Art has a new one which he can import which supposedly works
  • However, the ext2 driver depends on NewCC which we're still working the bugs out of (random hangs, crashes)
  • Once NewCC is enabled, we should support ext2 (installing, booting, mounting, formatting, etc) assuming the new ext2 driver is imported by then.

NFS

An open source NFS 4.1 file system driver has been released for Windows. While possibly being supported in the future, there is not currently any development on NFS.


See Also

Pierre-fsd Branch

ReactOS FAQ on File Systems