Категория > Новости > Разгребаем руины. Как восстановить удаленные файлы на разделах NTFS - «Новости»
Разгребаем руины. Как восстановить удаленные файлы на разделах NTFS - «Новости»27-04-2021, 00:01. Автор: Нина |
В течение первых 30 дней продаж эту книгу можно купить со скидкой 30% в интернет‑магазине издательства по промокоду first30. Промокод нужно вводить на этапе оформления заказа. Пакет FILE_DISPOSITION_INFORMATION
Каталоги удаляются практически так же, как и файлы. В этом нет ничего удивительного, так как с точки зрения файловой системы каталог тоже представляет файл особого вида, содержащий внутри себя двоичное дерево индексов (B-tree). Ни в том, ни в другом случае физического удаления файла не происходит, и он может быть легко восстановлен. Легкое и быстрое восстановление возможно до тех пор, пока не будет затерта файловая запись (FILE Record), принадлежащая этому файлу и хранящая его резидентное тело или список отрезков (run-list) нерезидентного содержимого. Утрата файловой записи крайне неприятна, поскольку в этом случае файл придется собирать по кластерам. При этом стоит заметить, что чем сильнее был фрагментирован удаленный файл, тем сложнее будет эта задача. К счастью, в отличие от FAT, NTFS не затирает первого символа имени файла, что значительно упрощает восстановление. Автоматическое восстановление удаленных файловУтилиты, восстанавливающие удаленные файлы, не входят в стандартный комплект поставки Windows. Разумеется, это явный недостаток — вспомни, ведь в MS-DOS такая утилита была! Следовательно, эти средства приходится приобретать отдельно. Одна из автоматических утилит для восстановления удаленных файлов — GetDataBack. Опасаясь разрушить файловую систему окончательно, большинство таких утилит избегает прямой записи на диск. Вместо этого пользователю предлагается считать удаленный файл и переписать его в другое место, но только не на сам восстанавливаемый раздел. Не слишком‑то удачное решение. А если на остальных дисках свободного места нет, или если восстанавливаемый диск имеет всего лишь один логический раздел? Предположим, нам необходимо восстановить базу данных объемом в несколько гигабайт. Можно, конечно, подключить второй винчестер, скопировать ее туда, а затем обратно. Однако подумай, сколько же это займет времени, не говоря уже о том, что сервер лучше не выключать, а "горячую" замену поддерживают далеко не все жесткие диски! Другой недостаток подобных утилит — слишком медленная работа. Вместо того чтобы найти один‑единственный файл, имя которого нам известно, они проводят полномасштабные "маневры", сканируя весь раздел целиком. При работе с большими дисками на это уходит от одного до нескольких часов, причем это время фактически тратится впустую. Утилита GetDataBack за восстановлением удаленных файлов С другой стороны, утилиты, вносящие изменения непосредственно в структуру NTFS, рискуют серьезно повредить дисковый том, после чего ему не помогут даже профессионалы. Настоящие хакеры не доверяют никакому коду, кроме созданного лично ими, особенно, если исходные тексты недоступны, а документация туманна и двусмысленна. Различные версии NTFS отличаются друг от друга. Последние радикальные изменения произошли в Windows XP (NTFS версии 3.1) — массив последовательностей обновления (Update Sequence Number-n-Array) переместился на шесть байтов вперед, а его место было отдано под выравнивание и поле номера текущей файловой записи (Number of this MFT Record). С тех пор формат файловой системы не претерпел каких‑либо существенных архитектурных изменений. Наконец, возможна и такая ситуация, когда утилит восстановления просто не окажется под рукой в тот момент, когда вам срочно потребуется восстановить какой‑нибудь ценный файл. Законов Мэрфи еще никто не отменял! В этом случае вам придется рассчитывать только на свои силы. Ручное восстановление ошибочно удаленных файловНачнем с простейшего. Файл только что удален, и принадлежащая ему файловая запись еще не затерта. Как найти его на диске? Существует два способа — "теоретический" и "практический". Теоретический метод исключительно надежен, но требует дополнительных операций, выполнения которых можно избежать, приняв ряд практических допущений. Теоретически грамотный и правильный подход состоит в следующем. Извлекаем из загрузочного сектора указатель на MFT, извлекаем из нее первую запись (она описывает Перейти обратно к новости |