AFAIK, файл в файловой системе состоит из двух компонентов.
- Указатель, в котором хранится путь к каталогу файла. Также хранит список секторов / блоков на диске, из которого состоит файл.
- Реальные сектора / блоки на диске, в которых хранятся данные файла.
При удалении файла указатель удаляется без каких-либо изменений блоков. Но список блоков помечен как свободный для использования при записи данных. Не считая перезаписанных данных,
- Если указатель полностью удален, как программы восстановления могут восстанавливать файлы?
- Из какого источника эти программы восстановления получают список блоков, из которых состоит удаленный файл?
А также,
- Можно ли уничтожить файл без перезаписи его блоков? Путем полной очистки списка блоков составляется удаляемый файл.
- Можно ли сделать невозможным восстановление уже удаленных файлов, не перезаписывая свободное место? Путем полной очистки списка блоков, из которого состоит удаленный файл.
Рассмотрим фрагментированную файловую систему, такую как ext4, на диске размером 512 байт с физическим сектором. Восстановление файлов в значительной степени бесполезно, когда список блоков удаленного файла не может быть известен. Если такое возможно, возможно, это дает диску немного больше жизни.