Карта сайта Хакер в RSS Энциклопедия Хакера PDA версия сайта Почтовые рассылки Хакера    Хакер в Twitter Хакер в ВКонтакте Приложение Хакер для Facebook Хакер на Formspring.me
Журнал Новости Форум Видео Life Xakep Live (блоги)
Bugtrack Статьи Блог Поиск English
Трюки с phpinfo Трюки с phpinfo
Совсем недавно в паблике появилась информация о новом интересном подходе к эксплуатации уязвимостей класса LFI с помощью бесполезной на первый взгляд функции phpinfo() и временных загрузочных файлов. Берем на вооружение этот полезный прием....
Интервью с создателем NGINX Игорем Сысоевым Интервью с создателем NGINX Игорем Сысоевым
Легкий веб-сервер NGINX буквально только что вышел на 2 место по популярности в интернете. А незадолго до этого создатель NGINX привлек 3 млн. долларов инвестиций и основал одноименную компанию. В общем, поводов для общения с Игорем Сысоевым у нас была масса....

Восстановление NTFS раздела

Bookmark and Share

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

Из воспоминаний 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: Поскольку все операции потенциально опасны, не поленись сделать резервную копию разделов, находящихся на том же физическом диске, что и восстанавливаемый раздел.





СЛЕДУЮЩИЕ СТАТЬИ
Китайские закладки: непридуманная история о виртуализации, безопасности и шпионах
Попробовали взломать: Chrome самый защищенный браузер, IE второй, Firefox на третьем месте
Sqlmap: SQL-инъекции - это просто
Ударь копирайтом по работодателю: возвращаем финансы, честно заработанные на служебных произведениях
Бабло на малвари: как и сколько зарабатывают наши криминальные коллеги?
Поток зловредов для Android: виноват Market… и не только
Руткит в сетевухе: фантазии программиста о создании непобедимого руткита
Хак-машина из Google Chrome: собираем хакерскую сборку расширений для браузера от Google
Чемпионаты по программированию и не только
Алгоритмическая симфония из одной строчки кода
ПРЕДЫДУЩИЕ СТАТЬИ
Самовзлом
Построение переносимого шеллкода для Windows
Мануаль по LIBBZIP2 №2
RTK: русский Trinux
Quake 3 Arena: прозрачные стены
Сокеты в Perl №2
Samurize Pro: мониторим красиво
Ставим елку
Мануаль по LIBBZIP2 №1
Х-релиз: исходники трояна
ОБСУЖДЕНИЕ СТАТЬИ
Логин:
Пароль:
Если у вас есть форумный логин - вы можете использовать его, иначе анонимный гостевой доступ.

Для оставления комментария вы можете зарегистрироваться по упрощенной процедуре.

Обсуждение этой статьи на forum.xakep.ru
Для отправки сообщения введите код, указанный на картинке
Сообщение

