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


Восстановление убитых MBR и таблицы разделов

Ситуация следующая. Есть винт на 160Гб. На нем 2 раздела — 40Гб и 120Гб. С целью установки убунты как второй системы была произведена разбивка 120Гб -> 100+10+2+8. Далее, с целью отката изменений, были объединены диски (10, 2 и 8) обратно в один 20Гб и отформатирован в NTFS. В нагрузку к этому, были проведены операции с MBR, результатом которой явилась ее смерть.

Итоги
1. При загрузке системы выводится сообщение MBR helper not found; 2. fdisk показывает один большой 160Гб диск. Дураку понятно, что это начало веселой ночи. Далее, под катом, решения вопроса.
1. Восстановление таблицы разделов
1.1. Parted magic
Данный LiveCD\USB дистрибутив, размером в 100Мб несет в себе огромную кучу софта, для работы с дисками. От разбивки, до восстановления. Из них всех, нам нужны будут gpart, testdisk, fdisk и ms-sys.
1.2. Gpart
gpart — это утилита, сканирующая по-секторно диск на наличие разделов, которые присутствуют на носителе, но отсутствуют в таблице. В своей работе, она игнорирует уже существующую таблицу (если присутствует). Программа разаботана немецким программистом Michail Brzitwa и больше им не поддерживается. Вялотекущая разработка ведется командами Fedora и Debian. Текущая версия — 0.1h. Утилита позволяет наиболее быстро и легко восстановить таблицу разделов, но она несет в себе несколько недостатков. Во-первых, разработка была давно заброшена, во-вторых, она иногда не совсем корректно определяет разделы. gpart может работать в 2-х режимах. Это быстрый анализ и подробное сканирование. В некоторых случаях, первого режима достаточно. Мы же будем смотреть на второй.

gpart -if /dev/sda

-i — интерактивный режим. На каждую найденную партицию будет задан вопрос, сохранять ее, либо пропустить. -f — полный скан диска. После, довольно продолжительного времени, будет создан отчет с возможными разделами. Его-то и нужно обязательно максимально внимательно просмотреть перед записью. Пример отчета (не мой):

Begin scan... Possible partition(DOS FAT), size(1907mb), offset(0mb) Possible partition(SGI XFS filesystem), size(5730mb), offset(1907mb) End scan. Checking partitions... Partition(DOS or Windows 95 with 32 bit FAT, LBA): primary Partition(Linux ext2 filesystem): primary Ok. Guessed primary partition table: Primary partition(1) type: 012(0x0C)(DOS or Windows 95 with 32 bit FAT, LBA) size: 1907mb #s(3906544) s(16-3906559) chs: (0/1/1)-(1023/19/16)d (0/1/1)-(12207/19/16)r Primary partition(2) type: 131(0x83)(Linux ext2 filesystem) size: 5730mb #s(11736000) s(3906560-15642559) chs: (1023/19/16)-(1023/19/16)d (12208/0/1)-(48882/19/16)r Primary partition(3) type: 000(0x00)(unused) size: 0mb #s(0) s(0-0) chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r Primary partition(4) type: 000(0x00)(unused) size: 0mb #s(0) s(0-0) chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Если все ОК, то соглашаемся на запись в таблицу разделов, скрещиваем пальцы и перезагружаемся. В моем случае, программа определила разделы, которые были до разбивки (40 и 120), что не подходило и заставило искать альтернативные способы восстановления.
1.3. testdisk
Note: подробнее эта утилита описана в этом посте, здесь не буду повторяться. Эта утилита аналогична предыдущей, но имеет ряд плюсов: 1. более свежая и активно поддерживается; 2. субъективно, работает намного быстрее; 3. функциональнее; 4. есть простой консольный интерфейс на базе ncurses. Поехали! 1. в первом окне выбираем Create a new log file; 2. выбираем нужный диск (/dev/sda) -> Proceed; 3. отмечаем тип разделов как Intel; 4. выбираем Analyse current partition structure and search for lost partitions; 5. если найденные разделы верны, жмем Backup и переходим к пункту 6, есть возможность быстро пересканировать диск, если где-то ошибка (Quick search); 6. здесь уже виден зеленый список с разделами. Если ок, то записываем, иначе запускаем Deep search.; В моем случае, результат был аналогичен результату gpart, что есть некорректен. Запустив Deep search, выждав около 40 минут я получил ответ, от которого на душе так нехило отлегло. Было найдено несколько партиций, которые накладывались одна на другую (это были изначальная (до манипуляций) 120Гб и новая, на 100Гб). Отметив ненужную, как удаленную, я записал таблицу на диск и перезагрузился. К счастью, все обошлось и компьютер вернулся к состоянию, который был изначально, а я мог с чистой совестью лечь спать.
3. Восстановление MBR
Для этой задачи, у нас в арсенале есть тулза ms-sys. Сперва узнаем, что с нашей MBR.

