Struktur sistem berkas NTFS

Artikel ini hanya membahas struktur sistem berkas NTFS.
Dalam sistem berkas NTFS, semua data yang tersimpan di dalam sebuah volume disimpan dalam bentuk berkas. Hal ini berlaku untuk direktori, berkas biasa, hingga struktur data yang dimiliki oleh NTFS itu sendiri (yang disebut dengan NTFS Metadata), yang diperlihatkan pada Tabel di bawah ini. Dengan menyimpan segala data dalam bentuk berkas, Windows dapat menemukan dan memelihara data secara lebih mudah dan cepat, dan tentu saja karena arsitektur keamanan yang dimiliki oleh Windows NT, semua berkas dapat diproteksi dengan menggunakan deskriptor keamanan (security descriptor). Selain itu, jika ada beberapa bagian dari dalam disk mengalami kerusakan (atau lazim disebut sebagai bad sector), NTFS dapat melakukan relokasi terhadap NTFS metadata untuk mencegah disk tersebut menjadi tidak dapat diakses sama sekali.
| Record # | Nama Berkas | Keterangan |
| --- | --- | --- |
| 0 | $MFT | MFT adalah singkatan dari Master File Table, yang berisi catatan setiap berkas yang terletak dalam volume NTFS berikut atribut yang dikandungnya. MFT merupakan jantung dari NTFS. |
| 1 | $MFTMIRR | Salinan dari berkas $MFT yang utama (lihat di atas), yang dapat digunakan untuk tujuan pemulihan sistem (system recovery) dan juga pemulihan hard disk. Isi berkas ini adalah beberapa baris awal yang dimiliki oleh berkas $MFT yang asli. |
| 2 | $LOGFILE | Berisi tabel catatan transaksi yang dapat digunakan untuk tujuan pemulihan sistem. |
| 3 | $VOLUME | Berisi informasi tentang volume yang bersangkutan, seperti nomor serial volume tersebut, versi NTFS yang digunakan dan lain-lain. |
| 4 | $ATTRDEF | Definisi atribut setiap berkas. |
| 5 | $ | Direktori akar (root directory) yang dimiliki oleh sebuah volume. Beberapa literatur menulis root dengan tanda titik (.). |
| 6 | $BITMAP | Berisi peta bit (bitmap) yang terdapat dalam sebuah volume, sehingga dapat diketahui sektor mana saja yang telah terpakai atau belum terpakai. |
| 7 | $BOOT | Berisi kode boot-strapping untuk sebuah volume, jika volume tersebut memiliki kemampuan untuk melakukan proses booting. |
| 8 | $BADCLUS | Berisi tabel yang merujuk pada lokasi unit alokasi yang dianggap rusak (bad cluster) pada sebuah volume NTFS. |
| 9 | $SECURE | Berisi tabel sistem keamanan untuk berkas-berkas yang ada dalam setiap volume. |
| 10 | $UPCASE | Memetakan berkas yang memiliki nama berkas dengan huruf kecil dengan huruf besar. Seperti my-file.doc dipetakan dengan MY-FILE.DOC. |
| 11 | $EXTEND | Digunakan untuk beberapa fitur opsional yang dapat memperluas kemampuan NTFS, seperti kuota untuk pengguna, enkripsi dan tanda pengenal objek (object identifier), dan lain-lain. |
| 12 | Reserved | Direservasikan untuk digunakan pada versi NTFS masa yang akan datang. |
| 13 | Reserved | Direservasikan untuk digunakan pada versi NTFS masa yang akan datang. |
| 14 | Reserved | Direservasikan untuk digunakan pada versi NTFS masa yang akan datang. |
| 15 | Reserved | Direservasikan untuk digunakan pada versi NTFS masa yang akan datang. |
| 16 hingga akhir | [Berkas dalam hard disk] | Digunakan untuk menyimpan semua berkas milik pengguna. |

Ketika seorang pengguna menggunakan utilitas format.com atau menggunakan Windows Explorer untuk membuat partisi NTFS, maka NTFS akan membuat sekitar 16 berkas NTFS metadata (lihat tabel di atas). Setiap berkas tersebut merupakan berkas yang tersembunyi dan sama sekali tidak dapat ditampilkan oleh program Shell ketika pengguna melakukan browsing partisi NTFS dengan menggunakan command prompt atau Windows Explorer. Setiap NTFS Metadata diberi nama yang dimulai dengan karakter dolar ($).
Setiap berkas dalam sebuah volume berbasis NTFS dapat dikenali dengan sebuah nilai berukuran 64-bit yang disebut dengan "referensi berkas" atau file reference. Referensi berkas mengandung sebuah nomor referensi berkas (reference file number) dan sebuah nomor urut referensi berkas (reference sequence number). Angka berkas berhubungan dengan posisi di mana letak record berkas tersebut di dalam MFT dikurangi 1 (atau posisi di mana record tersebut berada dikurangi satu, jika berkas tersebut memiliki lebih dari sebuah record); sedangkan nomor urut referensi berkas, yang akan berubah setiap kali MFT record digunakan, mengizinkan NTFS untuk melakukan pengecekan konsistensi sistem berkas secara internal.