UserГость
16.07.2007 20:51:59
Ответить Ссылка
Где можно достать NTFSDOS PRO (для чтения и для записи NTFS разделов)?
UserГость
16.07.2007 20:51:59
Ответить Ссылка
подскажи, где достать образ загрузочной дискеты под ДОС, из под которой с NTFS можно НОРМАЛЬНО работать.
UserГость
16.07.2007 20:52:00
Ответить Ссылка
NTFSDOS PRO mozno naity v sety Edonkey i EmuLe
UserГость
16.07.2007 20:52:00
Ответить Ссылка
Странно что у тебя повредился только Master File Table, раньше летели или обе копии FAT, или еще хуже partition table, а угадывать начала и концы разделов, занятие не из легких. Поэтому лучше иметь копии таблицы разделов, главной загрузочной записи, и бут секторов кождого логического диска. И не забывайте про резервное копирование, т.к. в наше време не у тебя, так у соседа найдется резак.
UserГость
16.07.2007 20:52:00
Ответить Ссылка
Возникла у меня такая же проблема. Проделал я все выше описанное. ТЕперь выдает "Диск не отфоратирован. Произвести форматирование?". Дело в том что вычислить последний сектор мне так и не удалось, посчитал, ввожу,а мне пишет такого нет, ну методом подбора подобрал.
UserГость
16.07.2007 20:52:00
Ответить Ссылка
Нужная статья! Спасибо!
UserГость
16.07.2007 20:52:00
Ответить Ссылка
Неужели нет программы, которая это делает автоматически? Программ восстановления файлов с такого раздела куча, но восстановить файловую систему (и загрузку XP) никак.
UserГость
16.07.2007 20:52:00
Ответить Ссылка
dddsfdsaffd
AvatarYashin
16.07.2007 20:52:00
Ответить Ссылка
Спасибо, статья очень помогла найти верный путь в решении проблемы и не только. После установки OS Solaris, я потерял три раздела объемом 200гб. Прична была в том что эта ОС просто затерла 2 запись в MBR под свой раздел, а в следующие две записала на кой хер нули. С помощью программы HEX Workshop(лучше использывать более подходящие для этого программы WinHEX например, т.к. у Workshop`а я нашел ошибку в определении типов.). короче с помощью этой программы я открыл MBR, перед этим определил границы моих разделов с помощью программы EasyRecovery(которая не умеет писать в раздел, а только копирует) и записал их в файл. Отформатировал второй раздел. После этого открыл MBR, скопировал вторую запись дальше на третью и четвертую. Затем заменил значения RelativeSector и TotalSectors на значения полученные с помощью EasyRecovery. Перезагрузился проверил ScanDiskom и все стало чики-поки. Спасибо автору.
UserГость
30.07.2007 10:58:12
Ответить Ссылка
Да, может она и нужная, но не в случае, если сами данные физически перенесены на другое место раздела, но MFT не обновлена!
Как это случилось у меня :(
Спасением была софтина Active@ File Recovery, скачаная через торрент (ритейл версия).
UserГость
30.07.2007 11:00:43
Ответить Ссылка
....такое бывает, если добавлять к НТФС разделу пустое пространство в начале, и твой комп зависает на 90% этого процесса :(
UserГость
16.11.2007 21:07:55
Ответить Ссылка
Уважаемый модератор!
В процессе форматирования, к сожалению, обнаружил, что вместо 80Гб. на дисковом пространстве в оригинале система видит только 60.
Каким образом я могу восстановить потерянные 20 Гб.
Заранее благодарен!!!
UserГость
07.08.2008 18:45:06
Ответить Ссылка
В Hiren's BootCD в волков коммандоре при загрузке можно сразу НТФСПро подгрузить.

А вообще тема не айс. Восстановление партиции делается более безопастными методами.
В частности последние два года я восстанавливаю из мфт миррора утилитой TestDisk из набора Hiren's
UserГость
20.09.2008 7:20:17
Ответить Ссылка
помогите, преподаватель одалел, просит найти Disk Probe, где ее собственно взять?Как я понял это виносовская прога, но на штатном компе ее не нашел. если не сложно киньте на мой ящик(buben_djo@mail.ru), позарез надо. Заранее спасибо
UserГость
21.01.2009 21:38:43
Ответить Ссылка
Для работы нам потребуется любой дисковый редактор. Главное, чтоб он мог видеть все пространство твоего диска. Можно воспользоваться DiskEdit от дяди Нортона из пакета Norton Utilities 2002 или штатным дисковым редактором Win'2k - Disk Probe, для чего нужно с дистрибутива Windows из папки Support\Tools установить дополнительные инструменты, в том числе и Disk Probe.
Uservolen
10.02.2009 5:03:29
Ответить Ссылка
После операции слияния в Partition Magic двух разделов С и D - оба пропали. Диск C удалось восстановить в PM, а вот D так и остался неразмеченным пространством. Далее при помощи testdisk раздел D был найден,но при попытке просмотреть раздел (в том же testdisk) - "can't open filesystem. File system demaget." Хотя "boot sector status:ok" Далее проделал все операции по данной статье,dchkdsk не запускается - Отсутствует метка тома. При обращении к разделу "Файл или папка повреждены. Чтение невозможно" Перерыл уже кучу инфы - эта одна из немногих чётких, конкретных статей. Надеюсь на помощь. Хотел уже было влезть с bsdlabel в корректирование метки томов, но чёт больно муторно и сложно для меня. Подскажите что делать.
UserГость
27.03.2010 19:32:25
Ответить Ссылка
acer asp 3630 2 раздела 10гб и 30 гб. Когда систему переустанваливал нажал кнопку удалить раздел "D" думал теперь "с" 40 гигов станет. а его вообще не стало. можно ли его восстановить??? без восстановления файлов на нем.
UserГость
17.10.2010 6:06:22
Ответить Ссылка
Если описанная последовательность действий помогла в какой-то конкретной ситуации - это не значит, что ее нужно выкладывать в качестве безусловного руководства. Без какого-либо анализа ситуации подобные действия крайне противопоказаны.
chkdsk /f вообще может уничтожить все данные.
Partition Magic при запуске в Windows 7 портит разметку диска.
UserГость
20.12.2011 4:59:49
Ответить Ссылка
у меня Windows вообще не загружается
UserГость
20.01.2012 20:29:38
Ответить Ссылка
quote:

Partition Magic при запуске в Windows 7 портит разметку диска.

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




Keywords: zPOSTz zHOMEz, zSOFTz, zINFOz z17375z
Для Авторов: edit Lock delete Lock



    Rambler's Top100