После отключения электричества мой ноутбук не загружается. Я исследовал этот вопрос с помощью кучи дисковых утилит и Live CD. Данные целы, и я сделал их резервную копию. Тем не менее, я хотел бы восстановить работу диска, включая загрузку, конечно, с минимальными усилиями. Я знаю, что многие специалисты предлагают заново создать разделы, заново восстановить операционную систему и заново переустановить программное обеспечение. Это вряд ли осуществимо в моем случае (у меня даже не все дистрибутивы). Поэтому я хотел бы отредактировать поврежденную таблицу разделов на месте, и мне нужен совет, какая именно часть проблемная.
Диск содержит 2 тома: один — основной раздел, а другой — логический диск в расширенном разделе.
При загрузке ноутбука с Live CD Windows видит оба диска, но логический диск в расширенном разделе недоступен.
diskpart
Команда 's list volume
показывает, что флаг тома fs - RAW вместо NTFS. Странно, что дисковые утилиты, которые я использовал для восстановления данных (включаяДМДЕ) видит этот том как NTFS и считывает с него данные без проблем.
Вот вывод diskpart:
И вот что показывает DMDE:
Вопрос в том, какие необработанные байты и как мне следует редактировать в таблице (например, я могу использовать DMDE для прямого редактирования диска), чтобы сделать том NTFS доступным из Windows?
Я не уверен, какие еще детали могут быть важны, и готов предоставить их по запросу.
Обновлять
Единственный реальный ответ среди ссылок предлагает использовать TestDisk. Во-первых, должен сказать, что эта утилита очень требовательна к ОС - она не запускается ни на одном из WinPE-based live CD, которые я пробовал. Наконец, мне удалось запустить ее на [почти] полноценном Win7 live CD. Вот что она показывает (обратите внимание, что NTFS в логическом томе в расширенном разделе):
и (обратите внимание, на этот раз FAT32):
Мне нужно восстановить самый большой том отсюда. Он отображается как FAT32 в TestDisk (DMDE показывает NTFS). P
Команда не выдает читаемый список файлов для этого тома. Я попробовал команду, T
чтобы изменить тип на NTFS, но это не решило проблему: P
по-прежнему выдает мусор («файловая система может быть повреждена»). Тем не менее, я вижу полную файловую систему в DMDE и сохранил ее с помощью утилиты r.saver.
Я провел более глубокий поиск:
и нашел:
Удаленный том NTFS — это фактический диск с моими данными. Затем я изменил его с 'D' на 'L' и сделал Write changes to disk и перезагрузился.
Диск по-прежнему недоступен, но теперь, если я запускаю DMDE, он жалуется, что для записей MBR требуется диск объемом не менее 625153410 LBA (320 ГБ), но на самом деле диск имеет объем 625142448 LBA (320 ГБ).
По моему опыту, либо TestDisk не способен справиться с этой задачей в моем случае, либо мне нужны более подробные инструкции, что именно исправить с помощью TestDisk.
Заранее спасибо.
В качестве небольшого замечания должен сказать, что TestDisk глючит: я сделал резервную копию таблицы разделов соответствующей командой TestDisk, затем изменил таблицу и записал ее на диск; затем обнаружил, что изменения не помогли, и решил откатить изменения из резервной копии - в результате я получил совершенно другую и неверную таблицу разделов. Единственное, что спасло меня от фиаско, это то, что я сделал еще одну резервную копию с помощью dmde, которая восстановила структуру, как и ожидалось.
решение1
Проблема решена (при поддержке некоторых технических гуру, поделившихся своими знаниями в социальных сетях), и я публикую наиболее важные детали в качестве ответа.
С самого начала я ошибочно полагал, что флаг RAW равенфизическив соответствующем разделе записано 0. Дело в том, что 0 означает пустую запись раздела, то есть вообще никакого раздела, тогда как RAW — это специальныйлогичныйфлаг, указывающий на некоторые проблемы в разделе. Таким образом, diskpart
в данном случае "сообщение" s заключалось в том, что хотя "недоступный" раздел логически "здоров", его базовый жесткий диск может содержать некоторые дефекты.
В эпоху жестких дисков SMART дефекты регистрируются внутри каждого диска и могут быть исправлены (если они не являются фатальными).
Итак, сначала я использовалHDDScanдля чтения SMART-информации. Вот что у меня получилось:
Обратите внимание, что количество ожидающих исправления ошибок равно 3. Эти ошибки следует исправить.
Для этого нужно выяснить, какие именно сектора выдают эти ошибки, а именно просканировать поверхность диска на наличие ошибок чтения. В моем случае, Викториябыла использована утилита (интерфейс утилиты на английском языке, но сайт, к сожалению, на русском).
В результате я получил 3 адреса блоков с поврежденными секторами.
Далее следует применить один из методов восстановления блоков (конкретный метод может отличаться в зависимости от производителя жесткого диска). В моем случае было достаточно попытаться записать некоторые данные в поврежденные блоки. SMART-диск достаточно умен, чтобы переназначить поврежденные блоки на какое-то другое зарезервированное пространство, если операция записи не удалась. Самый простой способ выполнить команду записи — скопировать область блоков на себя. Вы можете использовать для этого предпочитаемый вами инструмент, я использовалдмде( Tools -> Copy sectors
). Поскольку в моем случае плохие блоки были локализованы рядом друг с другом, я выполнил команду копирования только один раз: начальный блок Source
и Destination
был установлен одинаковым (несколько до первого плохого сектора), а количество секторов для копирования было установлено достаточно большим, чтобы покрыть область со всеми 3 плохими блоками. Поскольку это копия самой себя, она не изменяет действительные блоки. Плохие блоки заполняются нулями. Их исходные данные в любом случае теряются. Если плохие блоки не содержат критических данных, восстановленный диск, вероятно, может нормально запускать все программы.
После выполнения команды копирования я еще раз проверил информацию SMART и убедился, что количество ошибок равно 0. Если это не так, что-то пошло не так и необходимо провести более глубокое расследование.
Последнее, что нужно сделать, это запустить chkdsk d: /F
(где d
находится ваша буква диска), чтобы исправить логические ошибки в физически восстановленном разделе.
После всего этого мне удалось вернуть проблемный раздел NTFS (флаг RAW исчез, и он снова отображается как NTFS) на место и почти без потери данных — по крайней мере, Windows загружается как прежде.