NTFS: Difference between revisions

Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
No edit summary
Line 20: Line 20:


The NTFS-3G project apparently has a read/write implementation for Linux/FreeBSD/BeOS that is currently in '''beta''' development status.
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 ==
== Links ==