Architecture, Internals, and Implementation of the New Technology File System
Introduction: The Architecture of Persistence
- Why NTFS Matters
- The Book’s Approach
- How to Read This Book
Chapter 1: Volume Layout and the Boot Sector
- Sectors, Clusters, and Volume Geometry
- The Boot Sector Structure
- BIOS Parameter Block Fields
- Parsing the Boot Sector (Code)
- Volume Identification and Signatures
Chapter 2: The Master File Table
- MFT Architecture and Location
- File Record Segment Header
- Attribute Types and the Type Registry
- Resident Attributes
- Non-Resident Attributes
- Parsing File Records (Code)
Chapter 3: Core Attributes - Standard Information, Filename, Security
- The $STANDARD_INFORMATION Attribute
- The $FILE_NAME Attribute and Unicode Filenames
- Security Descriptors and DACLs
- SID Structure and Parsing
- Building the Metadata Handler (Code)
Chapter 4: Data Attributes and Runlists
- The $DATA Attribute
- Runlist Encoding and Decoding
- Parsing Non-Resident Data (Code)
- Sparse Files and Zero Runs
- Compression on NTFS
Chapter 5: Directories and B+ Tree Indexing
- The $INDEX_ROOT Attribute
- B+ Tree Architecture in NTFS
- Index Entries and Collation Rules
- The $INDEX_ALLOCATION Attribute
- Directory Traversal (Code)
Chapter 6: Allocation Structures - Bitmaps, Clusters, and the Allocator
- The $BITMAP Attribute
- Cluster Allocation Strategies
- Free Space Search Algorithms
- Bad Cluster Management ($BAD_CLUSTERS)
- Building the Allocator (Code)
Chapter 7: Links, Reparse Points, and Extended Attributes
- Hard Links and MFT Reference Counting
- Symbolic Links and Junction Points
- Reparse Points and the Filter Architecture
- Alternate Data Streams (ADS)
- Object IDs and Extended Attributes
Chapter 8: Transaction Logging and Recovery
- The NTFS Log File ($LogFile)
- Write-Ahead Logging Protocol
- Log Record Formats
- Crash Recovery Algorithm
- Building the Journaling Subsystem (Code)
Chapter 9: Special Files and System Metadata
- The Metadata File Registry
- $Volume and Volume Flags
- $AttrDef - Attribute Definitions
- $Quota - Disk Quotas
- $UpCase and $Extend Tables
Chapter 10: The USN Journal and Change Tracking
- USN Journal Architecture
- USN Record Formats
- Querying the Journal
- Forensic and Monitoring Applications
Chapter 11: Encryption, Quotas, and Advanced Features
- Encrypting File System (EFS) Architecture
- FVEK and DEK Encryption Scheme
- Disk Quota Enforcement
- Volume Caching Considerations
- Consistency Checking (chkdsk Logic)
Chapter 12: Version Evolution and Compatibility
- NTFS 1.0 - Windows NT 3.1
- NTFS 2.0-3.0 - Major Feature Additions
- NTFS 3.1 and Later Evolutions
- Cross-Version Compatibility Matrix
- Interoperability with Other Platforms
Conclusion: The Complete Implementation
- What We Built
- What a Production Implementation Needs
- Where to Go Next