File Systems

Revision as of 05:46, 19 September 2021 by Andreas85 (talk | contribs) (spelling)
Other languages:
English • ‎Türkçe • ‎français • ‎русский • ‎فارسی

This page provides information on some of the file systems commonly used in Manjaro. It also shows where and how they are used. Further information on these and other file systems can be found in the ARCH Wiki

Page under construction

A file system manages the space on a storage medium (hard disk, SSD ...). It makes this memory available to the operating system so that files can be saved and read again. Each of the following file systems has advantages and disadvantages. They are mostly developed for a special purpose and are therefore used in a certain environment.

Linux

File systems that are mostly used under linux.

Note that many file system drivers are already included in the Linux kernel. You may not need anything else to mount, read, or write these filesystems. But there are packages with additional tools. You may need them to format, check, repair, modify, or optimize such file systems. So if you regularly use a file system, it is a good idea to install the appropriate tools

Ext2 → Ext3 → Ext4

Ext4 is the default file system in Manjaro at the moment. It is the evolution of the most used Linux filesystems (Ext3, Ext2) and promises improved design, better performance, reliability, and features over its predecessors.

If you are using Ext2 or Ext3, you can convert the partition to Ext4. Ext4 uses journaling, checksums and write barriers and is therefore more robust against damage.

Currently Ext4 is fully supported in Win10 and OsX. Support for ext4 has been built in since WSL is included in Win10 (2016).

see Ext4@kernel.org, Ext4@ARCH-wiki, Ext4@wikipedia
For advanced optimizations see Improving Ext4 performance@Archwiki.

Install

In manjaro e2fsprogs is already installed

Btrfs

A modern Copy on Write file system for Linux aimed at implementing advanced features while also focusing on fault tolerance, repair and easy administration. Btrfs not only is a file system, but also is partly a volume manager, software-raid, backup-tool, and it is flash-friendly.

Because Btrfs is different, some things seem unfamiliar and strange. Then btrfs.wiki.kernel.org is a good starting point to search for answers.

Development of Btrfs started in 2007. Since that time, Btrfs is a part of the Linux kernel and is under active development. The Btrfs code base is stable . However, new features are still under development. Its main features and benefits are:

  • Snapshots which do not make the full copy of files
  • RAID - support for software-based RAID 0, RAID 1, RAID 10
  • Self-healing - checksums for data and metadata, automatic detection of silent data corruptions

see btrfs@kernel.org, Btrfs@ARC-wiki, Btrfs@wikipedia

Install

user $ pamac install btrfs-progs COPY TO CLIPBOARD


reiserfs → reiser4

Reiserf was the first journaling filesystem to be included in the standard kernel. It was actively used by some distros some time ago, but is not currently widely used. Reiser4 is the successor to reiserfs(3). However, Reiser4 seems not to be integrated in the kernel yet.

see Reiser4@ARCH-wiki, ReiserFS@wikipedia, Reiser4@wikipedia, Reiser4@kernel.org

Install

user $ pamac install reiserfsprogs reiser4progs COPY TO CLIPBOARD


Windows

File systems mostly used in windows

NTFS

It is the most widely used file system on windows these days. It does exist in different versions, but unlike FAT32, all of them offer the following points:

  • Large files> 4GB
  • Long file names with UTF16 up to 255 characters
  • Rights management, ACL
  • Journaling of metadata
  • Compression, encryption, ...

Currently there are some restrictions when using NTFS with Linux. If windows is suddenly switched off or goes into hibernating, the NTFS file system is left in a "dirty-state". When Windows starts again, NTFS is the first to be cleaned. This operation is currently not supported by the Linux driver. Then Linux shows the NTFS file system as read-only to be on the safe side.


Warning
If you regularly switch between Windows and Linux, you should switch off "hibernation", "Hybrid Boot", "Fast Boot" in Windows. Then Linux has allways full (read / write) access to NTFS drives.

see NTFS@ARCH-wiki, NTFS@wikipedia

Install

user $ pamac install ntfs-3g COPY TO CLIPBOARD


DOS

File systems under DOS and early windows on a lot of floppydisks and USB-sticks

FAT16 → FAT32 (+VFAT)

This is a traditional file system under DOS and early Windows versions. Even today it can be found on many floppy disks, USB sticks and hard drives. It is supported by all types of operating systems and is therefore often used to exchange files, to pass them on, or to keep them accessible to both operating systems in the case of dualboot.

Even with FAT32, this comes not without its disadvantages.

  • no support for user rights or xattr
  • severely restricted file names (8.3 or LFN for VFAT, no distinction between lowercase and uppercase)
  • no files over 2GB (FAT16) 4GB (FAT32)
  • no journaling
  • not robust


Warning
FAT Filesystems do not use journaling. Data on such filesystems is vulnerable to irreparable corruption due to improper ejection or power outage.

see FAT@ARCH-wiki, FAT@wikipedia

Install

user $ pamac install dosfstools COPY TO CLIPBOARD


exFAT

Microsoft developed the exFAT (Extended File Alocation Table) in 2006 and optimized it for flash memories such as USB sticks and SD cards. It can store large files and large numbers of files, and it can manage very large partitions. It is supported by Linux, Windows, macOS and many other devices and is one of the most compatible file systems. ExFAT is included in Linux 5.4.

  • Flash friendly
  • No support for user rights or xattr
  • Files over 4 GB
  • Checksums for metadata
  • No journal
  • Not robust


Warning
exFAT FS does not use journaling. Data on such a filesystem is vulnerable to irreparable corruption due to improper ejection or power outage.

see ExFAT@wikipedia

Install

user $ pamac install exfatprogs COPY TO CLIPBOARD


macOS

Filesystems mostly used in macOs

HFS → HFS+

see HFSPlus@wikipedia

Install from AUR

user $ pamac install hfsprogs COPY TO CLIPBOARD


Others

XFS

see XFS@ARCH-wiki

ZFS

see ZFS@ARCH-wiki

Comparisions

Possible usage of Filesystems
Filesystem manjaro Win10 OsX Win9x, DOS
ext2 ▷ ExtFS
ext3/4 ▷ ExtFS ?
btrfs ● btrfs-progs ▷ ExtFS, WinBtrfs - -
reiser3 ● reiser4progs ▷ RFSTool ? -
reiser4 ○ reiserfs ? ? -
NTFS ○ ntfs-3g
▶ 5.15?? ntfs3
?
FAT32 ● dosfstools
exFAT ▶ 5.4 exfatprogs ? ?
HFS ○ hfsprogs (AUR) ?
XFS ? ▷ ExtFS ?
ZFS ? ? ?
● = fully supported, additional tools to install
▶ = included since kernel x.x.x 
○ = partially supported
▷ = possible via external tools
? = feel free to extend ;-)
Some important properties
Properties ext2 ext3 ext4 btrfs reiserfs(3) XFS
journaling - ● ordered ● ordered ● full ▶ 2.6
barriers -
checksum - - ◎ metadata ● full
kompression - - - ●,
zstd ▶ 4.14/5.1
encryption - - ▶ 4.13 -
snapshots - - - -
TRIM possible - - ▶ 2.6.33 ▶ 4.3
xattr, ACL ? ACL ACL ACL
small repair ● fsck ● fsck ● fsck ● auto reiserfsck
journal repair ● fsck ● fsck ● fsck ● auto 3.2
repair after power loss - ? ● tune2fs, fsck ● auto, scrub
since 1993 2001 2008 2009 2001

See also

Wikipedia:exFAT
Wikipedia:Comparison of file systems
Archwiki:File Systems