NTFS Dosya Sistemi
New Technology File System Yeni Teknoloji Dosya Sistemi (NTFS), Microsoft tarafından tasarlanmıştır ve Microsoft Windows NT, Windows 2000, Windows XP, Windows 7,8,10 ve Windows Server işletim sistemleri için varsayılan dosya sistemidir. NTFS’ den önce FAT dosya sistemi kullanılmaktadır. NTFS oluşturulmasının sebebi FAT32 dosya sisteminin minimum 4096 Megabayttan düşük dosyalar ve maksimum 8 Terabaytlık bölümlerde çalışma sınırlanmasının olmasıdır. FAT32 ile ilgili bir neden daha vardır. Buda bir sorun oluştuğunda verilerin korunmasına olanak sağlamıyordu. NTFS dosya sistemi, güvenlik riski yüksek ve depolama kapasitesi daha büyük verilerin her baytı bir dosyaya ayrılmıştır. NTFS, çok özellikli ve çok ölçeklenebilir olduğu için FAT’ den çok daha karmaşık bir dosya sistemidir. NTFS’ in beş sürümü yayınlanmıştır. Bunlar ise; V1.0, V1.1, V1.2, V3.0 ve V3.1 dir.
NTFS Dosya Yapısı
NTFS dosya sisteminde her şey dosyadır. Bu dosyalar ise;
- Klasör, Dosyalar
- Önyükleme (Bootstrap) verileri
- Dosya tahsis Bitmapleri
- Metadata
NTFS dosya sistemi hakkında bilgileri Master File Table depolamaktadır.
Master File Table (MFT)
MFT, NTFS dosya sistemi hakkında her dosyayı ve dizinler hakkında bilgiler içerir. MTF’ de her dosya ve dizin hakkında en az bir kayıt bulundurur. MFT’deki ilk 16 kayıt metadata dosyaları için ayrılmıştır. MFT kayıtlarının her bir tanesinin boyutu 1 KB’dir. Header ilk 42 baytı sabit yapıya sahipken, kayıtın geri kalan kısmı ise dosya adı ve sistem özniteliklerini saklamak için kullanılır. Aşağıda MFT ile ilgili temel düzenini göstermektedir.
MFT Özeti
- MFT bir dizi dosya kaydıdır.
- Her kayıt 1024 bayttır.
- MFT’deki ilk kayıt, MFT’nin kendisidir.
- MFT’nin adı $MFT dir
- MFT’deki ilk 16 kayıt metadata dosyaları için ayrılmıştır.
NTFS Metadata Dosyaları
Attribute Başlıkları
Attribute türünü, boyutunu ve adını tanımlar. Ayrıca, değerin sıkıştırılıp şifrelenmediğini belirlemek için bayrakları vardır. Ek olarak MFT girişi aynı türden birden fazla attibute içerebilmektedir. Fakat MFT girişine özgü bir tanımlayıcı değer içerir.
Attribute İçerikleri
Attribute İçerikleri attributelere ait verileri depolamaktadır. Örneğin dosyanın içeriği ile ilgili bilgi barındıran $DATA attribute’u bu bölümde bulunmaktadır. Attribute İçeriği, dosyanın içeriğini barındırmamaktadır, diskteki konumunu tutmaktadır. (Verinin bulunduğu Cluster adresi) Fakat bazı durumlarda dosyanın içeriğini barındırabilmektedir. Bu bölümde bir istisna bulunmaktadır. Tarafımca yapılan testler sonucu varsayılan olarak içermesi gereken attributelerden geriye 600 baytlık alan kaldı ise veri bölümüne 600 bayt’lık dosya yazılabildiği, eğer ilgili dosya 600 bayttan büyükse diskte depolanmaya başlandığı ve $DATA attribute’u altında depolandığı cluster’ın adresi saklandığı görülmüştür. Bazı kaynaklarda 900 bayt üzerindeki verilen cluster’da saklandığı tanımlanmışken , bazı kaynaklarda bu değer 700 bayt olarak tanımlanmıştır. Wikipedia tarafından paylaşılan metinde ise eğer dosya adı çok uzun değilse, dosyanın ACL sahipliği yoksa ve dosya NTFS şifrelemesine tabi tutulmadıysa genellikle 700–800 bayt arası olan dosyaların MFT’de $DATA attribute’nda saklandığı söylenmektedir. Genel olarak bu değerde çeşitli istisnaların olduğu, çeşitli algoritmaların çalıştığı düşünülmektedir.
Standart Attribute Tipleri
$STANDARD_INFORMATION Attribute
$STANDARD_INFORMATION nitelik tüm dosyaları ve dizinleri için var ve çekirdek meta verileri içerir. Bu özelliğin varsayılan türü kimliği 16 olduğunu ve Windows 2000 ve XP sürümlerinde 72 byteve Windows NT sürüm 48 bayt statik boyutu vardır. Bu özellikte dört tarih ve zaman damgaları vardır.
- Oluşturma Zamanı
- Son Değiştirme Zamanı
- MFT Değiştirme Zamanı
- Erişim Zamanı
$FILE_NAME Attribute
Her dosya ve dizin için MFT girişinde en az bir $ FILE_NAME niteliği vardır. Özellik, dosya adının uzunluğuna bağlıdır 48 bit türü bir tanımlayıcı ve değişken bir uzunluğa sahiptir.$ FILE_NAME nitelik UTF-16 Unicode olarak kodlanmış dosyanın adını içerir.
- Oluşturma Zamanı
- Son Değiştirme Zamanı
- MFT Değiştirme Zamanı
- Erişim Zamanı
NTFS dosya sistemi ile ilgili anlatacaklarım bu kadar umarım faydalı bir anlatım olmuştur. Diğer blog yazılarımda görüşmek üzere…