Dosya meta verileri Windows'ta nasıl depolanır?


11

(Windows XP kullanıyorum ancak sanırım Windows'un tüm son sürümlerinde aynı.)

Örneğin yeni bir boş metin belgesi oluşturduğunuzda, özelliklerinde 0 bayt boyutunda olduğunu göreceksiniz. Sıfır bayt bilgi yok demektir . Veri yok.
Ancak yine de, dosyanın bir adı vardır, yine de son erişim, değiştirme ve oluşturma tarihlerini taşıyabilir. Gizli dosya olup olmadığı, salt okunur olup olmadığı bilgisini taşır ...

Peki tüm meta veriler nerede depolanıyor?


Burada sihir yok. Bu yanıtları buradan okuyun: stackoverflow.com/questions/4954991/…
HighTechGeek

Uzun zaman önce, bilgisayarımda birkaç dosyayı bir şekilde bozan ve böylece yaklaşık 100GB boyutunda göründüğü bir tür virüsün olduğunu hatırlıyorum. Bunların her biri. 40GB sabit diskimde. Yani bir çeşit sihir olmalı ... :-D
Jeyekomon

Yanıtlar:


10

Sabit disklerin dosya içerdiği öğretildi, ancak gerçek bu değil. Aslında, sabit disklerde çok sayıda tek bit tarafından ifade edilen çok büyük bir sayı bulunur. Ancak bu yorumlama size ya da bilgisayarınıza bir anlam ifade etmiyor, çünkü tek bir büyük sayıları işlemek çok yaygın değil (ve ben gerçekten büyük sayılardan bahsediyorum). Bunun yerine, bilgisayar onu daha küçük 'kelimelere' ayırır (8 bit, 16 bit, 32 bit veya her neyse) ve bu şekilde kullanır. Yine de, bu sadece birkaç kelime (8-bit kelimeleri, yani baytları varsayalım).

Şimdi, bu sürücü bölümlendi. Bölümlemenin neden bu cevapta iyi bir fikir olduğunu açıkladım :

Genel olarak konuşursak, sürücüler bölümlendirme olmadan kullanılabilir. Çoğu pendrives böyle çalışır. Ancak bölümleri kullanmanın sadece bazılarını adlandırmak için birçok avantajı vardır:

  • Aynı sabit sürücüde oturan ve birbirleriyle çakışmayan iki işletim sistemi olabilir. Her biri kendi bölümünü mantıksal bir sürücü olarak görecek ve siz söylemedikçe diğerleriyle uğraşmayacak.
  • Verilerinizi mantıksal olarak ayırabilirsiniz. Bir bölüm bir sebepten dolayı bozulursa, diğer bölümler bozulmadan kalacaktır.
  • Bölümleri kullanmak, birden çok küçük sabit sürücüyü kullanmaktan daha iyidir, çünkü sisteminiz daha sessiz, daha az enerji harcar ve yeniden boyutlandırabilir, silebilir, taşıyabilirsiniz.
  • Sabit sürücünün bazı kısımlarını bazı özel amaçlar için kullanabilirsiniz.

Şimdi, her bölüm kendi dosya sistemine sahiptir. Windows'un modern sürümleri NTFS kullanır , ancak FAT , FAT32 ve exFAT , harici medya veya eski bölümler için desteklenir. Gündelik kullanım Linux kurulumları genellikle ext dosya sistemlerini kullanır , ext4 ise en yenisidir .

Dosya sistemi dosyaların fiziksel olarak diskte bulunma şeklini tanımlar. Bunu şöyle düşünebilirsiniz: Herhangi bir bölüm, sayfa numarası veya satır sonu olmadan 10000 sayfalık bir kitabınız olsaydı, kullanımı çok zor olurdu. Tabii ki sayfa numaraları ve bölüm başlıkları sayfa üzerinde biraz yer kaplar, ancak kitabı çok daha kolay ve daha hızlı kullanmayı sağlar. Bölüme atlamak istiyorsanız, diyelim ki, 42, sadece içindekiler tablosuna bakarsın. Sonra istediğiniz bölümü bulana kadar kitaptan geçersiniz. Dosyalarınız bölümlerdir ve dosya sisteminiz kitaptır. Dosya sistemi meta verileri, dosya sınırları, dosya adları vb. Gibi de yer kaplar, ancak oldukça küçük bir alandır ve işlerin daha hızlı çalışmasını sağlar.

Eğer "bölüm" boşsa, hala bir başlık veya sayfa numarası olabilir, değil mi? Boş dosya sıfır bayt veri içeriyor. Meta veriler yer kaplar, ancak bu dosyanın bir parçası değil, dosya sisteminin bir parçasıdır. Aksi takdirde dosya dosyalarınızı metin dosyalarınızda görür müsünüz?

Bu arada, DOS'un ilk sürümleri yalnızca 8.3 adı kabul ediyordu - dosya adları için ayrılan alan çok sınırlıydı. NTFS, 255 karakter uzunluğunda [1] dosya adlarına izin verir .


Yorumunuzdan sadece bir kelime daha:

Bilgisayarımdaki bir kaç dosyayı, 100GB boyutunda görünecek şekilde bir şekilde bozan bir tür virüs kullanıyordum. Bunların her biri. 40GB sabit diskimde. Yani bir çeşit sihir olmalı ... :-D

Seyrek dosyalar adı verilen bir özellik sayesinde geçerli dosyaların sabit sürücünüzden daha büyük olması tamamen mümkündür . Hennes'in bu soruya yaptığı yorumunda bunları mükemmel bir açıklaması var :

100 sayfa alabilen bir ciltçi hayal edin. Bu cildi normal bir dosya olarak kullanırsanız, 100 sayfa ekleyebilirsiniz. 100'ü de okuyabilirsin. 100'e de yazabilirsin. Şimdi seyrek bir cildi düşün. "Sayfa 1: İçerik A" yazdığınız ilk sayfayı eklediniz. Daha sonra ikinci bir sayfayı "sayfa 9999: içerik b:" yazınız. Ne zaman bir sayfa okumaya çalışsanız, var olup olmadığına bakın. Olmazsa, cevabınız bu boş bir sayfa olacaktır. Varsa, sayfanın içeriğini döndürürsünüz. Henüz ciltleyicide olmayan bir sayfaya yazdığınızda, yeni bir sayfa eklersiniz.


Aksi takdirde dosya dosyalarınızı metin dosyalarınızda görür müsünüz? Eh, resimler veya PDF dosyaları gibi birçok zengin dosya tipi çok fazla meta veri içerebilir. Basit UTF-8 kodlu metin dosyaları bile, çoğu metin editörü tarafından gizlenen bir dizi EFBBBF içerir, bu yüzden dosya meta verilerinin, dosyanın başka bir gizli ve anlaşılmaz parçası olmasını beklerdim. Neyse, harika bir öğretmen olurdun! Burada verilen her cevap bir şekilde gerçekten yardımcı oldu (ve olacak), ama çabanıza en çok teşekkür ederim.
Jeyekomon

Bu soruya cevap vermiyor, değil mi? Peki tüm meta veriler nerede depolanıyor?
Koray Tugay

@KorayTugay İnanıyorum Gerçek bir soru "Nasıl Windows saklanan dosya meta vardır idi onlar yer kaplar kalmamak ". Bence bir Süper Kullanıcı mesajında ​​verebileceğiniz en iyi cevap, doğrudan dosyada değil, dosya sisteminde saklandıklarını açıklamaktır ve bu nedenle dosya boyutuna sayılmaz. Kitaptalar ama metnin bir parçası değiller.
gronostaj

5

Bugün sadece Windows Alternatif Veri Akışları (ADS) hakkında öğrendim. Bu bir dosyaya bağlı gizli bir kaynak çatalıdır. Windows NT 3.1'den bu yana NTFS'nin bir parçası olmuştur.

Örneğin, boş bir metin dosyanız varsa ancak dosyanın özellik etiketindeki bazı özet bilgileri dolduruyorsanız, gizli bir ADS dosyası oluşturulur ve metin dosyasına eklenir. Windows'un çoğu sürümü, orijinal dosyanın boyutunu bildirirken ADS dosyasının boyutunu içermez.

ADS dosyalarını komut isteminden oluşturabilir ve görüntüleyebilirsiniz.

echo "ABCDE" > test.txt:hidden.txt

hidden.txt adlı bir ADS dosyasıyla bir test.txt dosyası oluşturacaktır

dosyayı düzenlemek için bu komutu kullanabilirsiniz:

notepad test.txt:hidden.txt

İşte daha fazla ayrıntıya giren makalenin okunması kolay.


Bu gerçekten ilginç bir şey! Aslında ben de hiç duymadım ... Teşekkürler.
Jeyekomon

@Jeyekomon 'tip' onu desteklemiyor gibi görünüyor, pastebin.com/raw/4Ae3GGkN ama ben yankı ve not defteri de görüyorum (
win7'de


2

Bir NTFS biriminde bu bilgiler meta dosyalarında depolanır. Özellikle, dosya adı ve zaman damgaları $ MFT adlı bir meta dosyada saklanır. Meta dosyalara Explorer veya komut istemi gibi normal Windows yöntemleri tarafından erişilemez.

Daha fazla okumak için:

http://ntfs.com/ntfs-system-files.htm

http://en.wikipedia.org/wiki/NTFS


Teşekkür ederim. Yani cevap, HDD’min dosya sistemini daha derinden anlayabilmem ... Ya da sadece meraktan - herhangi bir "normal olmayan" Windows yöntemi biliyor musunuz? Bu meta dosyalara erişmek için gerçekten yararlı olanı? Google için birkaç anahtar kelime yeterli olacaktır ...
Jeyekomon

1
@Jeyekomon Bir sektör editörü kullanmanız gerekir. Burada bir örnek var: blogs.technet.com/b/askcore/archive/2013/03/01/…
David Marshall
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.