File Allocation Table: Difference between revisions

Content deleted Content added
m Reverted edits by 2605:B100:746:17F6:ACD2:B1FF:FEAF:1A8A (talk) (HG) (3.4.12)
 
(46 intermediate revisions by 37 users not shown)
Line 1:
{{Short description|FamilyFile ofsystem fileused systemsby originallyMS-DOS developedand byWindows Microsoft9x}}
{{further|Design of the FAT file system}}
 
Line 10:
| developer = [[Microsoft]]<!-- original FAT, FAT16, FAT32 -->, [[NCR Corporation|NCR]], [[Seattle Computer Products|SCP]]<!-- FAT12 -->, [[IBM]], [[Compaq]]<!-- Compaq MS-DOS 3.31-->, [[Digital Research]]<!-- lots of extensions -->, [[Novell]]<!-- lots of extensions continuing the DRI line of products -->, [[Caldera (company)|Caldera]]
| full_name = File Allocation Table
| variants = 8-bit FAT, [[#FAT12|FAT12]], [[#FAT16|FAT16]], [[#FAT16B|FAT16B]], [[#FAT32|FAT32]], [[ExFATexFAT]], [[#FATX|FATX]], [[#FAT+|FAT+]]
| introduction_date = {{Start date|1977}}
| introduction_os = [[Standalone Disk BASIC-80]]
Line 42:
| date_resolution = {{ubli
| 2&nbsp;seconds for last modified time,
| 102&nbsp;msseconds for creation time,
| 1&nbsp;day for access date,
| 2&nbsp;seconds for deletion time
Line 69:
}}
 
'''File Allocation Table''' ('''FAT''') is a [[file system]] developed for personal computers and was the default filesystemfile system for the [[MS-DOS]] and [[Windows 9x|Windows 9x]] operating systems]].<ref name=":0">{{Cite journalweb |title=File Allocation Table (FAT): What It Is, Types, Versions, Advantages & Disadvantages |url=https://www.computerscijournalincludehelp.orgcom/vol3no1operating-systems/reviewfile-ofallocation-table-fat.aspx |access-datadate=2025-structure06-of-fat32-file-system/01 |lastwebsite=Bhat |first=Wwww. Aincludehelp. |date=2010 |title=Review of FAT data structure of FAT32 file system |journal=Oriental Journal of Computer Science and Technology |volume=3 |issue=1 |pages=161–164 |s2cid=58178285 |language=encom}}</ref> Originally developed in 1977 for use on [[floppy disk]]s, it was adapted for use on [[Hard disk drive|hard disks]] and other devices. The increase in disk drivesdrive capacity requiredover threetime majordrove variantsmodifications to the design that resulted in versions: [[#FAT12|FAT12]], [[#FAT16|FAT16]] and, [[#FAT32|FAT32]], and [[exFAT]]. FAT was replaced with [[NTFS]] as the default file system on Microsoft operating systems starting with [[Windows XP]].<ref>{{cite web |url=httphttps://windows.microsoft.com/en-us/windows-vista/comparing-ntfs-and-fat-file-systems |title=Comparing NTFS and FAT file systems |publisher=Microsoft |access-date=2014-01-27 |archive-date=2016-06-20 |archive-url=https://web.archive.org/web/20160620004455/http://windows.microsoft.com/en-US/windows-vista/Comparing-NTFS-and-FAT-file-systems |url-status=live }}</ref> Nevertheless, FAT continues to be commonly used on [[flashrelatively memory|flash]]small and othercapacity [[Solidsolid-state storage|solid-state]] technologies such as [[memorySD card]]s and modules (including, [[USB flash driveMultiMediaCard]]s (MMC), many portable and embedded devices[[eMMC]] because of its compatibility and ease of implementation.<ref>{{Cite web |title=A brief introduction to FAT (File Allocation Table) formats |url=http://www.wizcode.com/articles/comments/a-brief-introduction-to-fat-file-allocation-table/ |url-status=dead |archive-url=https://web.archive.org/web/20150925082826/http://www.wizcode.com/articles/comments/a-brief-introduction-to-fat-file-allocation-table/ |archive-date=September 25, 2015 |access-date=2015-09-24 |website=www.wizcode.com |df=mdy-all}}</ref>
 
== Uses ==
Line 75:
 
=== Historical ===
FAT was also used on [[hard disk drive|hard disks]] throughout the [[DOS]] and [[Windows 9x]] eras. Microsoft introduced [[NTFS]] with the [[Windows NT]] platform in 1993, but FAT remained the standard for the home user until the introduction of [[Windows XP]] in 2001. [[Windows Me]] was the final version of [[Microsoft Windows|Windows]] to use FAT as its default file system.
 
For floppy disks, FAT has been standardized as [[Ecma International|ECMA]]-107<ref name="Ecma-107" /> and [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]]&nbsp;9293:1994<ref name="ISO_9293_1994" /> (superseding ISO&nbsp;9293:1987<ref name="ISO_9293_1987" />). These standards cover FAT12 and FAT16 with only short [[8.3 filename]] support; [[long filename]]s with [[#VFAT|VFAT]] were partially [[#Patents|patent]]ed.<ref name="Patent_5758352" /> While [[#FAT12|FAT12]] is used on floppy disks, [[#FAT16|FAT16]] and [[#FAT32|FAT32]] are typically found on the larger media.
 
=== Modern ===
FAT is used internally for the [[EFI system partition]] in the boot stage of [[Extensible Firmware Interface|EFI]]-compliant computers.<ref name="efi" /> Hidden FAT filesystems are also used in the [[Unified Extensible Firmware Interface|UEFI]] boot partition on modern PCs.
 
FAT is still used in drives expected to be used by multiple operating systems, such as in shared Windows, and [[Linux]] and DOS environments. Microsoft Windows additionally comes with a pre-installed tool to convert a FAT file system into NTFS directly without the need to rewrite all files, though this cannot be reversed easily.<ref>{{cite web |date=11 July 2021 |title=How to Convert a Drive from FAT32 to NTFS without Data Loss |url=https://windowsloop.com/how-to-convert-a-drive-from-fat32-to-ntfs-without-data-loss/ |url-status=live |archive-url=https://web.archive.org/web/20210808233345/https://windowsloop.com/how-to-convert-a-drive-from-fat32-to-ntfs-without-data-loss/ |archive-date=2021-08-08 |access-date=8 August 2021 |website=WindowsLoop |language=en-us}}</ref> The FAT file system is used in removable media such as [[floppy disk]]s, [[superfloppy|super-floppies]], [[memory card|memory]] and [[flash memory]] cards or [[USB flash drives]]. FAT is supported by portable devices such as [[Personal digital assistant|PDA]]s, [[digital camera]]s, [[camcorder]]s, [[Portable media player|media player]]s, and mobile phones.<ref name{{cn|date=":0"September />2024}}
 
The [[Design rule for Camera File system|DCF]] file system adopted by almost all [[digital camera]]s since 1998 defines a logical file system with [[8.3 filename]]s and makes the use of either FAT12, FAT16, FAT32 or exFAT mandatory for its physical layer for compatibility.<ref name="DC-009-2010" />
Line 104:
The file system uses an index table stored on the device to identify chains of data storage areas associated with a file, the ''[[Design of the FAT file system#FAT|File Allocation Table]]'' (''FAT''). The FAT is statically allocated at the time of formatting. The table is a [[linked list]] of entries for each ''[[cluster (file system)|cluster]]'', a contiguous area of disk storage. Each entry contains either the number of the next cluster in the file, or else a marker indicating the end of the file, unused disk space, or special reserved areas of the disk. The ''root directory'' of the disk contains the number of the first cluster of each file in that directory. The operating system can then traverse the FAT, looking up the cluster number of each successive part of the disk file as a ''cluster chain'' until the end of the file is reached. ''Sub-directories'' are implemented as special files containing the ''directory entries'' of their respective files.
 
Each entry in the FAT linked list is a fixed number of bits: 12, 16 or 32. The maximum size of a file or a disk drive that can be accessed is the product of the largest number that can be stored in the entries (less a few values reserved to indicate unallocated space or the end of a list) and the size of the disk cluster. Even if only one byte of storage is needed to extend a file, an entire cluster must be allocated to it. andAs anya singleresult, clusterlarge cannumbers notof holdsmall morefiles thancan aresult singlein file,clusters sobeing largeallocated clustersthat wastemay muchcontain diskmostly space"empty" ifdata thereto aremeet largethe numbersminimum ofcluster small filessize.
 
Originally designed as an 8-bit file system, the maximum number of clusters must increase as disk drive capacity increases, and so the number of bits used to identify each cluster has grown. The successive major variants of the FAT format are named after the number of table element bits: 12 ([[#FAT12|FAT12]]), 16 ([[#FAT16|FAT16]]), and 32 ([[#FAT32|FAT32]]).
Line 201:
| encryption = Per-volume only with [[DR-DOS]]
}}
Between April and August 1980, while borrowing the FAT concept for SCP's own 8086 operating system [[QDOS 0.10]],<ref name="Hunter_1983_Softalk" /> Tim Paterson extended the table elements to '''12 bits''',<ref name="Paterson_2007_Design-DOS" /> reduced the number of FATs to two, redefined the semantics of some of the reserved cluster values, and modified the disk layout, so that the root directory was now located between the FAT and the data area for his implementation of '''FAT12'''. Paterson also increased the nine-character (6.3) filename<ref name="Microsoft_1979_BASIC80-50" /><ref name="Microsoft_1979_BASIC80-51" /> length limit to eleven characters to support [[CP/M]]-style [[8.3 filename]]s and [[File Control Block]]s. The format used in Microsoft ''Standalone Disk BASIC's'' 8-bit file system precursor was not supported by QDOS. By August 1980, QDOS had been renamed to [[86-DOS]].<ref name="BYTE_1980_86-DOS" /> Starting with [[86-DOS 0.42]], the size and layout of directory entries was changed from 16&nbsp;bytes to 32&nbsp;bytes<ref name="SCP_1981_86-DOS_1.0_Addendum" /> in order to add a file date stamp<ref name="SCP_1981_86-DOS_1.0_Addendum" /> and increase the theoretical file size limit beyond the previous limit of 16 &nbsp;MB.<ref name="SCP_1981_86-DOS_1.0_Addendum" />
[[86-DOS 1.00]] became available in early 1981. Later in 1981, 86-DOS evolved into Microsoft's [[MS-DOS]] and [[IBM]] [[PC DOS]].<ref name="Duncan_1988_MS-DOS_Encyclopedia" /><ref name="Paterson_2007_Design-DOS" /><ref name="Wallace_1992_Harddrive" />
The capability to read previously formatted volumes with 16-byte directory entries<ref name="SCP_1981_86-DOS_1.0_Addendum" /> was dropped with [[MS-DOS 1.20]].
 
FAT12 used 12-bit entries for the cluster addresses; some values were reserved to mark the end of a chain of clusters, to mark unusable areas of the disk, or for other purposes, so the maximum number of clusters was limited to 4078.<ref name="Norton2" /><ref name="Jenkinson_2000_Forensic" /> To conserve disk space, two 12-bit FAT entries used three consecutive 8-bit bytes on disk, requiring manipulation to unpack the 12-bit values. This was sufficient for the original floppy disk drives, and small hard disks up to 32 megabytes. The [[#FAT16B|FAT16B]] version available with DOS&nbsp;3.31 supported [[32-bit]] sector numbers, and so increased the volume size limit.
 
All the control structures fit inside the first track, to avoid head movement during read and write operations. Any bad sector in the control structures area would make the disk unusable. The DOS formatting tool rejected such disks completely. Bad sectors were allowed only in the file data area. Clusters containing bad sectors were marked unusable with the reserved value <code>0xFF7</code> in the FAT.
 
While 86-DOS supported three disk formats (250.25&nbsp;KB, 616&nbsp;KB and 1232&nbsp;KB, with [[FAT ID]]s <code>0xFF</code> and <code>0xFE</code>) on 8-inch (200&nbsp;mm) floppy drives, IBM [[PC&nbsp;DOS 1.0]], released with the original [[IBM Personal Computer]] in 1981, supported only an 8-sector floppy format with a formatted capacity of 160&nbsp;KB (FAT ID <code>0xFE</code>) for single-sided 5.25-inch floppy drives, and [[PC&nbsp;DOS 1.1]] added support for a [[double-sided disk|double-sided]] format with 320&nbsp;KB (FAT ID <code>0xFF</code>). [[PC DOS 2.0]] introduced support for 9-sector floppy formats with 180&nbsp;KB (FAT ID <code>0xFC</code>) and 360&nbsp;KB (FAT ID <code>0xFD</code>).
Line 262:
| encryption = Per-volume only with [[DR-DOS]]
}}
In 1984, IBM released the [[PC AT]], which required PC&nbsp;DOS&nbsp;3.0 to access its 20&nbsp;MB hard disk.<ref name="IBM_1984_PCDOS30" /><ref name="IBM_1985_Reference" /> Microsoft introduced MS-DOS&nbsp;3.0 in parallel. Cluster addresses were increased to 16-bit, allowing for up to 65,526&nbsp;clusters per volume. However, the maximum possible number of sectors and the maximum [[Disk partitioning|partition]] size of 32&nbsp;MB did not change. Although cluster addresses were 16&nbsp;bits, this format was not what today is commonly understood as '''FAT16'''.
A [[partition type]] <code>[[Partition type#PID_04h|0x04]]</code> indicates this form of FAT16 with less than 65,536&nbsp;sectors (less than 32&nbsp;MB for sector size 512). The benefit of FAT16 was the use of smaller clusters, making disk usage more efficient, particularly for large numbers of files only a few hundred bytes in size.
 
Line 358:
Much later, [[Windows&nbsp;NT]] increased the maximum cluster size to 64&nbsp;KB, by considering the sectors-per-cluster count as unsigned. However, the resulting format was not compatible with any other FAT implementation of the time, and it generated greater [[internal fragmentation]]. [[Windows 98]], SE and ME also supported reading and writing this variant, but its disk utilities did not work with it and some [[File control block|FCB]] services are not available for such volumes. This contributes to a confusing compatibility situation.
 
Prior to 1995, versions of DOS accessed the disk via [[Cylinder-head-sector|CHS]] addressing only. When [[Windows&nbsp;95]] (MS-DOS 7.0) introduced [[Logical block addressing|LBA]] disk access, partitions could start being physically located outside the first c. 8&nbsp;GB<!-- exact value is somewhat smaller --> of this disk and thereby out of the reach of the traditional CHS addressing scheme. Partitions partially or fully located beyond the CHS barrier therefore had to be hidden from non-LBA-enabled operating systems by using the new partition type <code>[[Partition type#PID_0Eh|0x0E]]</code> in the partition table instead. FAT16 partitions using this partition type are also named '''FAT16X'''.<ref name="Microsoft_2004_KB120138" /> The only difference, compared to previous FAT16 partitions, is the fact that some CHS-related geometry entries in the BPB record, namely the number of sectors per track and the number of heads, may contain no or misleading values and should not be used.
 
The number of root directory entries available for FAT12 and FAT16 is determined when the volume is formatted, and is stored in a 16-bit field. For a given number <code>RDE</code> and sector size <code>SS</code>, the number <code>RDS</code> of root directory sectors is <code>RDS = ceil((RDE × 32) / SS)</code>, and <code>RDE</code> is normally chosen to fill these sectors, i.e., <code>RDE × 32 = RDS × SS</code>. FAT12 and FAT16 media typically use 512 root directory entries on non-floppy media. Some third-party tools, like mkdosfs, allow the user to set this parameter.<ref name="MKDOSFS" />
Line 417:
}}
 
In order to overcome the volume size limit of FAT16, while at the same time allowing DOS [[Real mode|real-mode]] code to handle the format, Microsoft designed a new version of the file system, '''FAT32''', which supported an increased number of possible clusters, but could reuse most of the existing code, so that the [[conventional memory]] footprint was increased by less than 5 &nbsp;KB under DOS.<ref name="Microsoft_1998_CC768180" /> Cluster values are represented by [[32-bit]] numbers, of which 28 bits are used to hold the cluster number.
 
==== Maximal sizes ====
The FAT32 boot sector uses a 32-bit field for the sector count, limiting the maximal FAT32 volume size to 2&nbsp;[[terabyte]]s with a sector size of 512&nbsp;[[byte]]s. The maximum FAT32 volume size is 16&nbsp;TB with a sector size of 4,096&nbsp;bytes.<ref name="Microsoft_2007_KB184006" /><ref name="Microsoft_2007_KB314463" /> The built-in [[Windows shell]] disk format tool on Windows NT arbitrarily only supports volume sizes up to 32&nbsp;GB,{{refn|group="nb"|This was a decision taken by the developer in question, who assumed his decision would be revised later, something that never happened.<ref>{{cite web | url=https://www.theregister.com/2021/01/04/windows_format_fat32/ | title=Explained: The thinking behind the 32GB Windows Format limit on FAT32 }}</ref>}} but Windows supports reading and writing to preexisting larger FAT32 volumes, and these can be created with the [[command prompt]], [[PowerShell]] or third-party tools,<ref>{{Cite web |last=Glenn |first=Walter |title=How to Format USB Drives Larger Than 32GB With FAT32 on Windows |url=https://www.howtogeek.com/316977/how-to-format-usb-drives-larger-than-32gb-with-fat32-on-windows/ |access-date=2021-01-26 |website=How-To Geek |date=July 20, 2017 |language=en-US |archive-date=2021-01-26 |archive-url=https://web.archive.org/web/20210126003213/https://www.howtogeek.com/316977/how-to-format-usb-drives-larger-than-32gb-with-fat32-on-windows/ |url-status=live }}</ref> or by formatting the volume on a non-Windows system or on a Windows 9x system with FAT32 support and then transferring it to the Windows NT system. In August 2024, Microsoft released an update to Windows 11 preview builds that allows for the creation of FAT32 partitions up to 2TB in size.<ref>{{Cite web |author1=Roshan Ashraf Shaikh |date=2024-08-16 |title=Windows 11 preview build sees FAT32 partition size increased to 2TB after 30 years |url=https://www.tomshardware.com/software/operating-systems/windows-11-preview-build-sees-fat32-partition-size-increased-to-2tb-after-30-years |access-date=2024-08-23 |website=Tom's Hardware |language=en}}</ref>
 
The maximal possible size for a file on a FAT32 volume is 4&nbsp;[[gigabyte|GB]] minus 1 byte, or 4,294,967,295 (2<sup>32</sup>&nbsp;−&nbsp;1) bytes. This limit is a consequence of the 4-byte file length entry in the directory table and would also affect relatively huge FAT16 partitions enabled by a sufficient sector size.
Line 474:
In order to support [[Java (programming language)|Java]] applications, the [[FlexOS]]-based [[IBM 4690 OS]] version 2 introduced its own [[virtual file system]] (VFS) architecture to store long filenames in the FAT file system in a backwards-compatible fashion. If enabled, the virtual filenames (VFN) are available under separate logical drive letters, whereas the real filenames (RFN) remain available under the original drive letters.<ref name="IBM_4690_Programming_Guide" />
 
=== <span id="ADS"></span>Forks and alternate data streams ===
{{Unreferenced section|date=August 2025}}
 
The FAT file system itself is not designed for supporting [[fork (file system)|alternate data streams]] (ADS), but some operating systems that heavily depend on them have devised various methods for handling them on FAT volumes. Such methods either store the additional information in extra files and directories ([[classic Mac OS]] and [[macOS]]), or give new semantics to previously unused fields of the FAT on-disk data structures ([[OS/2]] and [[Windows NT]]).
 
Line 514:
exFAT is intended for use on [[flash drive]]s and [[memory card]]s such as [[SDXC]] and [[Memory Stick XC]], where FAT32 is otherwise used. Vendors usually pre-format SDXC cards with it. Its main benefit is its exceeding of the 4&nbsp;GB file size limit, as file size references are stored with eight instead of four bytes, increasing the limit to 2<sup>64</sup>&nbsp;−&nbsp;1 bytes.
 
Microsoft's [[Graphical Useruser Interfaceinterface|GUI]] and command-line format utilities offer it as an alternative to [[NTFS]] (and, for smaller partitions, to [[#FAT16B|FAT16B]] and [[#FAT32|FAT32]]). The [[Master Boot Record|MBR]] [[partition type]] is <code>[[Partition type#PID_07h|0x07]]</code> (the same as used for [[Installable File System|IFS]], [[High Performance File System|HPFS]], and NTFS). Logical geometry information located in the [[Volume Boot Record|VBR]] is stored in a format not resembling any kind of BPB.
 
In early 2010, the file system was [[reverse engineering|reverse-engineered]] by the [[SANS Institute]].<ref>{{Cite web|url=https://www.sans.org/reading-room/whitepapers/forensics/reverse-engineering-microsoft-exfat-file-system-33274|title=Reverse Engineering the Microsoft exFAT File System {{pipe}} SANS Institute|access-date=2021-03-20 |archive-date=2021-04-21 |archive-url=https://web.archive.org/web/20210421210732/https://www.sans.org/reading-room/whitepapers/forensics/reverse-engineering-microsoft-exfat-file-system-33274|url-status=live}}</ref> On August 28, 2019, Microsoft published the technical specification for exFAT so that it can be used in the Linux kernel and other operating systems.<ref>{{cite web
Line 536:
 
=== Challenges and lawsuits ===
The [[Public Patent Foundation]] (PUBPAT) submitted evidence to the [[USPTO|US Patent and Trademark Office]] (USPTO) in 2004 disputing the validity of U.S. patent 5,579,517,<ref name=patent5579517 /> including prior art references from [[Xerox]] and IBM.<ref>{{cite web |url=http://www.pubpat.org/assets/files/MicrosoftFAT/Reynolds_517_Reexam_Request.pdf |title=PUBPAT's Request for Reexamination of Microsoft's FAT Patent |last=Ravicher |first=Daniel B. |publisher=[[Public Patent Foundation]] |date=April 15, 2004 |access-date=2014-01-12 |archive-date=2013-06-07 |archive-url=https://web.archive.org/web/20130607091551/http://www.pubpat.org/assets/files/MicrosoftFAT/Reynolds_517_Reexam_Request.pdf |url-status=live }}</ref> The USPTO opened an investigation and concluded by rejecting all claims in the patent.<ref>{{cite web |url=http://www.pubpat.org/assets/files/MicrosoftFAT/Reynolds_517_Rejected_040916.PDF |title=Patent Office's Office Action Rejecting Microsoft FAT Patent |author=USPTO |publisher=[[Public Patent Foundation]] |date=September 30, 2004 |access-date=2014-01-12 |author-link=USPTO |archive-date=2013-05-26 |archive-url=https://web.archive.org/web/20130526003038/http://www.pubpat.org/assets/files/MicrosoftFAT/Reynolds_517_Rejected_040916.PDF |url-status=live }}</ref> The next year, the USPTO further announced that following the re-examination process, it affirmed the rejection of '517 and additionally found U.S. patent 5,758,352<ref name=patent5758352 /> invalid on the grounds that the patent had incorrect assignees.
 
However, in 2006, the USPTO ruled that features of Microsoft's implementation of the FAT system were "novel and non-obvious", reversing both earlier decisions and leaving the patents valid.<ref name="CNET_2006-01-10" />
Line 573:
<ref name="ISO_9293_1994">{{cite web |url=http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=21273 |title=Information technology – Volume and file structure of disk cartridges for information interchange |work=ISO/IEC 9293:1994 |publisher=[[International Organization for Standardization|ISO]] catalogue |year=1994 |access-date=2012-01-06 |archive-date=2012-01-17 |archive-url=https://web.archive.org/web/20120117180640/http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=21273 |url-status=live }}</ref>
<ref name="ISO_9293_1987">{{cite web |url=http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=16948 |title=Information processing – Volume and file structure of flexible disk cartridges for information interchange |work=ISO 9293:1987 |publisher=[[International Organization for Standardization|ISO]] catalogue |year=1987 |access-date=2012-01-06 |archive-date=2012-01-17 |archive-url=https://web.archive.org/web/20120117181849/http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=16948 |url-status=live }}</ref>
<ref name="Patent_5758352">{{cite web |url=httphttps://wwwpatents.google.com/patents?id=bUohAAAAEBAJpatent/US5758352A/en |date=May 26, 1998 |title=Common name space for long and short filenames |author-link1=Aaron R. Reynolds |first1=Aaron R. |last1=Reynolds |first2=Dennis R. |last2=Adler |first3=Ralph A. |last3=Lipe |first4=Ray D. |last4=Pedrizetti |first5=Jeffrey T. |last5=Parsons |first6=Rasipuram V. |last6=Arun |work=US Patent 5758352 |access-date=20122025-0106-1925}}</ref>
<ref name="Duncan_1988_MS-DOS_Encyclopedia">{{cite book |title=The MS-DOS Encyclopedia: versions 1.0 through 3.2 |author-first1=Ray |author-last1=Duncan |author-first2=Steve |author-last2=Bostwick |author-first3=Keith |author-last3=Burgoyne<!-- |author-first4=Robert A. |author-last4=Byers |author-first5=Thom |author-last5=Hogan |author-first6=Jim |author-last6=Kyle |author-first7=Gordon |author-last7=Letwin |author-link7=Gordon Letwin |author-first8=Charles |author-last8=Petzold |author-link8=Charles Petzold |author-first9=Chip |author-last9=Rabinowitz |author-first10=Jim |author-last10=Tomlin |author-first11=Richard |author-last11=Wilton |author-first12=Van |author-last12=Wolverton |author-first13=William |author-last13=Wong |author-first14=JoAnne |author-last14=Woodcock |contribution=Technical advisors |contributor-first1=Mark |contributor-last1=Zbikowski |contributor-link1=Mark Zbikowski |contributor-first2=Paul |contributor-last2=Allen |contributor-link2=Paul Allen |contributor-first3=Steve |contributor-last3=Ballmer |contributor-link3=Steve Ballmer |contributor-first4=Reuben |contributor-last4=Borman |contributor-first5=Rob |contributor-last5=Borman |contributor-first6=John |contributor-last6=Butler |contributor-first7=Chuck |contributor-last7=Carroll |contributor-first8=Mark |contributor-last8=Chamberlain |contributor-first9=David |contributor-last9=Chell |contributor-first10=Mike |contributor-last10=Colee |contributor-first11=Mike |contributor-last11=Courtney |contributor-first12=Mike |contributor-last12=Dryfoos |contributor-first13=Rachel |contributor-last13=Duncan |contributor-first14=Kurt |contributor-last14=Eckhardt |contributor-first15=Eric |contributor-last15=Evans |contributor-first16=Rick |contributor-last16=Farmer |contributor-first17=Bill |contributor-last17=Gates |contributor-link17=Bill Gates |contributor-first18=Michael |contributor-last18=Geary |contributor-first19=Bob |contributor-last19=Griffin |contributor-first20=Doug |contributor-last20=Hogarth |contributor-first21=James W. |contributor-last21=Johnson |contributor-first22=Kaamel |contributor-last22=Kermaani |contributor-first23=Adrian |contributor-last23=King |contributor-first24=Reed |contributor-last24=Koch |contributor-first25=James |contributor-last25=Landowski |contributor-first26=Chris |contributor-last26=Larson |contributor-first27=Thomas |contributor-last27=Lennon |contributor-first28=Dan |contributor-last28=Lipkie |contributor-first29=Marc |contributor-last29=McDonald |contributor-link29=Marc McDonald |contributor-first30=Bruce |contributor-last30=McKinney |contributor-first31=Pascal |contributor-last31=Martin |contributor-first32=Estelle |contributor-last32=Mathers |contributor-first33=Bob |contributor-last33=Matthews |contributor-first34=David |contributor-last34=Melin |contributor-first35=Charles |contributor-last35=Mergentime |contributor-first36=Randy |contributor-last36=Nevin |contributor-first37=Dan |contributor-last37=Newell |contributor-first38=Tani |contributor-last38=Newell |contributor-first39=David |contributor-last39=Norris |contributor-first40=Mike |contributor-last40=O'Leary |contributor-first41=Bob |contributor-last41=O'Rear |contributor-link41=Bob O'Rear |contributor-first42=Mike |contributor-last42=Olsson |contributor-first43=Larry |contributor-last43=Osterman |contributor-first44=Ridge |contributor-last44=Ostling |contributor-first45=Sunil |contributor-last45=Pai |contributor-first46=Tim |contributor-last46=Paterson |contributor-link46=Tim Paterson |contributor-first47=Gary |contributor-last47=Perez |contributor-first48=Chris |contributor-last48=Peters |contributor-first49=Charles |contributor-last49=Petzold |contributor-link49=Charles Petzold |contributor-first50=John |contributor-last50=Pollock |contributor-first51=Aaron |contributor-last51=Reynolds |contributor-link51=Aaron R. Reynolds |contributor-first52=Darryl |contributor-last52=Rubin |contributor-first53=Ralph |contributor-last53=Ryan |contributor-first54=Karl |contributor-last54=Schulmeisters |contributor-first55=Rajen |contributor-last55=Shah |contributor-first56=Barry |contributor-last56=Shaw |contributor-first57=Anthony |contributor-last57=Short |contributor-first58=Ben |contributor-last58=Slivka |contributor-first59=Jon |contributor-last59=Smirl |contributor-first60=Betty |contributor-last60=Stillmaker |contributor-first61=John |contributor-last61=Stoddard |contributor-first62=Dennis |contributor-last62=Tillman |contributor-first63=Greg |contributor-last63=Whitten |contributor-first64=Natalie |contributor-last64=Yount |contributor-first65=Steve |contributor-last65=Zeck -->|date=1988 |edition=Completely reworked |publisher=[[Microsoft Press]] |___location=Redmond, Washington, USA |isbn=1-55615-049-0 |lccn=87-21452 |oclc=16581341}} (xix+1570 pages; 26&nbsp;cm) (NB. This edition was published in 1988 after extensive rework of the withdrawn 1986 first edition by a different team of authors. [https://www.pcjs.org/pubs/pc/reference/microsoft/mspl13/msdos/encyclopedia/] {{Webarchive|url=https://web.archive.org/web/20181014053041/https://www.pcjs.org/pubs/pc/reference/microsoft/mspl13/msdos/encyclopedia/ |date=2018-10-14 }})</ref>
<ref name="Schulman_1994_Undocumented-DOS">{{cite book |author-first1=Andrew |author-last1=Schulman |author-first2=Ralf D. |author-last2=Brown |author-link2=Ralf D. Brown |author-first3=David |author-last3=Maxey |author-first4=Raymond J. |author-last4=Michels |author-first5=Jim |author-last5=Kyle |title=Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1 |publisher=[[Addison Wesley]] |edition=2 |date=1994 |orig-year=November 1993<!-- first printing --> |isbn=0-201-63287-X |___location=Reading, Massachusetts |page=[https://archive.org/details/undocumenteddosp00andr_0/page/11 11] |url=https://archive.org/details/undocumenteddosp00andr_0/page/11}} (xviii+856+vi pages, 3.5"-floppy) Errata: [https://web.archive.org/web/20190417215556/http://www.cs.cmu.edu/afs/cs/user/ralf/pub/books/UndocumentedDOS/errata.ud2][https://web.archive.org/web/20190417212906/https://www.pcjs.org/pubs/pc/programming/Undocumented_DOS/#errata-2nd-edition]</ref>
Line 582:
<ref name="efi">{{cite web |url=http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/fatgen103.doc |title=Microsoft Extensible Firmware Initiative FAT32 File System Specification, FAT: General Overview of On-Disk Format |publisher=[[Microsoft]] |date=March 30, 2011 |access-date=2018-12-21 |archive-date=2021-07-23 |archive-url=https://web.archive.org/web/20210723100623/http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/fatgen103.doc |url-status=live }}</ref>
<ref name="Brouwer_2002_Partition-IDs">{{cite web |url=http://www.win.tue.nl/~aeb/partitions/partition_types-1.html |title=List of partition identifiers for PCs |first=Andries |last=Brouwer |access-date=2012-01-11 |archive-date=2019-04-23 |archive-url=https://web.archive.org/web/20190423204723/http://www.win.tue.nl/~aeb/partitions/partition_types-1.html |url-status=live }}</ref>
<ref name="Brouwer_2002_Logical_FAT">{{cite web |url=httphttps://www.win.tue.nl/~aeb/partitions/partition_types-2.html#ss2.6 |title=Properties of partition tables |first=Andries |last=Brouwer |access-date=2012-01-11 |archive-date=2019-04-23 |archive-url=https://web.archive.org/web/20190423204726/https://www.win.tue.nl/~aeb/partitions/partition_types-2.html#ss2.6 |url-status=live }}</ref>
<ref name="Microsoft_2003_CC736327">{{cite web |url=https://technet.microsoft.com/en-us/library/cc736327(v=ws.10).aspx |title=Dskprobe Overview: Data Recovery |publisher=[[Microsoft TechNet]] |date=March 28, 2003 |access-date=2011-08-03 |archive-date=2011-07-03 |archive-url=https://web.archive.org/web/20110703230849/http://technet.microsoft.com/en-us/library/cc736327(v=WS.10).aspx |url-status=live }}</ref>
<ref name="Microsoft_2004_KB120138">{{cite web |url=http://c-bit.org/kb/120138/EN-US/ |title=Errors Creating Files or Folders in the Root Directory |publisher=Microsoft Help and Support |date=December 16, 2004 |access-date=2006-10-14 |archive-date=2020-07-31 |archive-url=https://web.archive.org/web/20200731141634/http://c-bit.org/kb/120138/EN-US/ |url-status=live }}</ref>
Line 595:
<ref name="Xbox360_FATX">{{cite web |first=Michael |last=Steil |url=http://www.xbox-linux.org/wiki/Differences_between_Xbox_FATX_and_MS-DOS_FAT |title=Differences between Xbox FATX and MS-DOS FAT |publisher=Xbox-Linux project |date=February 26, 2008 |orig-year=2003<!-- 2003-11-30 --> |access-date=2014-05-25 |archive-url=https://web.archive.org/web/20100617022009/http://www.xbox-linux.org/wiki/Differences_between_Xbox_FATX_and_MS-DOS_FAT |archive-date=June 17, 2010 |url-status=dead}}</ref>
<ref name="Kelder_FAT32IFS074">Kelder, Henk; ''FAT32.TXT for FAT32.IFS version 0.74'' ({{cite web |url=http://macarlo.com/fat32v074.htm |title=@Macarlo, Inc |access-date=2012-01-14 |url-status=dead |archive-url=https://web.archive.org/web/20120330171510/http://macarlo.com/fat32v074.htm |archive-date=March 30, 2012 |df=mdy-all}}). Comment: This older version of the README file still discusses the old <code>0xEA</code> and <code>0xEC</code> magic values.</ref>
<ref name="Kelder_2003_FAT32IFS0913">Kelder, Henk; (2003); ''FAT32.TXT for FAT32.IFS version 0.9.13''." ([http://svn.netlabs.org/repos/fat32/branches/fat32-0.9/src/fat32.txt] {{Webarchive|url=https://web.archive.org/web/20130511141205/http://svn.netlabs.org/repos/fat32/branches/fat32-0.9/src/fat32.txt |date=2013-05-11 }}): "This byte [...] is not modified while running [[Windows 95]] and neighter ''[sic]'' by [[SCANDISK]] or [[DEFRAG]]. [...] If another program sets the value to <code>0x00</code> for a file that has [[extended attributes|EAs]] these EAs will no longer be found using DosFindFirst/Next calls only. The other [[OS/2]] calls for retrieving EAs (DosQueryPathInfo, DosQueryFileInfo and DosEnumAttribute) do not rely on this byte. Also the opposite could [...] occur. [...] In this situation only the performance of directory scans will be decreased. Both situations [...] are corrected by [[CHKDSK]]".</ref>
<ref name="DRDOS_FAT+_R2">{{cite web |title=FAT+ draft revision 2 |author-first1=Udo |author-last1=Kuhnt |author-first2=Luchezar I. |author-last2=Georgiev |author-first3=Jeremy |author-last3=Davis |date=2007 |format=FATPLUS.TXT |edition=2 |url=http://www.fdos.org/kernel/fatplus.txt |access-date=2015-08-05 |archive-url=https://web.archive.org/web/20150219123449/http://www.fdos.org/kernel/fatplus.txt |archive-date=February 19, 2015 |url-status=dead }}</ref>
<ref name="Microsoft_2006_ACCDATE">Microsoft (2006-11-15). [http://c-bit.org/kb/135481/EN-US/ Windows 95 CD-ROM CONFIG.TXT File] {{Webarchive|url=https://web.archive.org/web/20200731095231/http://c-bit.org/kb/135481/EN-US/ |date=2020-07-31 }} Article 135481, Revision: 1.1, retrieved 2011-12-22: "For each hard disk, specifies whether to record the date that files are last accessed. Last access dates are turned off for all drives when your computer is started in safe mode, and are not maintained for floppy disks by default. Syntax: <code>[[ACCDATE (CONFIG.SYS directive)|ACCDATE]]=drive1+|- [drive2+|-]...</code>"</ref>
Line 610:
<ref name="DesktopLinux_2009">{{cite web |url=http://www.desktoplinux.com/news/NS4980952387.html?kc=rss |title=Can FAT patch avoid Microsoft lawsuits? |last=Brown |first=Eric |date=July 2, 2009 |archive-url=https://web.archive.org/web/20130131034455/http://www.desktoplinux.com/news/NS4980952387.html |archive-date=January 31, 2013 |url-status=dead |access-date=2009-08-23 |publisher=DesktopLinux.Com}}</ref>
<ref name="ArsTechnica_2009">{{cite web |url=https://arstechnica.com/information-technology/2009/07/vfat-linux-patch-could-circumvent-microsofts-patent-claims/ |title=New Linux patch could circumvent Microsoft's FAT patents |last=Paul |first=Ryan |date=July 2, 2009 |access-date=2013-10-30 |publisher=ArsTechnica.com |archive-date=2013-11-01 |archive-url=https://web.archive.org/web/20131101061453/http://arstechnica.com/information-technology/2009/07/vfat-linux-patch-could-circumvent-microsofts-patent-claims/ |url-status=live }}</ref>
<ref name="Microsoft_2000_Wyse-DOS">{{citeCite FTP web|publisher=Microsoft|date=December 17, 2000|server=Microsoft|url-status=dead|title=Q78407: Wyse DOS 3.3 Partitions Incompatible with MS-DOS 5.x and 6.x|url=ftp://ftp.microsoft.com/misc1/PEROPSYS/MSDOS/KB/Q78/4/07.TXT}}{{dead link|date=July 2020|bot=medic}}{{cbignore|bot=medic}} [https://archive.org/download/ftp.microsoft.com/ftp.microsoft.com.zip/ftp.microsoft.com%2FMISC1%2FPEROPSYS%2FMSDOS%2FKB%2FQ78%2F4%2F07.TXT Alt URL]</ref>
<ref name="GB4">{{cite web |url=https://technet.microsoft.com/en-us/library/cc938937.aspx |title=File Systems |year=2001 |publisher=[[Microsoft TechNet]] |access-date=2011-07-31 |archive-date=2011-08-12 |archive-url=https://web.archive.org/web/20110812044910/http://technet.microsoft.com/en-us/library/cc938937.aspx |url-status=live }}</ref>
<ref name="IBM_4690_User_Guide">IBM; ''4690 OS User's Guide Version 5.2'', IBM document SC30-4134-01, 2008-01-10 ([ftphttps://ftppublic.softwaredhe.ibm.com/software/retail/pubs/sw/opsys/4690/ver5r2/bsf1_UG_mst.pdf] {{Webarchive|url=https://web.archive.org/web/20220125063641/ftp://ftp.software.ibm.com/software/retail/pubs/sw/opsys/4690/ver5r2/bsf1_UG_mst.pdf |date=2022-01-25 }})</ref>
<ref name="IBM_4690_Programming_Guide">IBM; ''4690 OS Programming Guide Version 5.2'', IBM document SC30-4137-01, 2007-12-06 ([ftphttps://ftppublic.softwaredhe.ibm.com/software/retail/pubs/sw/opsys/4690/ver5r2/bsi1_PG_mst.pdf] {{Webarchive|url=https://web.archive.org/web/20220125063705/ftp://ftp.software.ibm.com/software/retail/pubs/sw/opsys/4690/ver5r2/bsi1_PG_mst.pdf |date=2022-01-25 }})</ref>
<ref name="Microsoft_2000_Logical-sectoring">{{citeCite FTP web|publisher=Microsoft|date=December 17, 2000|server=Microsoft|url-status=dead|title=Q68176: Upgrading Pre-4.0 Systems with Logical Drive(s) > 32 MB|url=ftp://ftp.microsoft.com/misc1/PEROPSYS/MSDOS/KB/Q68/1/76.TXT}}{{dead link|date=July 2020|bot=medic}}{{cbignore|bot=medic}} [https://archive.org/download/ftp.microsoft.com/ftp.microsoft.com.zip/ftp.microsoft.com%2FMISC1%2FPEROPSYS%2FMSDOS%2FKB%2FQ68%2F1%2F76.TXT Alt URL]</ref>
<ref name="SCP_1981_86-DOS_1.0_Addendum">{{cite web |url=http://bitsavers.informatik.uni-stuttgart.de/pdf/seattleComputer/86-DOS_1.0_Addendum.pdf |title=SCP 86-DOS 1.0 Addendum |author=Seattle Computer Products |year=1981 |access-date=2013-03-10 |archive-date=2012-10-03 |archive-url=https://web.archive.org/web/20121003100657/http://bitsavers.informatik.uni-stuttgart.de/pdf/seattleComputer/86-DOS_1.0_Addendum.pdf |url-status=live }}</ref>
<ref name="Microsoft_exFAT-License">{{cite web |url=http://www.microsoft.com/en-us/legal/intellectualproperty/IPLicensing/Programs/exFATFileSystem.aspx |title=exFAT File System Intellectual Property licensing program |author=Microsoft |website=[[Microsoft]] |access-date=2013-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20130507183540/http://www.microsoft.com/en-us/legal/intellectualproperty/IPLicensing/Programs/exFATFileSystem.aspx |archive-date=May 7, 2013 |df=mdy}}</ref>
Line 628:
 
== External links ==
* [httphttps://support.microsoft.com/kb/154997/ ''Description of the FAT32 File System'']: Microsoft Knowledge Base Article 154997
* [https://jeffpar.github.io/kbarchive/kb/039/Q39927/ ''MS-DOS: Directory and Subdirectory Limitations'']: Microsoft Knowledge Base Article 39927
* [httphttps://support.microsoft.com/kb/100108/ ''Overview of FAT, HPFS, and NTFS File Systems'']: Microsoft Knowledge Base Article 100108
* Microsoft Technet; [https://web.archive.org/web/20060307082555/http://www.microsoft.com/technet/prodtechnol/winxppro/reskit/c13621675.mspx ''Volume and file size limits of FAT file systems''], copy made by [https://archive.org/ Internet Archive Wayback Machine] of an article with summary of limits in FAT32 which is no longer available on Microsoft website.
* [[Raymond Chen (Microsoft)|Chen, Raymond]]; [https://web.archive.org/web/20081118122857/http://www.microsoft.com/technet/technetmag/issues/2006/07/WindowsConfidential/ ''Microsoft TechNet: A Brief and Incomplete History of FAT32'']
* [https://web.archive.org/web/20170610205053/https://support.microsoft.com/en-us/help/263044/fdisk-does-not-recognize-full-size-of-hard-disks-larger-than-64-gb Fdisk does not recognize full size of hard disks larger than {{nowrap|64 GB}}]: Microsoft Knowledge Base Article 263044, copy made by [https://archive.org/web/ Internet Archive Wayback Machine]. Explains inability to work with extremely large volumes under Windows 95/98.
* [https://web.archive.org/web/20050319235548/http://www.microsoft.com/resources/documentation/Windows/XP/all/reskit/en-us/prkc_fil_cycz.asp ''Microsoft Windows XP: FAT32 File System''], copy made by the [[Internet Archive]]'s [[Wayback Machine]] of an article with summary of limits in FAT32 which is no longer available on Microsoft website.