Upgrading and Repairing PCs Free Open Book

Upgrading and Repairing PCs

Previous Section Next Section

File Allocation Table

Until the release of Windows XP, the most commonly used file systems were based on a file allocation table (FAT), which keeps track of the data stored in each cluster on a disk. FAT is still the most universally understood file system, meaning it is recognized by virtually every operating system that runs on PCs, and even non-PCs. For example, FAT is even recognizable on Apple Mac systems. For this reason, although NTFS (covered later in this chapter) is usually recommended with Windows XP, for greater compatibility across systems and platforms, most external hard disks and removable-media drives use FAT as their native file systems. Also, if you want to dual-boot Windows XP and Windows 9x/Me, you need to use FAT-based file systems even on your main drives.

Three main varieties of the FAT system exist, called FAT12, FAT16, and FAT32—all of which are differentiated by the number of digits used in the allocation table numbers. In other words, FAT16 uses 16-bit numbers to keep track of data clusters, FAT32 uses 32-bit numbers, and so on. The various FAT systems are used as follows:

  • FAT12. Used on all volumes smaller than 16MiB (for example, floppy disks).

  • FAT16. Used on volumes from 16MiB through 2GiB by MS-DOS 3.0 and most versions of Windows. Windows NT, Windows 2000, and Windows XP support FAT16 volumes as large as 4GiB. However, FAT16 volumes larger than 2GiB cannot be used by MS-DOS or Windows 9x/Me.

  • FAT32. Optionally used on volumes from 512MiB through 2GiB, and required on all FAT volumes over 2GiB, starting with Windows 95B (OSR 2.x) and subsequent versions.

FAT12 and FAT16 are the file systems originally used by DOS and Windows and are supported by every other PC operating system from past to present. An add-on to the FAT file systems called VFAT is found in Windows 95 and newer. VFAT is a driver in Windows that adds the capability to use long filenames on existing FAT systems. When running Windows 95 or newer, VFAT is automatically enabled for all FAT volumes.

Although all PC operating systems support FAT12 and FAT16, Windows 2000 and XP also have support for FAT32 as well as non-FAT file systems such as NTFS.

FAT12

FAT12 was the first file system used in the PC when it was released on August 12, 1981, and it is still used today on all floppy disks and FAT volumes less than 16MiB. FAT12 uses a table of 12-bit numbers to manage the clusters (also called allocation units) on a disk. A cluster is the storage unit in the data area of the disk where files are stored. Each file uses a minimum of one cluster, and files that are larger than one cluster use additional space in cluster increments. FAT12 cluster sizes are shown in Table 24.1.

Table 24.1. FAT12 Cluster Sizes

Media Type

Volume Size

Sectors per Cluster

Cluster Size

5 1/4'' DD floppy disk

360K

2

1KiB

3 1/2'' DD floppy disk

720K

2

1KiB

5 1/4'' HD floppy disk

1.2MB

1

0.5KiB

3 1/2'' HD floppy disk

1.44MB

1

0.5KiB

3 1/2'' ED floppy disk

2.88MB

2

1KiB

Other media

0–15.9MiB

8

4KiB

DD = Double density

HD = High density

ED = Extra-high density

KiB = Kibibyte = 1,024 bytes

MiB = Mebibyte = 1,048,576 bytes

Each cluster on a FAT12 volume is typically 8 sectors in size, except on floppy disks, where the size varies according to the particular floppy type. 12-bit cluster numbers range from 000h to FFFh (hexadecimal), which is 0–4,095 in decimal. This theoretically allows 4,096 total clusters; however, 11 of the cluster numbers are reserved and cannot be assigned to actual clusters on a disk. Cluster numbers start at 2 (0 and 1 are reserved), number FF7h is reserved to indicate a bad cluster, and numbers FF8h–FFFh indicate an end-of-chain in the FAT, leaving 4,085 clusters (4,096 – 11 = 4,085). Microsoft subtracts 1 from this to eliminate boundary problems, allowing up to exactly 4,084 clusters maximum in a FAT12 volume.

