Захожу на свой рабочий диск…
Стоп. Точнее пытаюсь зайти на 
свой рабочий диск… а диска Е: 
нету :(. Вместо него пустое 
неразмеченное пространство

Из воспоминаний Horrific
Xakep v.11.01(35) p.27

 

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

Информация о структуре NTFS довольно скудна,
и, вследствии закрытости основных
спецификаций на нее, получена так
называемым методом reverse
engineering
. Как и другие файловые системы, NTFS
делит поверхность диска на кластеры. Размер
кластеров имеет фиксированный размер,
выбираемый из интервала от 512 байт (1 сектор)
до 64 Кб (128 секторов). Обычно используется
размер кластера в 4 Кб (8 секторов). Каждый
элемент файловой системы, включая
служебные (которые принято называть
метафайлами), представляет из себя файл.
Метафайлы находятся в корневом каталоге NTFS
раздела и начинаются с символа имени "$",
Основной служебный файл - $MFT (Master File Table) -
список абсолютно всех файлов, хранящихся в
разделе, включая MFT. Вновь
отформатированный раздел NTFS выглядит
следующим образом:

Место под файл $MFT

Место под содержимое файлов

Boot файл $MFT зарезервированное
место для файла
 $MFT
остальные метафайлы свободно

Место под MFT файл выделяется сразу и с
большим запасом, обычно 12,5% (но может быть и
25%, 37,5% и 50%) от объема раздела. Оставшееся
место предназначено для хранения
содержимого файлов. Однако ОС, при
необходимости, может сокращать место,
выделенное для MFT файла, когда место под
содержимое файлов заполнено. Для этого, в
текущих версиях NTFS, оставшееся свободное
место, выделенное под MFT файл, уменьшается
вдвое, тем самым, увеличивая место,
отведенное для размещения содержимого
файлов. И когда ОС информирует о свободном
месте, то это сумма свободного места в обеих
частях раздела (зарезервированное под MFT
файл и выделенное под хранение содержимого
файлов). Но файлы не только добавляются в
раздел, но и удаляются из него. И в этом
случае возможно вновь увеличение места,
отводимого под MFT файл. При этом в служебной
области может оказаться содержимое файлов,
которое там и останется. MFT файл начнет
фрагментироваться, хотя это и не есть good.
Еще раз повторюсь, сказанное относится к
вновь отформатированному разделу. Когда я
при помощи программы Partition Magic добавил
неразмеченное пространство перед NTFS
разделом к NTFS разделу (F:), то MFT у меня
начинается с 1731201 кластера, хотя обычное
значение - 4.

Сам MFT поделен на записи фиксированного
размера по 1 Кб (2 сектора) каждая. Первые 24
записи - это служебные файлы, причем первым
в списке идет сам MFT. Ввиду особой важности
MFT файла, копия первых четырех записей
хранится в файле $MFTMirr где-то в районе
середины раздела. Также в последнем секторе
раздела (для Win'2k/XP) хранится резервная копия
boot сектора. Таким образом, для
восстановления раздела необходимо найти и
скопировать в начало раздела 4 первые
записи MFT из резервной копии и, возможно, сам
загрузочный сектор. 

Для работы нам потребуется любой дисковый
редактор. Главное, чтоб он мог видеть все
пространство твоего диска. Можно
воспользоваться DiskEdit от дяди Нортона из
пакета Norton Utilities
2002
или штатным дисковым редактором Win'2k -
Disk Probe, для чего нужно с дистрибутива Windows из
папки Support\Tools установить дополнительные
инструменты, в том числе и Disk Probe. Также
потребуется программа PartitionInfo из пакета Partition
Magic
. Для начала, выясним физические
границы требуемого NTFS раздела. Это можно
сделать при помощи программы PartitionInfo из
пакета Partition Magic.

В моем случае раздел NTFS начинается с 5060538
сектора диска. (также в нижнем окне доступна
информация в формате C:H:S) Теперь получим
информацию о номере последнего сектора и о
расположении MFT и ее копии, для чего
нажимаем кнопку Boot Record…

Итак, последний сектор раздела это 5060538 +
3341456 = 8401994 (первый сектор раздела + Total NTFS Sectors),
MFT начинается с 8х4=32 сектора (MFT start cluster * Sectors
per cluster), MFT Mirr - c 417682 х 4=1670728 сектора (MFT Mirror start
cluster * Sectors per cluster). Уточним размер отдельной
записи в MFT файле, для чего запустив
программу Partition Magic, выбрав требуемый раздел,
нажав правую кнопку мыши, выберем пункт
Properties  В появившемся окне выберем
вкладку NTFS Info. Как и должно быть, размер
записи в MFT файле (File Record Size) составляет 1 Кб (2
сектора).

Запускаем дисковый редактор, например Disk
Probe, и выбираем пункты меню <Drives> - <Logical
Volume>. В появившемся окне дважды щелкаем
мышкой по требуемому разделу (в моем случае
это G), нажимаем последовательно кнопки Set
Active и OK. Теперь переходим на сектор,
содержащий копию MFT. Для этого выбираем
пункт меню <Sectors> - <Read> и в открывшемся
окне вводим номер сектора 1670728 и число
требуемых секторов (16) и нажимаем кнопку Read.
Теперь перепишем эти сектора по месту
расположения MFT, с 32 сектора. Для этого
выбираем пункт меню <Sectors> - <Write>.
Отвечаем утвердительно на вопрос изменения
режима работы с Read Only на Read/Write, в
появившемся окне указываем сектор, с
которого надо осуществить запись (в нашем
случае это 32) и нажимаем кнопку Write it.
Подтверждаем свое желание еще раз и MFT
восстановлена. 

Теперь необходимо скопировать на свое
место загрузочный сектор. Для этого
выбираем пункт меню <Drives> - <Physical Drive…>
после чего устанавливаем активным
требуемый физический диск. Это аналогично
тому, что мы осуществили для логического
диска. Теперь надо перейти на последний
сектор восстанавливаемого раздела. Через
меню <Sectors> - <Read> вводим значение 8401994
после чего записываем это значение в сектор
5060538. Будьте особенно внимательны,
поскольку вы работаете с целым диском и не
ограничены границами поврежденного
раздела! 

Осталось запустить утилиту chkdsk e: /f, которая
найдет и исправит просто огромное
количество ошибок, после чего поздравить
себя со спасенным разделом.

PS: Поскольку все операции потенциально
опасны, не поленись сделать резервную копию
разделов, находящихся на том же физическом
диске, что и восстанавливаемый раздел.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии