Mac and linux file system

Best File Systems for Windows/Mac/Linux: How to Choose One

If you want to know which are the best file systems, this post of MiniTool is worth reading. It lists frequently used Windows file systems, Linux file systems, and Mac file systems, including their main features, pros, cons, etc. Based on that, it helps you choose a suitable file system and perform file system conversions.

What Is File System

A file system is a set of rules that decides the way to store and organize data on storage devices like hard drives, flash drives, CD-ROMs, etc. Without a file system, data placed in a storage medium would be one large body of data with no way to tell where a piece of data stops and the next begins.

In a word, file systems keep everything tidy and minimize loss of storage space by logically organizing data. There are multiple file system types and each of them with unique structure and logic, properties of speed, flexibility, security, size, etc. What are the best file systems? Well, the answer depends on specific devices and conditions.

Different operating systems utilize different file systems. For example, Windows uses FAT32/exFAT/NTFS, Mac uses APFS/HFS+, while Linux uses Ext 2/3/4, ReiserFS, BtrFS, XFS, etc. This post explains some frequently used file systems on Windows, Mac, and Linux systems to help you find the best file system in your mind.

Windows File Systems

What Is Windows File System? As its name indicates, it refers to file systems for Windows operating systems. There are 3 popular Windows 10 file systems: FAT32, exFAT, and NTFS. What is the best file system for Windows 10? After reading the content below, you may find the answer.

FAT32

File Allocation Table 32 (FAT32) supports more clusters and reuses most of the existing codes. It consists of 4 major components: a reserved area, two FAT regions, and a data area. All versions of Windows starting from Windows 95 are supported by FAT32. In addition to that, it also works on platforms including macOS, Linux, Unix, PlayStation, and Xbox. In a word, it is compatible with almost all operating systems.

However, FAT32 also has drawbacks. For instance, it has a single file size limit of 4GB. Then it would be common to encounter “the file is too large for the destination file system” error. This Windows 10 file system also lacks permissions and other security features in the more modern NTFS format. Additionally, modern versions of Windows are unable to be installed on a FAT32 drive.

You can’t create/format/extend a FAT32 partition over 32GB via Disk Management, but you can do that in MiniTool Partition Wizard which breaks the FAT32 partition size limit.

Compatibility: FAT32 works with all versions of Windows, Mac, Linux, game consoles, and nearly anything with a USB port. It is widely used on removable storage devices like USB flash drives, microSD cards, and small external hard drives. It is regarded as the best format for USB drives because it is compatible with many devices.

Читайте также:  Postgres server on linux

exFAT

exFAT (Extended File Allocation Table) is built based on FAT32, offering a lightweight system. It is built to replace FAT32. Though it allows you to store files larger than 4GB, it is not as compatible as FAT32. However, it is more compatible than NTFS. Similar to NTFS, it has no realistic limits on file and partition size.

Compatibility: It works with all versions of Windows and modern versions of Mac OS X. It is compatible with Linux, but it requires additional software.

NTFS

NTFS, short for New Technology File System, is a proprietary journaling file system developed by Microsoft. It contains 5 components including O boot record, MFT1, MFT metadata, MFT2, and data area. Compared with FAT32 and exFAT, NTFS has some advantages. For instance, it supports pretty large files, enables you to set file permissions, and allows you to compress files/folders/drives.

It uses a change journal to help you restore information quickly once power failure or other system problems occurs. By using its log file and checkpoint information, NTFS can automatically restore its consistency. Without realistic file size or partition size limits, you don’t have to worry about the saving and transferring of large files.

Compatibility: This Windows file system can work with Windows NT/XP/Vista/7/8/10/11. Actually, modern Windows versions use NTFS by default. NTFS drives are read-only on Mac and Linux devices, which means that they can’t be modified or written any data.

To find the difference between the three Windows 10 file systems, read NTFS vs FAT32 vs exFAT.

Mac File Systems

Mac OS Extended (HFS+)

Mac OS Extended, a file system used on all Macs from 1998 until now, is also known as HFS+ or HFS Plus. On macOS High Sierra, it’s used on all mechanical and hybrid drives. It’s used by default for all drives on older versions of macOS.

It’s recommended to use HFS+ if you are using macOS Catalina or earlier. You can access HFS+ drives on Windows only with the help of third-party apps.

APFS

APFS refers to Apple File System initially released with macOS High Sierra. It’s optimized for solid-state drives and other flash storage devices. Even so, it works on mechanical and hybrid drives too. It supports encryption, snapshots, increased data integrity, etc.

It works with macOS Catalina (10.15), macOS Mojave (10.14), macOS High Sierra (10.13), iOS 10.3 and later, tvOS 10.2 and later, watchOS 3.2 and later, and all versions of iPadOS.

Linux File Systems

Some popular Linux file systems are introduced in this section.

EXT2/3/4

Ext 4 is a modern file system. It’s an upgraded version of Ext 2 and Ext 3. It has features like less fragmentation, larger volumes and files, and improved flash memory life because of delayed memory allocation. As one of the most stable and flexible file systems, Ext 4 is used by most Linux distributions.

Ext in Ext2/3/4 stands for extended file system.

ReiserFS

Initially introduced in 2001 and then upgraded in 2004, ReiserFS was a major competitor to Ext file systems. Thanks to its compact file allocation and small files along with metadata, you are able to store a huge number of small files.

Читайте также:  Linux view boot log

However, its further development is lagging. Though ReiserFS stops receiving active support from developers, it lays the foundation for file systems like Btrfs that might become the next famous Linux file system.

BtrFS

