Другие языки программирования и технологии

Как работает восстановление данных в накопителях изнутри?

Пытался найти ответ в браузере, везде показывают как восстановить данные с помощью различных программ. Меня же интересует каким образом это происходит и откуда берутся удаленные данные. Мне кажется это тёмным лесом и чем-то невозможным. Ведь удаляя файл, он исчезает с накопителя, там какой-то от него опечаток остается или что? Не могу найти логического для себя объяснения, поможете?
На примере файловой системы NTFS, которая очень распространена, т. к. большинство используют Винду - там есть особый раздел, называемый "Файловая таблица" (MFT). Он содержит ссылки на ячейки для определенного файла.

К примеру, ты записываешь файл, его раскидало по разным местам диска в кластеры по 4 КБ, файловая таблица содержит сведения, как этот файл прочитать воедино.

Во время удаления файла чистится только информация с MFT, сами ячейки остаются физически, просто они помечены как "ненужные", и при записи нового файла их перезапишут. А если места на диске много свободного, или если диск - SSD, с функцией выравнивания износа, то новые файлы могут попасть в соседние ячейки, оставив старые нетронутыми.

Проги занимаются тем, что ищут ячейки, принадлежащие одному файлу. Вот так и восстанавливают. Не всегда удачно, но чаще всего все получается. Поэтому, если нужно удалить инфу так, чтобы считать не смогли, нужно низкоуровневое форматирование, когда все ячейки перезаписывается нулями. Процедура очень долгая (у меня, к примеру, старый HDD на 1 Тб часов 10 форматровался), но зато надёжно все удалится.
Федор Саломов
Федор Саломов
6 981
Лучший ответ
>Ведь удаляя файл, он исчезает с накопителя
С чего бы ему исчезать?
При удалении файла его дескриптор помечается как свободный, вот и все. Сами данные никуда не деваются. Если восстановить дескриптор, восстановится и файл. Если, конечно, на его место не записали ничего новенького.
Так работает большинство программ восстановления.
Есть еще эвристические алгоритмы - они сканируют диск в поисках определенных сигнатур файлов. С одной стороны, они могут восстановить даже те файлы, дескрипторы которых утеряны безвозвратно. А с другой, они могут восстановить далеко не всё, да и то - без гарантии.
Как-то так.
ZM
Zhalgas Musabekov
97 698
Дмитрий Иванов Момент с неисчезновением файла мне был неизвестен ранее