Анализ и восстановление таблицы разделов диска

Восстановление данных с повреждённых жестких дисков – это не лёгкая и не быстрая задача. Для этого нужно разбираться в жестких дисках, файловых системах, их структурах и принципах работы. Кроме того, нужно понимать степень повреждения. От вас потребуются полная концентрация сил и внимания, самоотверженность и навыки программирования. Мы предоставим всю нужную информацию, которая понадобится, чтобы восстановить ценные данные без специального программного обеспечения.

Анализ таблицы разделов диска

Основные понятия

  • Жесткие диски состоят из нескольких магнитных блинов, напоминающих CD-диски. Каждый диск может хранить данные на обеих сторонах и имеет головки для чтения и записи. Данные хранятся на концентрических кольцах, так называемых цилиндрах. Цилиндры могут быть разделены на секторы или блоки.

  • Наименьшая логическая единица информации, которой оперируют программисты, – 1 бит. Во время работы с жестким диском наименьшая единица – сектор. Это означает, что компьютер читает или пишет 512 байт, даже если вы хотите прочитать или записать 1 байт.

  • Перед тем как начать процесс восстановления, вы должны понимать три вещи:

    • Master Boot Record (далее MBR). Это то, с чего всё начинается. MBR всегда размещается в первом секторе на диске. Если такая запись есть, то диск является загрузочным, а если нет, то диск не загрузочный. Диск, содержащий операционную систему, должен быть загрузочным.

    • Volume Boot Record (далее VBR). Сектор также известен как загрузочный сектор или загрузочная запись раздела. Это понятие разработано IBM и используется для создания разделов на жестком диске (например: «C:\», «D:\», «E:\» и т.д.). Каждый логический диск имеет свой собственный VBR.

    • File Systems (файловые системы). Это набор алгоритмов, определяющих способ организации, хранения и именования данных, а также структуру информации. Если вы хотите восстановить файлы, вы должны знать, какой тип файловой системы на вашем диске (NTFS или FAT32).

Что такое логическое повреждение данных?

Повреждение данных или жесткого диска – это ситуация, при которой ваша операционная система (далее ОС) не может получить информацию о файлах или их свойствах. Это может случиться в результате повреждения элементов файловой системы, MBR или VBR, либо физического повреждения жесткого диска или флеш-накопителя. Вы сможете легко восстановить данные, если повреждённый диск соответствует нескольким требованиям:

  • Диск и его секторы распознаются операционной системой.

  • ОС имеет доступ к жесткому диску и его секторам.

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

Уровень повреждения

Повреждения жесткого диска можно условно разделить на три уровня. Уровень определяет, насколько повреждения обратимы и информация поддается восстановлению.

Рассмотрим подробнее:

  • Уровень 1: Это простой уровень, когда повреждена только таблица раздела вашего MBR. В данном случае нужно найти VBR. Как только будет найден VBR, вы сможете восстановить данные.

  • Уровень 2: В этом уровне некоторые поля вашего VBR повреждены, из-за чего ОС не в состоянии распознать свою файловую систему. В данном случае вы должны проанализировать VBR, чтобы получить адресное поле вашего корневого каталога в FAT32 и MFT в NTFS. Если это получится, то вы сможете найти и восстановить ваши файлы, в противном случае вам придется осуществить поиск сигнатур файлов по всему диску.

  • Уровень 3: В этом случае нет гарантии, что вы сможете восстановить данные, поскольку может иметь место физическое повреждение вашего оборудования: диск повреждён огнём, испорчен в результате падения, или в него попала вода и т.д. Для начала понадобится заменить поврежденные детали диска и восстановить работоспособность устройства.

Архитектура

Рассмотрим, к примеру, компьютер с одним жестким диском и двумя разделами «C:\» и «D:\» на нем. ОС установлена на диске «C:\». MBR всегда находится в первом секторе, эта запись полностью отвечает за загрузку операционной системы компьютера на базе BIOS. Рассмотрим структуру этой записи подробнее:

  • Код начальной загрузки. При загрузке компьютера необходимо выполнить код загрузки операционной системы или любого другого программного обеспечения. Такой первичный набор кодов находится в BIOS. Этот код проверяет наличие аппаратного обеспечения и проводит несколько проверочных тестов на возможность загрузки. Затем, в соответствии с указанным порядком загрузки, он начинает загрузку первого сектора дисков. Когда он находит тот, который отмечен как MBR, он начинает его запускать.

    Этот код называется код начальной загрузки (обычно 440 байт). Работа кода заключается в просмотре таблицы раздела в поисках активного раздела (например, на каком диске находятся загрузочные файлы операционной системы), чтобы найти начальный сектор активного раздела. Загружает копию загрузочных файлов из раздела в память, контролирует их и то, как загружается ОС. Мы не будем углубляться в этом направлении, так как это не нужно для восстановления файлов.

  • Таблица разделов. Размер таблицы составляет 64 байта.

    Раздел – это часть жесткого диска, которая была логически отделена, чтобы работать как отдельный диск настолько, насколько определит операционная система, и может иметь независимую структуру файловой системы. Независимо от того, какой раздел является активным, т.е. содержит ОС, начальный адрес сектора, включающего VBR раздела, содержит его размер и информацию о том, в какой системе он отформатирован: NTFS или FAT. Для восстановления файлов поиск и интерпретация таблицы разделов играют важную роль.

  • Подпись диска. MBR и VBR всегда содержат последовательность байт 0x55AA. Эта сигнатура определяет, содержит ли этот сектор MBR или VBR или нет.

Таблица разделов содержит от 1 до 4 записей размером 16 байт каждая. Давайте рассмотрим, как их интерпретировать:

  • Индикатор загрузки. Это первый байт в таблице разделов, указывающий на то, активен раздел или нет.

    Пример: находится на нём операционная система (файлы и драйвера) или нет. Если это поле содержит 0x80H (это в шестнадцатеричном виде, а в десятичном = 128), то это активный раздел. Для неактивных разделов это поле равняется 0x00h.

  • Стартовое значение CHS. Игнорируйте его.

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

    Значение Описание
    0x00h Нет раздела (нет файловой системы);
    0x01h DOS FAT-12 (файловая система);
    0x04h DOS FAT-16 (нет файловой системы);
    0x05h Расширенная DOS 3.3 (файловая система расширенного раздела);
    0x06h DOS 3.31 (большая файловая система);
    0x06h NTFS;
    0x06h FAT32;
  • Завершающее значение CHS. Игнорируйте его.

  • Адрес сектора, содержащего VBR. В первом секторе каждый раздел имеет сектор загрузки. Это поле содержит адреса подобных записей, поэтому это важное поле. Оно содержит адрес в шестнадцатеричном формате и имеет размер в 512 байт.

  • Размер раздела. Здесь можно получить размер раздела.

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

Author: Michael Miroshnichenko

1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 5.00 out of 5)