Введение
Функция восстановления компьютерных файлов
Восстановление удаленных файлов (undeletion) – это функция для восстановления компьютерных файлов, которые были удалены из файловой системы. Удаленные данные можно восстановить во многих файловых системах, но не все файловые системы предоставляют функцию восстановления удаленных файлов. Восстановление данных без такой функции обычно называется восстановлением данных, а не восстановлением удаленных файлов. Восстановление удаленных файлов может помочь пользователям избежать случайной потери данных, но также может представлять угрозу для компьютерной безопасности, поскольку пользователи могут не знать, что удаленные файлы остаются доступными.
Поддержка
Не все файловые системы или операционные системы поддерживают восстановление удалённых файлов. Восстановление возможно на всех файловых системах FAT, с помощью утилит восстановления, предоставляемых начиная с MS DOS 5.0 и DR DOS 6.0 в 1991 году. Большинство современных UNIX-файловых систем не поддерживают эту функцию, хотя AdvFS является заметным исключением. Файловая система ext2 имеет программу под названием e2undel, позволяющую восстанавливать удалённые файлы. Аналогичная файловая система ext3 официально не поддерживает восстановление удалённых файлов, но были разработаны утилиты, такие как ext4magic, extundelete, PhotoRec и ext3grep, для автоматизации восстановления на томах ext3. Возможность восстановления была предложена для ext4, но пока не реализована. Однако, функция "корзина" была предложена в виде патча 4 декабря 2006 года. Функция "корзина" использует атрибуты восстановления в файловых системах ext2/3/4 и Reiser.
attributes in ext2/3/4 and Reiser file systems.
Norton Utilities (утилиты Нортона)
Norton UNERASE был важным компонентом в версии 1.0 Norton Utilities в 1982 году.
MS-DOS
Microsoft включила аналогичную программу UNDELETE в версии MS DOS 5.0–6.22, но в более поздних операционных системах, использующих файловую систему FAT, стала применять подход, основанный на корзине.
DR DOS
DR DOS 6.0 и выше также поддерживают UNDELETE, но опционально предлагают дополнительную защиту, используя утилиту DISKMAP для создания снимков файловой системы FAT и резидентный компонент отслеживания удаления DELWATCH, который активно сохраняет дату и время удаления файлов и предотвращает перезапись содержимого удаленных файлов, пока не закончится место на диске. DELWATCH также поддерживает восстановление удаленных файлов на файловых серверах. Начиная с Novell DOS 7, ядро будет сохранять первую букву имени удаленных файлов в записях каталога, чтобы облегчить инструментам восстановления исходное имя файла.
ПТС-ДОС
PTS DOS предлагает аналогичную функцию, настраиваемую директивой SAVENAME в CONFIG.SYS.
FreeDOS
Версия UNDELETE для FreeDOS была разработана Эриком Ауэром и распространяется под лицензией GPL.
Графические программы
Графические пользовательские среды часто используют иной подход к восстановлению удаленных файлов, вместо этого применяя "промежуточную область" для файлов, подлежащих удалению. Нежелательные файлы перемещаются в эту промежуточную область, а все файлы в ней удаляются периодически или по запросу пользователя. Этот подход реализован в корзине в операционных системах Macintosh и в корзине в Microsoft Windows. Это естественное развитие подхода, использовавшегося в более ранних системах, таких как группа limbo в LocoScript. Этот метод не подвержен риску того, что другие файлы, записываемые в файловую систему, быстро повредят удаленный файл; окончательное удаление происходит по расписанию или только при ручном вмешательстве. Альтернативный подход предлагают программы, такие как Norton GoBack (ранее Roxio GoBack): часть дискового пространства резервируется для записи операций изменения файлов, чтобы их можно было впоследствии отменить. Этот процесс обычно более надежен для восстановления удаленных файлов, чем операция восстановления, описанная ниже. Кроме того, файловые системы, поддерживающие "снимки" (например, ZFS или btrfs), могут использоваться для создания снимков всей файловой системы через регулярные интервалы времени (например, каждый час), что позволяет восстанавливать файлы из более раннего снимка.
Ограничения
Восстановление удаленных данных не является абсолютно надежным. В целом, чем раньше предпринята попытка восстановления, тем выше вероятность успеха. Это связано с тем, что чем активнее используется система, тем больше данных записывается на диск и потенциально занимает место, ранее занятое удаленными файлами. Фрагментация удаленного файла также может снизить вероятность его восстановления, в зависимости от типа файловой системы (см. ниже). Фрагментированный файл разбросан по разным участкам диска, а не хранится в непрерывной области.
Механика
Работа отмены удаления зависит от файловой системы, на которой хранился удаленный файл. Некоторые файловые системы, такие как HFS, не предоставляют возможности восстановления удаленных файлов, поскольку никакая информация об удаленном файле не сохраняется (за исключением дополнительного программного обеспечения, которое обычно не установлено). Однако некоторые файловые системы не стирают все следы удаленного файла, в том числе файловые системы FAT:
Файловые системы NTFS
NTFS хранит информацию о файлах в виде набора записей фиксированного размера (обычно 1 КБ) в так называемой Главной таблице файлов (MFT). Имя файла и информация о выделении места под файл заключаются в эти записи, предоставляя полную информацию о каждом конкретном файле. Когда система удаляет файл, запись в Главной таблице файлов освобождается для последующего удаления связи с файлом или повторного использования, но она все равно остается на диске. До тех пор, пока запись MFT не будет повторно использована или перезаписана, файл можно легко восстановить: программы для восстановления данных могут найти "потерянную" запись MFT и извлечь из нее полную информацию о потерянном файле. Однако следует учитывать, что при включенной функции TRIM для SSD содержимое файла может быть уничтожено вскоре после удаления для повторного использования ячеек памяти SSD. Это делает восстановление содержимого файла невозможным (на диске останется только информация об имени, дате и размере файла).
Профилактика
Удаление данных — это термин, обозначающий программные методы предотвращения восстановления файлов.