 |
Форум iHDD.RU Ремонт накопителей и восстановление информации
|
MFT--восстановление
|
Автор |
Сообщение |
NewUse
Зарегистрирован: 10.10.2008 Сообщения: 6
|
Добавлено: Сб, 11 Окт, 2008 16:29 Заголовок сообщения: MFT--восстановление |
|
|
Вообщем очередная жертва ПМ (и суеты)
при перемещении изменении раздела Ntfs слетела MFT, хард SATA на 250ГБ, разбивался, с отделением части 40Гб, человек не вытерпел ждать и нажал ресет.
Из того что имеется сейчас: MFT vol1 ==194 ГБ, область 2 == 40ГБ --предположительно пустая, MFT vol2 =194 ГБ
Какой прогой можно из двух MFT соткать одну, и при том рабочюю |
|
Вернуться к началу |
|
 |
Robin
Зарегистрирован: 04.10.2005 Сообщения: 162 Откуда: Stavropol
|
Добавлено: Сб, 11 Окт, 2008 18:16 Заголовок сообщения: |
|
|
Не надо ничего стыкивать. Сканируем диск, ищем mft и index записи, основываясь на них тянем файлы. |
|
Вернуться к началу |
|
 |
Antech
Зарегистрирован: 03.10.2005 Сообщения: 1091
|
Добавлено: Сб, 11 Окт, 2008 21:51 Заголовок сообщения: |
|
|
NewUse
Да индексы (INDX) можно и не искать, они не уникальны. Достаточно найти файловые записи (FILE) и реставрировать структуру каталогов по идентификаторам родительских записей в атрибутах FILE_NAME. На C/C++ это выглядит несколько сложнее . Но сть и готовые проги, их много, популярны R-Studio и GetDataBack.
Настоящая проблема - это смещение содержимого файлов относительно указанного в ФС. Это конкретный гемор. Я тут накатал небольшое эссе на тему партмагоидного смещения в соответствующем топике. Ну если смещения нет, то восстановит несложно. |
|
Вернуться к началу |
|
 |
NewUse
Зарегистрирован: 10.10.2008 Сообщения: 6
|
Добавлено: Вс, 12 Окт, 2008 00:06 Заголовок сообщения: |
|
|
2 Robin
я же писал MFT--найдены, аж две штуки с указаниями по 194ГБ предположительно:
копии, вторая (vol 3) должна содержать линки на смещённые файлы
первая (vol 1)--на исходные, но операция перемещения не была оконченна, по этому некоторые файлы осталисьне перемещёнными, другие уже перемещенны: как совместить две MFT?
писать самому прогу влом, так что посоветуйе либо гтовое решение либо кусок кода, да и чем можно проверить мою теорию? |
|
Вернуться к началу |
|
 |
Antech
Зарегистрирован: 03.10.2005 Сообщения: 1091
|
Добавлено: Вс, 12 Окт, 2008 19:06 Заголовок сообщения: |
|
|
NewUse
некоторые файлы остались не перемещёнными, другие уже перемещенны: как совместить две MFT?
Да вроде общедоступным софтом никак... Можно попробовать в R-Studio восстанавливать по каждой MFT то, что в ней указано правильно. Если, однако, "правильные" файлы в каждом каталоге перемешаны с "неправильными", то я затрудняюсь предложить алгоритм. Может быть, есть возможность как-то отследить принадлежность файла одной из двух MFT, например, по смещению начала содержимого файла от начала раздела, но это уже только свой софт.
Можно сделать по-другому. Определить смещение, потом перекопировать на другой диск, устранив смещение (нужно еще знать координаты области, которую нужно сместить). Тогда уже восстановить можно и в R-Studio, по исходной MFT (куда записать саму MFT значения не имеет, но не на содержимое файлов, естественно). |
|
Вернуться к началу |
|
 |