FAT12 volumes include 1 sector for the boot record and BPB (BIOS parameter block), two copies of the FAT (up to 12 sectors long each), up to 32 sectors for the root directory (less only on floppy disk media), and a data area with up to 4,084 clusters. Because each FAT12 cluster is 8 sectors (except on floppy disks), FAT12 volumes are limited to a maximum size of 32,729 sectors (1 sector for the boot record + 12 sectors per FAT x 2 FATs + 32 sectors for the root directory + 4084 clusters x 8 sectors per cluster). This equals 16.76MB or 15.98MiB. FAT12 volume limits are detailed in Table 24.2.

Table 24.2. FAT12 Volume Limits

Volume Limit

Clusters

Sectors per Cluster

Total Volume Sectors

Volume Size (Decimal)

Volume Size (Binary)

Maximum size

4,084

8

32,729

16.76MB

15.98MiB

MB = Megabyte = 1,000,000 bytes

MiB = Mebibyte = 1,048,576 bytes

PC/MS-DOS 1.x and 2.x use FAT12 exclusively, and all later versions of DOS and all Windows versions automatically create a FAT12 file system on any disks or partitions that are 32,729 sectors or less (16.76MB) in size. Anything larger than that is automatically formatted as FAT16, FAT32, or NTFS. Characteristics of FAT12 include the following:

  • Is used on all floppy disks

  • Has a default format on FAT volumes of 16.76MB (15.98MiB) or less

  • Is supported by all versions of DOS and Windows

  • Is supported by all operating systems capable of reading PC disks

FAT12 is still used in PCs today on very small media because the 12-bit tables are smaller than those for FAT16 and FAT32, which preserves the most space for data.

FAT16

FAT16 is similar to FAT12 except it uses 16-bit numbers to manage the clusters on a disk. FAT16 was introduced on August 14, 1984, along with PC/MS-DOS 3.0, with the intention of supporting larger hard drives. FAT16 picked up where FAT12 left off and was used on media or partitions larger than 32,729 sectors (15.98MiB or 16.76MB). FAT16 could theoretically support drives of up to 2GiB or 4GiB. However, even with FAT16, DOS 3.3 and earlier were still limited to a maximum partition size of 32MiB (33.55MB) because DOS 3.3 and earlier used only 16-bit sector addressing internally and in the BPB (BIOS parameter block, stored in the volume boot sector, which is the first logical sector in a FAT partition). The use of 16-bit sector values limited DOS 3.3 and earlier to supporting drives of up to 65,535 sectors of 512 bytes, which is 32MiB (33.55MB).

As a temporary way to address drives larger than 32MiB, PC/MS-DOS 3.3 (released on April 2, 1987) introduced the extended partition, which could internally support up to 23 subpartitions (logical drives) of up to 32MiB each. Combined with the primary partition on a disk, this allowed for a total of 24 partitions of up to 32MiB each, which would be seen by the operating system as logical drives C–Z.

To take full advantage of FAT16 and allow for larger drives and partition sizes, Microsoft collaborated with Compaq, who introduced Compaq DOS 3.31 in November 1987. It was the first OS to use 32-bit sector addressing internally and in the BPB. Then the rest of the PC world followed suit on July 19, 1988, when Microsoft and IBM released PC/MS-DOS 4.0. This enabled FAT16 to handle partition sizes up to 2GiB using 64 sectors per cluster.

Each cluster in a FAT16 volume is up to 64 sectors in size. 16-bit cluster numbers range from 0000h to FFFFh, which is 0–65,535 in decimal. This theoretically allows 65,536 total clusters. However, 11 of the cluster numbers are reserved and cannot be assigned to actual clusters on a disk. Cluster numbers start at 2 (0 and 1 are reserved), number FFF7h is reserved to indicate a bad cluster, and numbers FFF8h–FFFFh indicate an end of chain in the FAT, leaving 65,525 clusters (65,536 – 11 = 65,525). Microsoft subtracts 1 from this to eliminate boundary problems, allowing up to 65,524 clusters maximum in a FAT16 volume. FAT16 cluster sizes are shown in Table 24.3.

Table 24.3. FAT16 Cluster Sizes

Volume Size

Sectors per Cluster

Cluster Size

4.1MiB–15.96MiB[1]

2

1KiB

>15.96MiB–128MiB

4

2KiB

>128MiB–256MiB

8

4KiB

>256MiB–512MiB

