Сигурно ще се зачудите защо по дяволите ни трябва да зачистваме свободното място на хард диска? Първо трябва да знаем как работят файловите системи (ще говоря основно за NTFS, но се отнася с извесни малки изменения за всички Windows файлови системи).
Какво става като изтрием файл?
Когато изтрием файл в Windows (и от Recycle Bin) не става така, че файла да отиде в небитието и на мястото, което е “освободено” да има само нули (както си го представях като малък). Всъщност това никога не е работило по този начин. Файловата система има особено поведение и има оптимизации, които в началото могат да прозвучат объркващо, но са за наше добро. Trust me.
MFT (Master File Table)
За да “знае” операционната система къде по диска физически са разположени всеки файл и директория той си има един огромен списък, който изглежда така:
файла pesho.txt е разположен на следните сектори; файла gosho.txt е разположен на следните сектори;
като секторите не е нужно да са последователни (това идва от фрагментацията на файловата система).
Това, което се случва като искаме да изтрием файл/директория е, че неговия запис от MFT таблицата се изтрива, но физически данните остават на диска, но маркирани като свободни. В началото това ми се струваше простотия, но като се замисли човек е добра хрумка – така можем да трием десетки гигабайти за секунди като просто маркираме данните като свободно място и при следваща операция на копиране данните се позиционират на мястото на старите такива.
Как работят програмите за възстановяване на изтрити файлове и директории?
Всеки се е чудил каква магия става като пуснем програма за възстановяване на файлове и се оказва, че не е чак толкова сложно. Просто тези програми сканират празното пространство и по техни алгоритми се опитват да възстановят съдържанието им. За това ако направите грешка и изтриете важни данни спрете каквато и да е било работа с машината, стартирайте portable версия на recuva да кажем и действайте. Колкото повече записи прави операционната система, толкова шансовете за възстановяване на файловете ви се намаляват.
Сигурност и как да “изчистим” свободното място на дисковете си
Както се досещат повечето от вас обикновено изтриване на файлове, които не трябва да виждат бял свят не върши работа. За това има метод, която се нарича wipe free space и Windows и Linux имат два добри инструмента за това.
Преди да започнете искам да ви предупредя, че операцията може да бъде прекратена по всяко време и че е бавна. Все едно ако имате 200 гб свободно място да копирате 200 гб данни там и да ги изтриете.
Windows 10 wipe free space tool:
cipher /w:F
Тази команда я има в Windows 10 (тествано) и надолу, не изисква административни права и прави три последователни записа върху свободното свободното пространство (extra security) като:
- Първо записва 0x00;
- Второ записва 0xFF;
- Трето записва прозиволни числа в мястото маркирано като свободно.
Тази операция може да забави работата на машината ви, но ако я пуснете преди излизане от офиса до следващия ден със сигурност ще е приключила.
Linux wipe free space:
В линукс нещата са по-интересни и можем да ползваме елементарното едноредово решение със запълване на всичкото налично място на диска и изтриването му по следния начин:
cat /dev/zero > zero.file && sync && rm zero.file
Досещаме се, че идеята е не особено гениална и на някой системен администратор този подход може да му причини лек уплах или перманентно адресивно поведение срещу мен така, че бързам да се презастраховам с другия тул, който се казва secure-delete
sudo apt-get install secure-delete
Повече и по-подробна информация можете да прочетете на сайта на Microsoft.
Leave a Reply