ms-sys /dev/sda /dev/sda has an x86 boot sector it is unknown boot sector

Теперь видно, что на данном диске нет загрузочного сектора. Утилита может работать с MBR различных операционных систем. Список можно получить, запустив программу без агрументов. В моем случае, необходим был от Windows 7. Записываем MBR на диск:

ms-sys -7 /dev/sda Windows 7 master boot record successfully written to /dev/sda

Проверяем:

ms-sys /dev/sda it is Microsof 7 master boot record, like the one this program creates with the switch -7 on a hard disk device.

Вот и все, нужная MBR установлена и можно перезагружаться.
3. Outro
Этот пост пример того, как на пустом месте можно создать себе проблему и полночи заниматься не тем, чем надо. Но это дало неоценимый опыт, который я постарался изложить здесь.

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

Теги:
  • parted magic
  • ms-sys
  • gpart
  • testdisk
  • mbr
  • recovery
  • partition table

habr.com

Восстанавливаем таблицу разделов жесткого диска | CHIP

Если таблица разделов жесткого диска была повреждена, как правило, данные еще можно спасти. Мы покажем, как это сделать.При повреждении таблицы разделов данные, как правило, можно спасти Ваш накопитель легко может остаться без работающей таблицы разделов — если слишком рано отключить внешний диск от питания, если вирус пытается угнездиться на защищенном участке жесткого диска или если секторы, в которых записана таблица, просто стали нечитаемыми. После этого вы обязательно получите сообщение от Windows: «Прежде чем использовать диск в дисководе Х:, его нужно отформатировать. Отформатировать?». Спасаем данные и чистим жесткий диск Разумеется, в абсолютном большинстве случаев вы совсем не хотите форматировать накопитель, ведь на нем находятся ваши данные. Но без таблицы разделов система не сможет получить доступ к жесткому диску. Вам необходимо найти способ как-то иначе извлечь информацию с испорченного носителя. Прежде всего, вам потребуется достаточное количество памяти на диске, чтобы разместить там спасенные данные. Для восстановления таблицы разделов диска вы можете воспользоваться бесплатной утилитой TestDisk. Ее можно скачать с сайта производителя cgsecurity.org или взять с CHIP DVD. Также понадобится инструмент DiskPart. Начиная с версии Vista эта программа идет в комплекте с Windows, однако пользователям XP ее придется загрузить с сайта microsoft.ru. Утилита TestDisk необходима для обнаружения данных без таблицы разделов и их копирования. После этого DiskPart очистит жесткий диск, благодаря чему в итоге можно будет создать работающие разделы с помощью собственного средства Windows «Управление дисками», которое доступно в разделе «Управление компьютером». Не стоит бояться командной строки Конечно, программы TestDisk и DiskPart — это мощные инструменты, при работе с которыми можно столкнуться с определенными трудностями. Но не стоит бояться: внимательно читайте каждое сообщение, просматривайте каждый экран и старайтесь максимально придерживаться нашей инструкции. Если на вашем компьютере используется несколько HDD и/или твердотельных накопителей, особенно важно следить за буквами дисков и обозначениями. Нет ничего обиднее, чем удалить разделы совершенно непричастного исправного носителя. Кстати, после процедуры вы сможете спокойно использовать жесткий диск с когда-то испорченной таблицей разделов. Даже если источником проблемы стали неисправные секторы на HDD, не стоит опасаться, что это снова произойдет. Собственное средство диска для управления секторами отмечает их как дефектные, чтобы впредь они не задействовались. Даже если на данный момент проблем с жестким диском нет, сохраните эту инструкцию, и, когда возникнет чрезвычайная ситуация, вы будете во всеоружии. ПРИМЕЧАНИЕ CHIP не несет ответственности за повреждение ваших аппаратных средств или потерю данных, которые могут возникнуть при выполнении приведенных в статье рекомендаций. Как это сделать? 1. РАСПОЗНАЕМ ПРОБЛЕМУ Если Windows предупреждает, что ваш жесткий диск не отформатирован, это необязательно соответствует истине. Проверить, так ли это, можно запустив встроенный инструмент Windows «Управление дисками». 2.ПРОВЕРЯЕМ ЖЕСТКИЙ ДИСК При отсутствии неполадок в средстве «Управление дисками» («Панель управления | Администрирование | Управление компьютером») диск будет обозначен как «RAW» или иметь статус «Исправен». 3.ПЕРВАЯ ПОПЫТКА ВОССТАНОВЛЕНИЯ Используйте собственную утилиту Windows chkdsk в редакторе командной строки cmd, который необходимо вызывать от имени администратора. Запустите команду «chkdsk x: /f», где вместо «x» подставьте букву вашего диска. 4. ЗАПУСКАЕМ ПРОГРАММУ ДЛЯ АНАЛИЗА Если предыдущая процедура не принесла успеха, запустите TestDisk. Клавишей «Enter» подтвердите настройку «Create». На следующем этапе выберите свой жесткий диск и запустите тестирование последовательностью «Proceed | Intel | Analyse | Quicksearch». 5. ПЕРЕЗАПИСЫВАЕМ ТАБЛИЦУ РАЗДЕЛОВ Выберите свой раздел, нажмите на «Continue» и создайте новую таблицу разделов с помощью функции «Write». Если раздел не отобразится, повторите процесс, используя «Deeper search». 6. СОХРАНЯЕМ ИСЧЕЗНУВШИЕ ФАЙЛЫ Если процесс прошел неудачно, повторите действия этапа 4, однако после «Continue» выберите «List files». Для копирования файлов следуйте указаниям внизу окна. 7. ВОЗВРАЩАЕМ ЖЕСТКИЙ ДИСК В РАБОЧЕЕ СОСТОЯНИЕ После успешного копирования запустите программу DiskPart от имени администратора. С помощью функции «List disk» отобразите все жесткие диски, выберите нужный командой «Select disk x» и очистите его («Clean»). 8. ФОРМАТИРУЕМ И РАЗБИВАЕМ НА РАЗДЕЛЫ В «Управлении дисками» инициализируйте и, если требуется, разбейте на разделы данный диск, а затем верните на него данные.

