Операции над картами и BAD-секторы в таблице MFT

Операции над картами

Операции над картами

Недавно в режим карта объекта были добавлены операции над картой:

  • Объединение (двух) карт;
  • Пересечение (двух) карт;
  • Объединение (двух) карт без пересечения;
  • Вырезать (другую) карту (из из текущей);
  • Сжатие карты;
  • Инверсия карты.

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

Одним из центральных понятий в DataExtractor является «Карта». Карта — это набор секторов, которые занимает, например, некоторый файл на диске. Если файл непрерывен — карта будет состоять из единственной цепочки, в противном случае из нескольких цепочек.

Режим «карта объекта» (графическое представление карты) чрезвычайно полезен, когда мы вычитываем в копию данные с проблемного накопителя. Например, файловые системы обычно позволяют построить карту занятого пространства — область секторов, в которой лежат данные пользователя и метаданные ФС. Режим «карта объекта» позволяет вычитать только эти секторы, а в процессе вычитывания понять куда попадают BAD-секторы.

Суть операций

Почти все операции имеют аналог среди операций над множествами, поэтому их легко объяснять с помощью классических диаграмм:

Объединение карт

Объединение карт

Объединение карт

В объединение двух карт входят все секторы, которые присутствуют хотя бы в одной из карт.

Пересечение карт

Пересечение карт

Пересечение карт

В пересечение попадают только те секторы, которые есть в обоих картах.

Объединение карт без пересечения

Объединение карт без пересечения

Объединение карт без пересечения

Это те секторы, которые есть либо в первой, либо во второй карте, но не в обоих сразу.

Вырезать карту

Вырезать карту

Вырезать карту

Здесь мы из первой карты убираем те секторы, которые есть во второй.

Инверсия карты

Инверсия карты

Инверсия карты

Это все секторы диска, которые не входят в данную карту. Другими словами это вырезание из карты всего диска текущей карты.

Сжатие карты

В некоторых случаях, одни и те же диапазоны секторов могут быть добавлены в карту несколько раз. Например, мы строим карту всех файлов в файловой системе, где есть hardlink’и – внешне разные файлы (лежат в разных каталогах, имеют разные имена), но с одинаковым размещением (т. е. состоят из одних и тех же секторов).

В других случаях, карта становится искусственно фрагментированной — одна цепочка представляется в виде нескольких «соприкосающийхся» (или пересекающихся) цепочек. Например, в «черновом восстановлении», когда мы не знаем размер файла, он ставится до заголовка следующего файла.

После сжатия карты все соприкасающиеся и пересекающиеся цепочки «склеиваются» в одну.

В теории множеств эта операция не имеет смысла — там и так одинаковые элементы не повторяются, а «соседние» не «склеиваются», поэтому тут своя диаграмма.

сжатие карты

сжатие карты

 

К слову, после выполнения всех предыдущих операций результат получается уже сжатым.

BAD-секторы в MFT

BAD-сектор в таблице MFT

BAD-секторы в таблице MFT

Попробуем разобраться, как восстановить файлы, которые пропали из файловой системы NTFS из-за того, что в области MFT есть BAD-блоки. Если на диске больше нигде нет версий испорченных записей MFT, то режимы логического анализа (например, анализ данных раздела) нам не помогут.

Последней надеждой является режим «Черновое восстановление». Но возникает вопрос: на какой карте его запускать, чтобы найти именно те файлы, которые нам нужны? Мы можем построить 2 карты:

  1. Карта занятых секторов (по Bitmap) – NTFS отслеживает занятое пространство в специальной битовой карте, поэтому мы можем построить карту секторов, которые сама ФС считает занятыми;
  2. Карта каталога Root – также мы можем построить карту всех тех файлов, которые уже отображаются в проводнике DataExtractor.

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

Вычитание карты каталога Root из карты занятого по Bitmap

Вычитание карты каталога Root из карты занятого по Bitmap

Таким образом, наиболее продуктивно запускать черновое восстановление на карте, которая получится вычитанием карта каталога Root из карты занятых по Bitmap.

Вот пошаговая инструкция как получить такую карту:

1) строим карту каталога Root (в диалоге выбираем «построить карту»);

Карта каталога Root

Карта каталога Root

2) сохраняем ее в файл;

Сохранение описателя карты в файл

Сохранение описателя карты в файл

3) Возвращаемся в проводник и строим карту занятого по bitmap;

Карта занятого по Bitmap

Карта занятого по Bitmap

4) Пользуемся опцией «вырезать карту»;

Вырезать карту

Вырезать карту

5) На полученной карте запускаем черновое восстановление;

Черановое восстановление на карте

Черановое восстановление на карте

 

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (4 голосов, средний: 5,00)
Loading...Loading...

Об авторе Александр Леоненко

Разработчик Data Extractor и Data Extractor RAID Edition
Запись опубликована в рубрике Data Extractor с метками , , , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>