Usuwanie plików, starcie drugie

Ostatnio pisałem o usuwaniu plików. Wyszło na to, że sdelete jest lepszy niż cipher. Ale jak się okazuje, nawet sdelete może zostawić na dysku sporo ciekawych danych...

Jak sdelete czyści MFT

Koncepcja działania jest prosta:

Cała powyższa operacja jest wykonywana oczywiście po zapisaniu na dysku dwóch dużych plików, które nie pozwolą się rozrastać MFT. Wówczas tworzenie nowego pliku powoduje wykorzystanie wolnego (być może wcześniej używanego) rekordu w MFT. Teoretycznie możliwe będzie utworzenie tylu nowych plików, ile jest wolnych rekordów w MFT.

...a w praktyce...

W praktyce (takie fajne narzędzie jest, Process Monitor się nazywa) okazuje się, że sdelete nie może stworzyć nowych plików wcześniej, niż wynika to z ilości wolnych rekordów w MFT. W nienadpisanych rekordach mogą pozostać ciekawe dane... Ups..

Ale dlaczego?

Nie wiem, zgaduję. Pewnie z powodów jakichś istotnych niesamowicie NTFS zwiększa MFT, jeśli ilość (procent) wolnych rekordów w MFT spadnie poniżej określonego(?) minimum.

Eksperyment...

Sprawdzam jak się ma MFT w chwili obecnej:

METADATA INFORMATION —————————————————————— First Cluster of MFT: 21845 First Cluster of MFT Mirror: 32767 Size of MFT Entries: 1024 bytes Size of Index Records: 4096 bytes Range: 0 – 159 Root Directory: 5

A ile jest wolnych (niezaalokowanych) rekordów? Z testu za pomocą narzędzia ils wynika, że 138. W takim razie stworzę 138 plików...

A MFT:

METADATA INFORMATION —————————————————————— First Cluster of MFT: 21845 First Cluster of MFT Mirror: 32767 Size of MFT Entries: 1024 bytes Size of Index Records: 4096 bytes Range: 0 – 175 Root Directory: 5

Pojawiło się więc 16 nowych rekordów. Być może (nie wiem tego na 100%25) jeśli system nie może powiększyć MFT, komunikat o braku miejsca na dysku pojawia się przed wykorzystaniem wszystkich możliwych rekordów.

Jak widać skuteczne usunięcie plików wcale nie jest takie proste...

Oryginał tego wpisu dostępny jest pod adresem Usuwanie plików, starcie drugie

Autor: Paweł Goleń