16

8KiB

>512MiB–1GiB

32

16KiB

>1GiB–2GiB

64

32KiB

>2GiB–4GiB[2]

128

64KiB

MB = Megabyte = 1,000,000 bytes

KiB = Kibibyte = 1,024 bytes

MiB = Mebibyte = 1,024KiB = 1,048,576 bytes

GiB = Gibibyte = 1,024MiB = 1,073,741,824 bytes

[1] Volumes smaller than 16MiB default to FAT12; however, FAT32 can be forced by altering the format parameters.

[2] Volumes larger than 2GiB are supported only by Windows NT/2000/XP and are not recommended.

FAT16 volumes include 1 sector for the boot record and BPB, two copies of the FAT (default and backup) up to 256 sectors long each, 32 sectors for the root directory, and a data area with 4,085–65,524 clusters. Each FAT16 cluster can be up to 64 sectors (32KiB) in size, meaning FAT16 volumes are limited to a maximum size of 4,194,081 sectors (1 sector for the boot record + 256 sectors per FAT x 2 FATs + 32 sectors for the root directory + 65,524 clusters x 64 sectors per cluster). This equals a maximum capacity of 2.15GB or 2GiB. FAT16 volume limits are shown in Table 24.4.

Note

Windows NT/2000/XP can optionally create FAT16 volumes that use 128 sectors per cluster (64KiB) in size, bringing the maximum volume size to 4.29GB or 4GiB. However any volumes formatted in that manner are not readable in virtually any other OS. Additionally, 64KiB clusters cause many disk utilities to fail. For maximum compatibility, FAT16 volumes should be limited to 32KiB clusters and 2.15GB/2GiB in size.

Table 24.4. FAT16 Volume Limits

Volume Limit

Clusters

Sectors per Cluster

Total Volume Sectors

Volume Size (Decimal)

Volume Size (Binary)

Minimum size

4,167

2

8,401

4.3MB

4.1MiB

DOS 3.0-3.3 max.

16,343

4

65,533

33.55MB

32MiB

Win9x/Me max.

65,524

64

4,194,081

2.15GB

2GiB

NT/2000/XP max.

65,524

128

8,387,617

4.29GB

4GiB

MB = Megabyte = 1,000,000 bytes

GB = Gigabyte = 1,000

MB = 1,000,000,000 bytes

MiB = Mebibyte = 1,048,576 bytes

GiB = Gibibyte = 1,024MiB = 1,073,741,824 bytes

Some notable characteristics and features of FAT16 include

  • FAT16 is fully supported by MS-DOS 3.31 and higher, all versions of Windows, and some Unix operating systems.

  • FAT16 is fast and efficient on volumes smaller than 256MiB but relatively inefficient on larger volumes because the cluster size becomes much larger than with FAT32 and NTFS.

  • The boot sector information is not automatically backed up, and if damaged or destroyed, access to the volume is lost.

  • In case of a problem, you can boot the system using any MS-DOS bootable floppy to trouble shoot the problem and if necessary, repair the volume. Many third-party software tools can repair or recover data from FAT16 volumes.

  • The root directory (folder) can handle up to a maximum of 512 entries, which is further reduced if any root entries use long filenames.

  • FAT16 has no built-in security, encryption, or compression capability.

  • File sizes on a FAT16 volume are limited only by the size of the volume. Because each file takes a minimum of one cluster, FAT16 volumes cannot have more than 65,524 total files.

FAT32

FAT32 is an enhanced version of the FAT file system first supported by Windows 95B (also known as OEM Service Release 2, released in August 1996). FAT32 is also supported in Windows 98/Me and Windows 2000/XP. FAT32 is not supported in the original release of Windows 95 or in any release of Windows NT.

One of the main reasons for creating FAT32 was to use disk space more efficiently. FAT32 uses smaller clusters (4KiB clusters for drives up to 8GiB in size), resulting in a 10%–15% more efficient use of disk space relative to large FAT16 drives. FAT32 also supports partitions of up to 2TiB in size, much larger than the 2GiB limit of FAT16. FAT32 cluster sizes are shown in Table 24.5.

Table 24.5. FAT32 Cluster Sizes

Volume Size

Sectors per Cluster

Cluster Size

32.52MiB–260MiB[1]

1

0.5KiB

>260MiB–8GiB

8

4KiB

>8GiB–16GiB

16

8KiB

>16GiB–32GiB

32

16KiB

>32GiB–2TiB[2]

64

32KiB

MB = Megabyte = 1,000,000 bytes

GB = Gigabyte = 1,000MB = 1,000,000,000 bytes

TB = Terabyte = 1,000GB = 1,000,000,000,000 bytes

KiB = Kibibytes = 1,024 bytes

MiB = Mebibyte = 1,024KiB = 1,048,576 bytes

GiB = Gibibyte = 1,024MiB = 1,073,741,824 bytes

TiB = Tebibytes = 1,024GiB = 1,099,511,627,776 bytes

[1] Volumes smaller than 512MiB will default to FAT16, although FAT32 can be forced by altering the format parameters.

[2] Windows 2000 and XP format FAT32 volumes only up to 32GiB; however, they support existing FAT32 volumes up to 2TiB.

Although the name implies that FAT32 uses 32-bit numbers to manage clusters (allocation units) on a disk, FAT32 actually uses only the first 28 bits of each 32-bit entry, leaving the high 4 bits reserved. The only time the high 4 bits are changed is when the volume is formatted, at which time the whole 32-bit entry is zeroed (including the high 4 bits). The high 4 bits are subsequently ignored when reading or writing FAT32 cluster entries; therefore, if those bits are non-zero, they are preserved. Microsoft has never indicated any purpose for them other than simply being reserved.

So, although the entries are technically 32-bit numbers, FAT32 really uses 28-bit numbers to manage the clusters on a disk. Each cluster on a FAT32 volume is from 1 sector (512 bytes) to 64 sectors (32KiB) in size. 28-bit cluster numbers range from 0000000h to FFFFFFFh, which is 0–268,435,455 in decimal. This theoretically allows for 268,435,456 total clusters. However 11 of the numbers are reserved and cannot be assigned to actual clusters on a disk. Cluster numbers start at 2 (0 and 1 are reserved), the number FFFFFF7h is reserved to indicate a bad cluster, and numbers FFFFFF8h–FFFFFFFh indicate an end of chain in the FAT, leaving exactly 268,435,445 clusters maximum (268,435,456 – 11 = 268,435,445).

FAT32 volumes reserve the first 32 sectors for the boot record, which includes both the default boot record (3 sectors long, starting at logical sector 0) and a backup boot record (also 3 sectors long, but starting at logical sector 6). The remaining sectors in that area are reserved and filled with 0s. Following the 32 reserved sectors are 2 FATs (default and backup) that can be anywhere from 512 sectors to 2,097,152 sectors in length, with a data area 65,525–268,435,445 clusters.

Each FAT32 cluster is up to 64 sectors (32KiB) in size, so FAT32 disks or partitions could theoretically be up to 17,184,062,816 sectors (32 sectors for the boot record + 2,097,152 sectors per FAT x 2 FATs + 268,435,445 clusters x 64 sectors per cluster), which equals a capacity of 8.8TB or 8TiB. This capacity is theoretical because the 32-bit sector numbering scheme used in the partition tables located in the master boot record (MBR) limits a disk to no more than 4,294,967,295 (232–1) sectors, which is 2.2TB or 2TiB. Therefore, although FAT32 can in theory handle a volume of up to 8.8TB (terabytes or trillions of bytes), the reality is that we are currently limited by the partition table format of the MBR to only 2.2TB. At the current rate of hard disk capacity growth, single drives of that size will debut between the years 2009 and 2011. Of course, by that time the MBR limitation should be addressed.

Note

If you attempt to format a FAT32 volume larger than 32GiB on a system running Windows 2000 or Windows XP, the format fails near the end of the process with the following error:

Logical Disk Manager: Volume size too big.

This is by design. The format tools included with Windows 2000 and XP will not format a volume larger than 32GiB using the FAT32 file system. Only the format tools are restricted as such; any preexisting volumes up to 2TiB are otherwise fully supported. Microsoft is attempting to force you to use NTFS on any newly created volumes larger than 32GiB. If you are formatting an external USB or FireWire drive that will be moved between various systems, some of which include Windows 98 or Me, you must format the drive on a Windows 98 or Me system.