NewUse
Зарегистрирован: 10.10.2008 Сообщения: 6
|
Добавлено: Вс, 12 Окт, 2008 19:42 Заголовок сообщения: |
|
|
Цитата: | Можно сделать по-другому. Определить смещение, потом перекопировать на другой диск, устранив смещение (нужно еще знать координаты области, которую нужно сместить). Тогда уже восстановить можно и в R-Studio, по исходной MFT (куда записать саму MFT значения не имеет, но не на содержимое файлов, естественно). |
Ну, тогда уж проще: raw-scan; но фишка моего вопроса заключалась в том, чтоб не использовать доп. диск.
ОК!
СПАСИБО.
Подскажите, пожалуйста, хороший raw-scaner, в котором можно настроить принудительное игнорирование MFT, а также запрет на отоброжение/восстановление специально удалённых файлов? |
|
Вернуться к началу |
|
 |
Antech
Зарегистрирован: 03.10.2005 Сообщения: 1091
|
Добавлено: Пн, 13 Окт, 2008 09:14 Заголовок сообщения: |
|
|
NewUse
тогда уж проще: raw-scan
Нет, не проще. Потеряете все фрагментированные файлы, потеряете имена всех файлов и структуру каталогов. В общем, это пародия на восстановление...
не использовать доп. диск.
Забудьте об этом, для таких кейсов дополнительных дисков покупают столько, сколько требуется; in-place это не делается.
хороший raw-scaner
R-Studio, включить Extra search for known file types, отключить все ФС кроме одной, которой Вы точно не использовали (Ext, например).
запрет на отоброжение/восстановление специально удалённых файлов
В Raw-сканере? Это шутка? |
|
Вернуться к началу |
|
 |
NewUse
Зарегистрирован: 10.10.2008 Сообщения: 6
|
Добавлено: Пн, 13 Окт, 2008 13:33 Заголовок сообщения: |
|
|
Цитата: | В Raw-сканере? Это шутка? |
Я уже плоховато помню, но кажись в начале каждой файловой записи есть флаг, который показываетудалён файл или нет. |
|
Вернуться к началу |
|
 |
Tomset
Зарегистрирован: 29.09.2005 Сообщения: 1223 Откуда: Москва.
|
Добавлено: Пн, 13 Окт, 2008 13:47 Заголовок сообщения: |
|
|
NewUse
Поиск RAW не анализирует файловые записи и директории, ищет по всей поляне только сигнатуры известных файлов. Длина файла определяется по растоянию от сигнатуры до сигнатуры или заданной пользователем длиной.
Получите файлы списком, типа File000.doc file001.xls и т.п.
Фрагментированные файлы естественно не восстановятся. |
|
Вернуться к началу |
|
 |
NewUse
Зарегистрирован: 10.10.2008 Сообщения: 6
|
Добавлено: Пн, 13 Окт, 2008 16:57 Заголовок сообщения: |
|
|
1)Правильно ли я помню, что файловые записи физически находятся перед его содержимом (или они находятся в MFT?)
2)Правильно ли япомню, что каталог(директория) -- файловая запись специального типа
3)Если да, то чем ето дело можно просканить и вытащить? |
|
Вернуться к началу |
|
 |
Robin
Зарегистрирован: 04.10.2005 Сообщения: 162 Откуда: Stavropol
|
Добавлено: Пн, 13 Окт, 2008 18:45 Заголовок сообщения: |
|
|
1) mft запись перед файлом? Почти никогда. Или я не так понял вопрос?
2) В фат32 была сигнатура каталога. Про ntfs надо у Antech наверное спрашивать. В ФС он силён, чертяка.  |
|
Вернуться к началу |
|
 |
