Top.Mail.Ru

Как устроены файловые системы Windows и что это значит для восстановления данных

Файловая система — это способ организации и хранения файлов на диске (жёстком диске, SSD, флешке и т.д.).

Можно представить её как оглавление книги или библиотечный каталог.

Представьте себе огромную библиотеку без каталога. В таком случае мы имеем просто сваленные в кучу книги на полу. Чтобы найти нужную мы вынуждены перебирать всё подряд. А как узнать, есть ли вообще эта книга? Никак.

А теперь представьте библиотеку с каталогом: у каждой книги есть номер на корешке. Каталог говорит: "Книга «Поток мыслей» — на третьей полке, второй ряд". И вам не составит труда найти её за секунды.

Файловая система — это тот самый каталог. Она знает:

  • где лежит каждый файл (на каких секторах диска);
  • как он называется;
  • сколько он весит;
  • когда был создан или изменён;
  • кто может его открыть или изменить.

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


Файловые системы Windows

В мире Windows существует несколько файловых систем, и у каждой — своя история, свои сильные стороны и свои ограничения. Одни созданы для повседневной работы (NTFS), другие — для больших серверов (ReFS), третьи — для флешек, которые вы носите в кармане (FAT и exFAT). Разберём подробнее каждую из них с точки зрения восстановления данных.

FAT / FAT32

Диск в FAT/FAT32 разбит на одинаковые кусочки — кластеры. Каждый файл занимает один или несколько таких кусочков. Они не обязаны лежать рядом — начало файлов может лежать в одном месте, середина – в другом, а конец – в третьем. Такой файл, разбросанный по диску, называют фрагментированным.

В файловой системе FAT используется таблица FAT — это как карта. Она показывает, какие кластеры заняты, какие свободны, и в каком порядке кусочки файла соединены между собой. На всякий случай таблица хранится в двух копиях – в начале и конце диска.

Также в FAT есть такое понятие как корневая папка — это список всех файлов и папок в корне диска. Для каждого файла там записано: имя, размер, первый кластер и другая информация.

Что происходит при удалении файла

Когда вы удаляете файл, система:

  • помечает запись о нём в корневой папке как удалённую (первая буква имени заменяется);
  • в таблице FAT помечает все его кластеры как свободные.

Цепочка кластеров разрушается — система больше не знает, как кусочки файла соединены друг с другом.

Восстановление удалённых файлов

  • Если файл не был фрагментирован (лежал подряд), восстановить его легко: имя, размер и начальный кластер сохранились. Шанс почти 100%.
  • Если файл был фрагментирован — сложнее. Мы знаем только начало файла, а остальные кусочки потеряны. Можно попытаться угадать их расположение, но это не всегда получается. В ReclaiMe есть алгоритмы для угадывания, но здесь гарантия далека от 100 процентов.

exFAT

exFAT пришёл на смену FAT/FAT32 и во многом похож на них. У этой файловой системы такая же структура и тот же принцип работы. Здесь тоже есть таблица, но она используется только для того, чтобы отслеживать, в каком порядке кусочки фрагментированных файлов соединены друг с другом. Единственное отличие — в exFAT хранится только одна копия этой таблицы, а не две, как в FAT32.


NTFS

В NTFS есть главная таблица — MFT (Master File Table). Это что-то вроде картотеки, где на каждый файл и папку заведена своя карточка. В карточке записано всё: имя файла, размер, дата создания, где он лежит на диске и другая информация.

В таблице также есть специальная пометка — битовая карта, которая показывает, какие записи в MFT заняты, а какие свободны.

Маленькие файлы помещаются прямо внутрь карточки в MFT. Это быстро и удобно. А вот большие файлы хранятся отдельно, а в карточке остаётся только ссылка на место, где они лежат. То же самое касается и атрибутов больших файлов — они тоже могут храниться снаружи.

Папки в NTFS — это тоже особые файлы. Внутри них хранится список всех файлов и подпапок, а также ссылки на их карточки в MFT.

Помимо битовой карты внутри MFT, у NTFS есть отдельный файл-карта для всего диска. Он показывает, какие участки диска заняты данными, а какие свободны.

Что происходит при удалении файла

Когда файл удаляют:

  • его карточка в MFT не стирается, а просто помечается как "свободно";
  • место на диске, где лежал файл, помечается как свободное в общей карте диска;
  • запись о файле исчезает из папки.

При этом сама карточка с именем, размером и адресом файла всё ещё существует.

Восстановление файла

Так как в карточке MFT осталась вся информация о файле (имя, размер и где он лежал), восстановить его довольно легко. Если данные не перезаписались новыми файлами, шанс восстановить файл полностью — почти 100%.

Вы можете найти больше информации о восстановлении данны с NTFS на странице - Как восстановить данные с NTFS.


ReFS

ReFS устроена не так, как другие файловые системы от Windows. Вместо таблиц она использует структуру, похожую на дерево. Это дерево помогает быстро находить любые файлы и папки. Почти всё в этой системе — и сами файлы, и служебная информация — хранится в виде таких деревьев.

Папки и файлы в ReFS — это тоже части дерева. Всё упорядочено и связано между собой.

Главная особенность — "копирование при записи"

Когда вы меняете или удаляете файл, система не трогает старые данные. Вместо этого она:

  • копирует их;
  • вносит изменения в копию;
  • записывает новую версию в другое место;
  • и только после этого заменяет старые данные новыми.

Исходная информация остаётся нетронутой до самого последнего момента.

Восстановление файлов

Раз система не перезаписывает старые данные сразу, а сохраняет их копии, восстановить файл довольно легко. Пока старые данные не перезаписаны чем-то новым, шанс восстановить файл полностью — почти 100%.

Вы можете найти больше информации о восстановлении данны с ReFS на странице - Как восстановить данные с ReFS.