Ntfs Cheat Sheets
Ntfs Cheat Sheets
Ntfs Cheat Sheets
0x000000
unused
6
7
OEM ID
Media
desc
0x0000
B
C
Bytes/ Sector
Sect /
track
D
E
F
Sect/
res
clust
Hidden Sectors
Number
heads
Total Sectors
Logical Cluster of $MFTMirr
Volume Serial Number
Boot Code
20
unused
30
Logical Cluster of $MFT
40 Clust / File record segment
Clusters / Index Block
50
Checksum
60
.
Boot Code
.
.
1E0
1F0
Boot Code
55
AA
Key
Sect / Clust - Sectors per cluster
res - reserved, note that the terms reserved, unused and 0x00 are specified by Microsoft, the difference between reserved and
unused is not specified. However it should be noted that the blocks specified as all zeros have defined meaning within FAT boot
sectors.
media desc - Media descriptor, legacy from DOS, 0xF8 indicates fixed disk, 0xF0 a HD 3.5inch floppy.
BIOS Parameter Block (BPB)
Extended BPB
Boot code
End of sector marker
reference: http://technet.microsoft.com/en-us/library/cc976796.aspx
NTFS files
File
Name
$Mft
$MFT
record #
0
$MftMirr
MFT mirror
$LogFile
Log file
$Volume
Volume
$AttrDef
4
5
$Bitmap
$Boot
Attribute
definitions
Root file name
index
Cluster bitmap
Boot sector
Contains one base file record for each file and folder on an NTFS volume.
If the allocation information for a file or folder is too large to fit within a
single record, other file records are allocated as well.
Guarantees access to the MFT in case of a single-sector failure. It is a
duplicate image of the first four records of the MFT.
Contains information used by NTFS for faster recoverability. The log file is
used by Windows Server 2003 to restore metadata consistency to NTFS
after a system failure. The size of the log file depends on the size of the
volume, but you can increase the size of the log file by using the Chkdsk
command.
Contains information about the volume, such as the volume label and the
volume version.
Lists attribute names, numbers, and descriptions.
6
7
$BadClus
$Secure
$Upcase
8
9
10
$Extend
NTFS extension
file
11
12-15
Description
source: http://technet.microsoft.com/en-us/library/cc781134(WS.10).aspx
Michael Wilkinson, This document may be freely distributed provided this notice remains intact
The original is located at http://www.writeblocked.org/
Page 1 of 4
Description
Includes information such as time stamp and link count.
Lists the location of all the attribute records that do not fit in the MFT record.
A repeatable attribute for both long and short file names. The long name of the file can be up to
255 Unicode characters. The short name is the MS-DOS-readable, 8.3, case-insensitive name for
the file. Additional names, or hard links, required by POSIX can be included as additional file
name attributes.
A volume-unique file identifier. Used by the link tracking service. Not all files have object
identifiers.
0x40 Object ID
0x50 Security Descriptor
0x60 Volume Name
0x70 Volume Information
Shows information about who owns the file and who can access the file.
Used only in the $Volume system file. Contains the volume label.
Used only in the $Volume system file. Contains the volume version.
Contains file data. NTFS allows multiple data attributes per file. Each file typically has one
0x80 Data
unnamed data attribute. A file can also have one or more named data attributes, each using a
particular syntax.
0x90 Index Root
Used to implement folders and other indexes.
0xA0 Index Allocation
Used to implement folders and other indexes.
0xB0 Bitmap
Used to implement folders and other indexes.
Used for directory junction points and volume mount points. They are also used by file system
0xC0 Reparse Point
filter drivers to mark certain files as special to that driver.
Similar to a data stream, but operations on a logged tool stream are logged to the NTFS log file
0x100 Logged Tool Stream
just like NTFS metadata changes. Used by EFS.
source: http://technet.microsoft.com/en-us/library/cc976808.aspx
File Record Segment Header
Seq no
Update Seq
array offset
st
Hard Link
Count
Update Seq
$LogFile Sequence Number
array size
Flags
Used size of file record Allocated size of file
record
1 attrib
offset
File reference to base file record
Next attrib
MFT Record No
ID
Reserved for update sequence array?
st
Type ID
Content length
Form code
0x00 = Resident
0x01 = Non resident
Attribute Length
Content
offset
Form
code
name
len
Name
offset
flags
Attrib ID
unused
Flags
0x00FF = Compressed
0x8000 = Sparse
0x4000 = Encrypted
Michael Wilkinson, This document may be freely distributed provided this notice remains intact
The original is located at http://www.writeblocked.org/
Page 2 of 4
Type ID
Attribute Length
Form name
Name
flags
Atrib ID
code
len
offset
Ending virtual cluster number
Size of attribute content
10
Start virtual cluster number
20 Runlist Compression
0x0000
offset
unit size
30
size on disk of attribute content
40 Data runlists
3
4
5
Date Created*
10
20
30
40
B
C
D
Date Modified
Date Accessed
Version Num
Class ID
Quota Charged
0
10
2
3
4
5
Parent Directory
Date Modified
20
Date Accessed
30
Size on disk
40
B
C
D
Date Created
Date MFT Modified
Reparse value
Name Name
Name (variable length)
len type
Name types
Value
Description
Michael Wilkinson, This document may be freely distributed provided this notice remains intact
The original is located at http://www.writeblocked.org/
Page 3 of 4
0
0
10
20
30
40
Type ID
Attribute Length
0x80
Start virtual cluster number
Runlist Compression
0x0000
offset
unit size
size on disk of attribute content
Data runlists
Form name
Name
flags
Atrib ID
code
len
offset
Ending virtual cluster number
Size of attribute content
Initialized size of attribute content
Data runlists
$ATTRIBUTE_LIST entry (one entry per attribute in the record, including attributes that precede the list).
Type ID
Record
Length
Atrib Attrib
name name
len offset
Seq num
Lowest VCN
Reserved
Source: http://msdn.microsoft.com/en-us/library/bb470038%28v=vs.85%29.aspx
Michael Wilkinson, This document may be freely distributed provided this notice remains intact
The original is located at http://www.writeblocked.org/
Page 4 of 4