NewUse
Зарегистрирован: 10.10.2008 Сообщения: 6
|
Добавлено: Пн, 13 Окт, 2008 19:07 Заголовок сообщения: |
|
|
Цитата: | 1) mft запись перед файлом? Почти никогда. Или я не так понял вопрос? |
Не, не совсем, мне казалось, что мфт--основная файловая таблица, или что -то типа того --- определённая физическая область диска, в которой хранится некоторая индексная инфа (если пмять не изменяет, то она хранится в первом секторе логического диска)
Правильно ли я помню, что файл в нтфс, имеет некий префикс, по которому можно точно определить, его имя, пренодлежность к каталогу, а также начало и конец, или эта информация хранится только в мфт и её копии? |
|
Вернуться к началу |
|
 |
Antech
Зарегистрирован: 03.10.2005 Сообщения: 1091
|
Добавлено: Пн, 13 Окт, 2008 22:07 Заголовок сообщения: |
|
|
NewUse
мфт--основная файловая таблица, или что -то типа того --- определённая физическая область диска, в которой хранится некоторая индексная инфа (если пмять не изменяет, то она хранится в первом секторе логического диска)
MFT - Master File Table. Она состоит из записей фиксированной длины (стандартно два сектора, других не видел). Каждая запись описывает определенный файл или каталог. Файловая запись состоит из заголовка и списка атрибутов.
В случае каталога в файловой записи присутствуют один или два специфичных атрибута: INDEX_ROOT и INDEX_ALLOCATION. Очень маленькие каталоги имеют только INDEX_ROOT (в нем перечисленны структуры параметров файлов/подкаталогов). Но обычно есть и INDEX_ALLOCATION. Он просто указывает на кластеры, занятые списком структур, орисывающих файлы/подкаталоги (т.н. индексные записи, они не принадлежат файлу $MFT, не путать с индексированием). Индексные записи не уникальны и могут быть перестроены по файловым.
В случае файла его содержимое (кластеры) адресуется атрибутом DATA (точнее, списком экстентов).
То, что хранится в нулевом секторе раздела - это бктсектор раздела (верно для FAT и NTFS, в Линуксовых ФС Ext и Reiser немного не так).
На разделе "обычного" размера, отформатированном Виндой XP, картина обычно следующая. В нулевом секторе раздела - бутсектор. В последнем секторе раздела - копия бутсектора. MFT начинается в секторе 6291456 (0x600000) от начала раздела, что соответствует кластеру 786432 при стандартном размере кластера 8 секторов. Размер MFT, как несложно догадаться, зависит от количества файлов и каталогов. Обычно MFT занимает десятки...сотни МБ (а уж точно не один сектор, как Вы сказали ). MFT может быть фрагментирована. Индексные записи могут быть где угодно. Пространство от бутсектора до MFT, а также после MFT до конца раздела занято содержимым файлов (в т.ч. метафайлов) и индексными записями. Размер раздела в бутсекторе специально задается на один сектор меньше, чем в таблице, поэтому содержимое файлов и индексные записи не перетирают копию бутсектора в последнем секторе раздела.
Это как оно обычно бывает. Что у Вас там сейчас - одному Богу известно.
файл в нтфс, имеет некий префикс, по которому можно точно определить, его имя, пренодлежность к каталогу, а также начало и конец, или эта информация хранится только в мфт и её копии?
Вам не повезло. Только в MFT. Даже в копии нет (копия - 4 первых записи, стандартно она вообще только один кластер занимает - 8 секторов).
То, что Вы говорите - это мой концепт DURFS (Durable FS), велосипед наверняка, но я не знаю, где это в оригинале использовано.
Короче, то, что сейчас у Вас на винте, можно охарактеризовать как полная попа, и хорошо еще, если можно хоть с использованием дополнительных винтов восстановить. Если Вы не профессиональный датарекавери, это будет совсем не просто. Прецеденты были, люди клялись на хэлпе от Винды что будут разбираться, в результате никаких сообщений от них.
Извиняюсь за опечатки и глюки. Понедельник , вечер, да еще и с коммуникатора... |
|
Вернуться к началу |
|
 |
|
|