Windows 95 OSR2 and Windows 98 have additional limitations with FAT32. The ScanDisk tool included with those operating systems is a 16-bit program that has a maximum allocation size for a single memory block of 16MB less 64KB. This means that ScanDisk cannot process volumes using the FAT32 file system that have a FAT larger than 16MB less 64KB in size. Each FAT32 entry uses 4 bytes, so ScanDisk cannot process the FAT on a volume using the FAT32 file system that defines more than 4,177,920 clusters, which after subtracting the two reserved clusters leaves 4,177,918 actual clusters. At 32KiB per cluster—including the boot sector reserved area and the FATs themselves—this results in a maximum volume size of 136.94GB or 127.53GiB. Windows Me and later do not have this limitation.

Table 24.6 lists the volume limits for a FAT32 file system.

Table 24.6. FAT32 Volume Limits

Volume Limit

Clusters

Sectors per Cluster

Total Volume Sectors

Volume Size (Decimal)

Volume Size (Binary)

Minimum size

65,535

1

66,601

34.1MB

32.52MiB

Win9x max.

4,177,918

64

267,452,072

136.94GB

127.53GiB

MBR max.

67,092,481

64

4,294,967,266

2.2TB

2TiB

Theoretical max.

268,435,445

64

17,184,062,816

8.8TB

8TiB

MB = Megabyte = 1,000,000 bytes

GB = Gigabyte = 1,000MB = 1,000,000,000 bytes

TB = Terabyte = 1,000GB = 1,000,000,000,000 bytes

KiB = Kibibytes = 1,024 bytes

MiB = Mebibyte = 1,024KiB = 1,048,576 bytes

GiB = Gibibyte = 1,024MiB = 1,073,741,824 bytes

TiB = Tebibytes = 1,024GiB = 1,099,511,627,776 bytes

FAT32 is more robust than FAT12 or FAT16. FAT12/16 uses the first sector of a volume for the volume boot record, which is a critical structure. If the boot sector is damaged or destroyed, access to the entire volume is lost. FAT32 improves on this by creating both a default and a backup volume boot record in the first 32 sectors of the volume, which are reserved for this purpose. Each FAT32 volume boot record is 3 sectors long. The default boot record is in logical sectors 0–2 (the first three sectors) in the partition, and the backup is in sectors 6–8. This feature has saved me on several occasions when the default boot record was damaged and access to the entire volume was lost. In these situations, I was still able to recover the entire volume by manually restoring the volume boot record from the backup by using a sector editor such as Norton Diskedit (included with Norton SystemWorks by Symantec). Because FAT12 and FAT16 do not create a backup boot sector, if the boot sector is destroyed on those volumes, it must be re-created manually from scratch—a much more difficult proposition.

As with FAT12/16, FAT32 also maintains two copies of the FAT and automatically switches to the backup FAT if a sector in the default FAT becomes unreadable. The root directory (folder) in a FAT16 system is exactly 32 sectors long and immediately follows the two FAT copies; however, in FAT32 the root directory is actually created as a subdirectory (folder) that is stored as a file, relocatable to anywhere in the partition, and extendable in length. Therefore, a 512-file limit no longer exists in the root directory for FAT32 as there was with FAT12/16.

