Ext2

ext2
Developer(s)Rémy Card
Full nameSecond extended file system
IntroducedJanuary 1993 with Linux
Preceded byextended file system
Succeeded byext3
Partition IDsEBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
0x83 (Master Boot Record)
Apple_UNIX_SVR2 (Apple Partition Map)
Structures
Directory contentsTable
File allocationbitmap (free space), table (metadata)
Bad blocksTable
Limits
Max volume size2–32 TiB
Max file size16 GiB – 2 TiB
Max no. of files1018
Max filename length255 bytes
Allowed filename
characters
All bytes except NUL ('\0') and '/'
Features
Dates recordedmodification (mtime), attribute modification (ctime), access (atime)
Date rangeDecember 14, 1901 - January 18, 2038
Date resolution1 s
File system
permissions
Unix permissions, POSIX Access Control Lists (ACL)
Transparent
compression
No (Available through patches)
Transparent
encryption
No
Other
Supported
operating systems
Linux, BSD,[1][2] ReactOS,[3] Windows (through an IFS), macOS (through FUSE), HelenOS,[4] RIOT,[5] Zephyr[6]

ext2, or second extended file system, is a file system for the Linux kernel. It was initially designed by French software developer Rémy Card as a replacement for the extended file system (ext). Having been designed according to the same principles as the Berkeley Fast File System from BSD, it was the first commercial-grade filesystem for Linux.[7]

The canonical implementation of ext2 is the "ext2fs" filesystem driver in the Linux kernel. Other implementations (of varying quality and completeness) exist in GNU Hurd,[8] MINIX 3,[9][10] some BSD kernels,[11][12][13] in MiNT,[14] Haiku[15] and as third-party Microsoft Windows[16] and macOS (via FUSE) drivers. This driver was deprecated in Linux version 6.9 in favor of the ext4 driver, as the ext4 driver works with ext2 filesystems.[17]

ext2 was the default filesystem in several Linux distributions, including Debian and Red Hat Linux, until supplanted by ext3, which is almost completely compatible with ext2 and is a journaling file system. ext2 is still the filesystem of choice for flash-based storage media (such as SD cards and USB flash drives)[citation needed] because its lack of a journal increases performance and minimizes the number of writes, and flash devices can endure a limited number of write cycles. Since 2009,[18] the Linux kernel supports a journal-less mode of ext4 which provides benefits not found with ext2, such as larger file and volume sizes.[19]

  1. ^ "Chapter 8. Disks, File Systems, and Boot Loaders". www.freebsd.org. Retrieved 11 April 2018.
  2. ^ "ext2fs(5)". www.freebsd.org. Retrieved 11 April 2018.
  3. ^ "ReactOS 0.4.2 Released". reactos.org. Retrieved 17 August 2016.
  4. ^ "HelenOS Wiki: Ext4fs". www.helenos.com. Retrieved 6 November 2023.
  5. ^ "pkg/lwext4: add lightweight implementation of the ext2/3/4 filesystem". www.github.com. Retrieved 6 November 2023.
  6. ^ "subsys: fs: Implementation of ext2 file system". www.github.com. Retrieved 6 November 2023.
  7. ^ Mauerer, Wolfgang (2010). Professional Linux Kernel Architecture. John Wiley & Sons. ISBN 9781118079911.
  8. ^ "GNU Hurd/ hurd/ translator/ ext2fs". GNU Hurd. Retrieved 2024-02-10.
  9. ^ "MINIX Release 3.2.0". MINIX 3. Retrieved 2024-02-10.
  10. ^ "git.minix3.org Git - minix.git/tree - minix/fs/ext2/". MINIX 3 Source Code. Retrieved 2024-02-10.
  11. ^ "NetBSD src/sys/ufs/ext2fs/". NetBSD Source Code. Retrieved 2024-02-10.
  12. ^ "OpenBSD src/sys/ufs/ext2fs/". OpenBSD Source Code. Retrieved 2024-02-10.
  13. ^ "ext2fs « fs « sys - src - FreeBSD source tree". FreeBSD Source Code. Retrieved 2024-02-10.
  14. ^ "freemint/sys/xfs/ext2fs at master · freemint/freemint". FreeMiNT Source Code. Retrieved 2024-02-10.
  15. ^ "ext2 « file_systems « kernel « add-ons « src - haiku - Haiku's main repository". Haiku Source Code. Retrieved 2024-02-10.
  16. ^ "matt-wu/Ext3Fsd: Ext2/3/4 file system driver for Windows". matt-wu/Ext3Fsd. Retrieved 2024-02-10.
  17. ^ Cite error: The named reference phoronix-deprecated was invoked but never defined (see the help page).
  18. ^ "ext4: Allow ext4 to run without a journal". Linux kernel source tree. Retrieved 12 January 2021.
  19. ^ "Linux File Systems: Ext2 vs Ext3 vs Ext4". www.thegeekstuff.com. Retrieved 2020-07-13.