BtrFS, initially developed and designed by Oracle, stands for B-Tree File System. Plenty of users also call BtrFS as Butter FS or Better FS to show how much they love this file system. It is regarded as one of the best Linux file systems because of features like drive pooling, snapshots, the ability to do online defragmentation, and transparent compression.

In addition to snapshots, it also allows you to make replication, migration, and incremental backups. It follows a copy-on-write approach, saving new iterations of data and metadata without affecting the existing ones. Though BtrFS natively supports RAID, it doesn’t follow the approach of typical software RAID striping or hardware block mirroring.

On the contrary, BtrFS ensures that each block on one device has a copy on another and keeps CRCs for all data. Once a device fails to work, BtrFS pulls information from backups and checksums to reconstruct corrupted or missing data.

If you own an SSD, keep it in good health on Linux as TRIM in SSD can help you wipe out unused blocks.

XFS

XFS was initially developed for SGI IRX operating system by Silicon Graphics in 1994. It was ported to Linux operating system in 2001. Thanks to the use of allocation groups, it’s possible for multiple threads to read and write data simultaneously.

With the support for delayed allocation, dynamically allocated inodes, and advanced read-ahead algorithms, XFS has brilliant performance especially on large-scale storage pools (up to hundreds of TB). This Linux file system also supports SSD features, which is good for modern Linux machines.

XFS is suitable for handling large files because of its reliability, but it’s doesn’t a good choice to work with small files due to its poor performance. Compared with more modern alternatives, XFS’s support for journaling is restricted.

F2FS

F2FS refers to Flash-Friendly File System designed and developed by Samsung. Combined with its support for TRIM/FITRIM, this Linux file system is friendly to flash-based media that comes with a finite number of writes. As a matter of fact, it is one of the best choices for flash-based storage.

To use F2FS on Linux and its distributions, you need to configure and tweak Linux kernel first. It’s worth noting that setting F2FS on Linux requires a great deal of hard work and patience.

How to Choose a Suitable File System

The supported systems or devices of these file systems are listed as follows.

FAT32: Windows 950SR2, Windows 98/XP/7/8/10/11, macOS, Linux, Ubuntu Linux, PlayStation 4, and Xbox 360/One

exFAT: Windows XP/Vista/7/ 8/10/11, Windows Server 2003/2008/2008 R2, Linux kernel 5.4 and later, FUSE, Ubuntu Linux, Mac OS X 6.5 and later, PlayStation, and Xbox 360/One

NTFS: Windows NT 3.1 and later, macOS 103 and later (read-only), Linux kernel 2.6 and later (read-only), Ubuntu Linux, FreeBSD, NetBSD, OpenBSD, Chrome OS, Solaris, ReactOS (read-only), and Xbox One

Читайте также:  Linux last logins by user

Ext2/3/4: Windows 7/8/10/11 (with third-party software like MiniTool Partition Wizard), Ubuntu Linux, and Xbox 360/One

HFS+: Windows 7/8/10 (read-only with Boot Camp), macOS (10.6.4 and earlier), macOS (10.6.5 and later), Ubuntu Linux, Xbox 360/One

APFS: macOS (10.6.5 and later)

To learn the maximum file size and volume size of these file systems, check the details in the table below.

2TB – 512 byte (cluster size)

Источник

Macintosh HFS Filesystem for Linux¶

HFS stands for Hierarchical File System and is the filesystem used by the Mac Plus and all later Macintosh models. Earlier Macintosh models used MFS ( Macintosh File System ), which is not supported, MacOS 8.1 and newer support a filesystem called HFS+ that’s similar to HFS but is extended in various areas. Use the hfsplus filesystem driver to access such filesystems from Linux.

Mount options¶

When mounting an HFS filesystem, the following options are accepted:

creator=cccc, type=cccc

Specifies the creator/type values as shown by the MacOS finder used for creating new files. Default values: ‘. ‘.

uid=n, gid=n

Specifies the user/group that owns all files on the filesystems. Default: user/group id of the mounting process.

dir_umask=n, file_umask=n, umask=n

Specifies the umask used for all files , all directories or all files and directories. Defaults to the umask of the mounting process.

session=n

Select the CDROM session to mount as HFS filesystem. Defaults to leaving that decision to the CDROM driver. This option will fail with anything but a CDROM as underlying devices.

part=n

Select partition number n from the devices. Does only makes sense for CDROMS because they can’t be partitioned under Linux. For disk devices the generic partition parsing code does this for us. Defaults to not parsing the partition table at all.

quiet

Ignore invalid mount options instead of complaining.

Writing to HFS Filesystems¶

HFS is not a UNIX filesystem, thus it does not have the usual features you’d expect:

  • You can’t modify the set-uid, set-gid, sticky or executable bits or the uid and gid of files.
  • You can’t create hard- or symlinks, device files, sockets or FIFOs.

HFS does on the other have the concepts of multiple forks per file. These non-standard forks are represented as hidden additional files in the normal filesystems namespace which is kind of a cludge and makes the semantics for the a little strange:

  • You can’t create, delete or rename resource forks of files or the Finder’s metadata.
  • They are however created (with default values), deleted and renamed along with the corresponding data fork or directory.
  • Copying files to a different filesystem will loose those attributes that are essential for MacOS to work.

Creating HFS filesystems¶

The hfsutils package from Robert Leslie contains a program called hformat that can be used to create HFS filesystem. See for details.

Credits¶

The HFS drivers was written by Paul H. Hargrovea (hargrove @ sccm . Stanford . EDU). Roman Zippel (roman @ ardistech . com) rewrote large parts of the code and brought in btree routines derived from Brad Boyer’s hfsplus driver.

Источник

Оцените статью
Adblock
detector