Some notable characteristics and features of FAT32 include the following:

  • FAT32 is fully supported by Windows 95B (OSR2), 98, Me, 2000, XP, and later versions.

  • MS-DOS 6.22 and earlier, Windows 95a, and Windows NT do not support FAT32 and cannot read or write FAT32 volumes.

  • Mac OS 8.1 and later support FAT32 drives.

  • FAT32 is the ideal format for large, external USB or FireWire drives that will be moved between various PC and Mac systems.

  • The root directory (folder) is stored as a subdirectory file that can be located anywhere on the volume. Subdirectories (folders) including the root can handle up to 65,534 entries, which is further reduced if any entries use long filenames.

  • FAT32 uses smaller clusters (4KiB for volumes up to 8GiB), so space is allocated much more efficiently than FAT16.

  • The critical boot sector is backed up at logical sector 6 on the volume.

  • Windows 2000 and XP format FAT32 volumes only up to 32GiB. To format FAT32 volumes larger than 32GiB, you must format the volume on a Windows 98/Me system.

  • In case of a boot problem, you must start the system using a bootable disk created using Windows 95B (OSR2), 98, Me, 2000, or XP. A limited number of third-party software tools can repair or recover data from FAT32 volumes.

  • FAT32 has no built-in security, encryption, or compression capability.

  • File sizes on FAT32 volumes are limited to 4,294,967,295 bytes (232 – 1), which is 1 byte less than 4GiB in size.

    Previous Section Next Section


         Main Menu
    Main Page
    Table of content
    Copyright
    About the Author
    Acknowledgments
    Introduction
    Chapter 1. Development of the PC
    Chapter 2. PC Components, Features, and System Design
    Chapter 3. Microprocessor Types and Specifications
    Chapter 4. Motherboards and Buses
    Chapter 5. BIOS
    Chapter 6. Memory
    Chapter 7. The ATA/IDE Interface
    Chapter 8. The SCSI Interface
    Chapter 9. Magnetic Storage Principles
    Chapter 10. Hard Disk Storage
    Chapter 11. Floppy Disk Storage
    Chapter 12. High-Capacity Removable Storage
    Chapter 13. Optical Storage
    Chapter 14. Physical Drive Installation and Configuration
    Chapter 15. Video Hardware
    Chapter 16. Audio Hardware
    Chapter 17. I/O Interfaces from Serial and Parallel to IEEE-1394 and USB
    Chapter 18. Input Devices
    Chapter 19. Internet Connectivity
    Chapter 20. Local Area Networking
    Chapter 21. Power Supply and Chassis/Case
    Chapter 22. Building or Upgrading Systems
    Chapter 23. PC Diagnostics, Testing, and Maintenance
    Chapter 24. File Systems and Data Recovery
    File Systems
    File Allocation Table
    NTFS
    Disk and File System Structures
    VFAT and Long Filenames
    FAT32
    FAT File System Errors
    FAT File System Utilities
    New Technology File System
    High Performance File System
    Data Recovery
    Common Drive Error Messages and Solutions
    General File System Troubleshooting for MS-DOS, Windows 9x, and Windows Me
    General File System Troubleshooting for Windows 2000/XP
    Appendix A. Glossary
    Appendix B. Key Vendor Contact Information
    Appendix C. Troubleshooting Index
    List of Acronyms and Abbreviations
    Index


    More Books
    PHP Hacks
    Processing Xml With Java - A Guide To Sax, Dom, Jdom, Jaxp, And Trax
    The Koran (Holy Qur'an)
    Macromedia Flash 8 Bible
    Search Engine Optimization for Dummies
    YouTube Traffic
    PHP 5 for Dummies
    Harry Potter and The Chamber of Secrets
    Harry Potter and the Sorcerer's Stone
    The Pilgrim's Progress
    Wireless Hacks
    Flash Hacks. 100 Industrial-Strength Tips & Tools
    PayPal Hacks. 100 Industrial-Strength Tips and Tools
    Amazon Hacks
    Pdf Hacks
    The Da Vinci Code
    Google Hacks
    The Holy Bible
    Windows XP For Dummies
    Harry Potter and the Half-Blood Prince
    Seo Book
    Upgrading and Repairing Networks
    Macromedia Dreamweaver 8 UNLEASHED
    Windows XP Annoyances
    Windows XP Hacks
    Microsoft Windows XP Power Toolkit
    Teach Yourself MS Office In 24Hours
    iPod & iTunes Missing Manual
    PC Hacks 100 Industrial-Strength Tips and Tools
    PC Overclocking, Optimization, and Tuning - 2th Edition
    PC Hardware In A Nutshell 3rd Edition
    PC Hardware in a Nutshell, 2nd Edition
    Upgrading and Repairing PCs
    Google for Dummies
    MySQL Cookbook
    Teach Yourself Macromedia Flash 8 In 24 Hours
    PHP CookBook
    Sams Teach Yourself JavaScript in 24 Hours
    PHP5 Manual
    Free Games Paper Airplanes
    500 Juegos Gratis 500 Giochi Gratis 500 Jeux Gratuits 500 Jogos Gratis 500 Kostenlose Spiele