NTFS: Difference between revisions

[unchecked revision][unchecked revision]
Content deleted Content added
No edit summary
Line 20:
 
The NTFS-3G project apparently has a read/write implementation for Linux/FreeBSD/BeOS that is currently in '''beta''' development status.
 
== Structure ==
 
The NTFS format is built around "file" tables that allow both pre-defined and custom attributes to be stored and read by the operating system.
 
The NTFS boot sector is similar to other file systems, like FAT.
 
<table border=1>
<tr><th>Field</th><th>Type</th><th>Length</th></tr>
<tr><td>JMP</td><td>byte[3]</td><td>3</td></tr>
<tr><td>OEM System</td><td>char[8]</td><td>8</td></tr>
<tr><td>Bytes Per Sector</td><td>unsigned short</td><td>2</td></tr>
<tr><td>Sectors Per Cluster</td><td>byte</td><td>1</td></tr>
<tr><td>Reserved Sector Count</td><td>unsigned short</td><td>2</td></tr>
<tr><td>Table Count</td><td>byte</td><td>1</td></tr>
<tr><td>Root Entry Count</td><td>unsigned short</td><td>2</td></tr>
<tr><td>Sector Count</td><td>unsigned short</td><td>2</td></tr>
<tr><td>Media Type</td><td>byte</td><td>1</td></tr>
<tr><td>Sectors Per Table</td><td>unsigned short</td><td>2</td></tr>
<tr><td>Sectors Per Track</td><td>unsigned short</td><td>2</td></tr>
<tr><td>Hidden Sector Count</td><td>unsigned int</td><td>4</td></tr>
<tr><td>Sector Count (32-bit)</td><td>unsigned int</td><td>4</td></tr>
<tr><td>Reserved</td><td>unsigned int</td><td>4</td></tr>
<tr><td>Total Sectors (64-bit)</td><td>unsigned long</td><td>8</td></tr>
</table>
 
This is followed immediately by a NTFS specific header.
 
<table border=1>
<tr><th>Field</th><th>Type</th><th>Length</th></tr>
<tr><td>Master File Table Cluster</td><td>unsigned long</td><td>8</td></tr>
<tr><td>Master File Table Mirror Cluster</td><td>unsigned long</td><td>8</td></tr>
<tr><td>Clusters Per Record</td><td>signed byte</td><td>1</td></tr>
<tr><td>Reserved</td><td>byte[3]</td><td>3</td></tr>
<tr><td>Clusters Per Index Buffer</td><td>signed byte</td><td>1</td></tr>
<tr><td>Reserved</td><td>byte[3]</td><td>3</td></tr>
<tr><td>Serial Number</td><td>unsigned int</td><td>4</td></tr>
<tr><td>Checksum</td><td>unsigned short</td><td>2</td></tr>
</table>
 
== Links ==