ichip.ru

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

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

Содержание:

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

  • Жесткие диски состоят из нескольких магнитных блинов, напоминающих 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 байт.

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

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

(4 votes, average: 5.00 out of 5)

hetmanrecovery.com

Восстановление раздела диска с помощью утилиты TestDisk

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

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

В этом примере для восстановления потерянного раздела мы будем использовать консольную утилиту TestDisk. Этот мощный программный инструмент позволяет восстанавливать дисковые разделы и области MFT, перезаписывать загрузочную область MBR, проверять и исправлять ошибки дисковых структур. К тому же TestDisk считается более эффективной и безопасной чем даже такие популярные раскрученные аналоги с графическим интерфейсом как Acronis.

Если у вас пропал раздел с пользовательскими данными, работать с утилитой можно из-под Windows, но в случае повреждения системного раздела, когда Windows не может загрузиться, диск необходимо снять и подключить к рабочему компьютеру или воспользоваться LiveCD, в составе которого имеется TestDisk. Итак, представим, что у нас пропал диск D. Скачиваем утилиту с официального сайта, распаковываем её, запускаем исполняемый файл testdisk_win.exe, выбираем опцию Create и нажимаем Enter.

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

Тип разделов утилита обычно определяет автоматически, скорее всего в следующем окошке выделенным у вас будет Intel. Оставляем всё как есть и жмём ввод.

Чтобы проанализировать структуру разделов диска, выбираем Analyse и вновь жмём ввод.

Убедитесь, что внизу в окошке утилиты выделена опция Quick Search и нажмите Enter.

TestDisk проведёт сканирование и, если обнаружит на диске удалённый раздел, покажет его.

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

Для выхода из режима просмотра нажмите Q. Теперь восстановим потерянный раздел. Нажмите Enter (раздел должен быть выделен зелёным), с помощью клавиш-стрелок установите режим Write и ещё раз выполните ввод.

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

А теперь перезагрузите вашу машину и загляните в «Этот компьютер».

Потерянный раздел должен быть на месте со всеми записями и файлами.

Сайт разработчика: www.cgsecurity.org

www.white-windows.ru


Смотрите также