11

Мой вопрос прост: как операционная система (Linux или Windows) удаляет данные с моего жесткого диска?

Я могу представить два пути:

  1. «Физический путь»: действительно удалить данные, установив адреса памяти в данных на ноль. Например, если где-то на моем жестком диске данные выглядят как 1010...010 после этого они будут выглядеть как 0000...000

  2. Сохраните данные, но разрешите перезаписать их.

3 ответа3

13

Говорить о "данных" слишком широко, но совершенно очевидно, что вы на самом деле говорите о файлах. Вы должны знать, что файлы обычно хранятся в файловых системах. Хотя есть различия, это обычно означает, что существует древовидная структура путей, представляющих файлы или каталоги, и файлам назначается место на жестких дисках, где хранится их содержимое.

Такие команды, как rm просто удаляют файл, то есть запись в дереве: они помечают родительский каталог как имеющий одного дочернего элемента. По адресу, где находился файл, и где находилось содержимое файла, ничего не меняется.

Однако есть также такие команды, как shred , которые на самом деле перезаписывают содержимое файла, поэтому его (в идеале) нельзя восстановить. Это на самом деле сложнее, чем первое, потому что не гарантируется, что одни и те же сектора используются для хранения перезаписываемых данных, и потому что физически магнитные данные на диске не просто двоичные. Кроме того, такие инструменты не просто обнуляют данные, но многократно перезаписывают их шаблонами или случайными данными, что затрудняет их физическое восстановление.

Итак, есть оба варианта, которые вы упомянули, но ежедневное удаление - это просто удаление указателя на фактические данные.

11

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

1

Второй способ Файловая система на вашем жестком диске имеет главную таблицу файлов, это в основном индекс, который сообщает, в каком секторе находится какой файл. Если файл удален, то запись удаляется из этой таблицы, и сектора могут использоваться для новых файлов. Старые данные все еще там, и могут быть восстановлены, если они не будут перезаписаны.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .