Linux. Lots and lots of people are using one or more Linux devices without realizing it. Android phones are running a variation of Linux, with their internal storage formatted in one of the Linux-supported file systems. Ubuntu is also a version of Linux. Many Web servers and nearly all NAS (Network Attached Storage) devices run an embedded version of Linux. Your home Wi-Fi router is probably Linux. Even your digital camera is most probably running embedded Linux! Chances are, your refrigerator and coffee maker will run Linux, sooner or later.
Over the years, Linux has become prevalent in mobile and embedded industry, empowering many consumer electronic devices, appliances, gaming consoles, and wearable gadgets. In the Linux environment, the choice of file systems is not limited to only FAT, NTFS and exFAT. Some of these file systems gained more support from developers, and some are considered exotic even among hardcore Linux aficionados. With all the choices available, knowing just what type of a file system your phone or network attached storage is running becomes essential should you ever need to recover data.
Linux File Systems
In Windows or Mac OS, there isn’t much choice when it comes to file systems. You can only have a Windows system partition formatted with NTFS, and no other file systems are allowed. Similarly, Mac OS can only be installed on a HFS+ volume.
Should it come to formatting an external (removable) storage such as a memory card or USB flash drive, you can choose the universal FAT32 (and possibly bump into its 4 GB max file size limitation) or the more recent, but patent-protected exFAT (which is used to format all 64-GB and higher capacity SDXC cards).
In Linux, FAT32 is supported out of the box. However, exFAT support is not a given, unless a particular manufacturer has decided to pay royalties to Microsoft. Same goes for NTFS support.
However, if we talk about internal storage, Linux users have far more choice regarding the file systems. Interestingly, inside the Linux operating system the file systems are interchangeable thanks to the system’s by-design portability. File system interchangeability support is built into Linux core, and is called the Virtual File System (VFS).
As Linux is maintained by many independent developers, there is no agreement as to what is the single ‘best’ file system. Probably there isn’t one, as each file system used in Linux offers certain benefits while introducing adjacent drawbacks. Let’s have a look at what are the most popular file systems used in Linux.
Linux File System
ext2, ext3 and ext4
Three different versions of Extended File System with varying levels of journaling and available advanced features. The ext family of file systems is by far the most common among all Linux builds. Your Android smartphone is most likely using one or more ext4 partitions. Your NAS storage could run on ext3/ext4 as well.
Flash-Friendly File System originally developed by Samsung Electronics for portable devices with solid-state memory. The reason for developing f2fs was building a file system that would take into account the characteristics of NAND flash memory-based storage devices (such as solid-state disks, eMMC, and SD cards). f2fs is frequently used on Android phones and tablets, particularly on cache and swap partitions. You are very likely using one or more devices having at least one partition formatted with f2fs
A high-performance 64-bit journaling file system created by Silicon Graphics, Inc (SGI) in 1993. As of June 2014, XFS is supported by most Linux distributions. Thanks to its design, this file system excels in execution of parallel input/output operations, which makes it a file system of choice with many makers of NAS storage systems. Your NAS may be running this or the ext3/ext4 file system.
There are also legacy file systems that you are less likely to see:
Linux File System
JFS and JFS2
The 64-bit Journaling File System for IBM’s AIX. Mostly superseded by other file systems.
The first journaling file system to be included in the standard Linux kernel. Mostly superseded with ext3. A new, incompatible version of ReiserFS called Reiser4 exists, yet not included with any standard Linux kernels.
The Unix File System, also called the Berkeley Fast File System, the BSD Fast File System or FFS. The oldest file system supported by Linux. Rarely used and mostly superseded by other file systems
Recovering Data from Linux File Systems
It’s important to realize that Linux file systems are not natively supported in any version of Windows. While drivers and emulators exist, many of them simply pack a slimmed down Linux kernel to mount a partition and share it with Windows processes via some sort of high-level API. As a result, if you need to recover a Linux partition on a Windows PC, you’ll need a data recovery tool natively supporting Linux file systems. There aren’t exactly many such tools available.