iHDD.RU
Список форумов Форум iHDD.RU Форум iHDD.RU
Ремонт накопителей и восстановление информации
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

 
Восстановление Partition Table
На страницу 1, 2, 3, 4  След.
 
Начать новую тему   Ответить на тему    Список форумов Форум iHDD.RU -> Накопители. Восстановление информации и ремонт  Накопители. Восстановление информации и ремонт
Восстановление Partition Table
Автор Сообщение
AlexLambin



Зарегистрирован: 05.02.2006
Сообщения: 12

СообщениеДобавлено: Вс, 05 Фев, 2006 02:27    Заголовок сообщения: Восстановление Partition Table Ответить с цитатой

Здравствуйте.

Дело обстоит так. Я удалил MBR на винте. До этого на нем находилось 2 логических диска FAT 32. Диск С я восстановил с использованием образа, созданного с помощью NERO. Диск D восстановить не могу. Пробовал прогу EasyRecovery. Диска она так и не нашла.NDD тоже не дал положительных результатов.
С помощью DiskEditora смотрел содержимое сектора, который следует сразу после диска С - он пустой,т.е. таблицы раделов там нет. При помощи того же DiskEditor'а нашел каталог диска D. Вычислив расстояние в секторах между каталогом и FAT'ом диска С, я рассчитал местоположение FAT'а для D. Посмотрел содержимое полученного сектора и обнаужил нечто похожее на FAT.
Т.е. и FAT и каталог целы. Однако ни одна из программ, коорыми я пользовался не могли найти потеряный диск.
Что же мне теперь делать? Может кто-нибудь посоветует какой-нить дельный софт? Если нет, то дайте пожалуйста совет, как мне дальше действовать, чтобы восстановить диск.
Заранее всем спасибо!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AlexLambin



Зарегистрирован: 05.02.2006
Сообщения: 12

СообщениеДобавлено: Вс, 05 Фев, 2006 02:32    Заголовок сообщения: Ответить с цитатой

Да, чуть не забыл.
После последнего переразбиения диска с помощью Partition Magic я создал какие-то дискеты. Может они могут быть полезными? Если да, то как из них вытянуть инфу о размерах и расположении разделов?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Antech



Зарегистрирован: 03.10.2005
Сообщения: 1281

СообщениеДобавлено: Вс, 05 Фев, 2006 16:29    Заголовок сообщения: Ответить с цитатой

Разделы обычно начинаются с нулевой головки и первого сектора, это так, к слову.
А вообще-то Вам следует найти бут-сектор раздела D. Ну там найдете характерные слова типа "FAT32" и сигнатуру 55AA в конце сектора. Далее соорудите таблицу разделов вручную (для удобства в WinHex есть шаблон, под DOS можно DMDE попробовать, если в Вашем редакторе нет шаблонов). Если нужно, то описание структуры таблицы разделов есть тут: akina.hop.ru/mbr.php3
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AlexLambin



Зарегистрирован: 05.02.2006
Сообщения: 12

СообщениеДобавлено: Вс, 05 Фев, 2006 21:45    Заголовок сообщения: Ответить с цитатой

Дело в том, что загрузочного сектора диска D нет. Я искал фразу "FAT32" на всём пространстве, где был диск D и ничего не нашёл.
Я подозреваю, что при восстановлении диска С с образа, раздел для него получился немного больше, что могло привести к затиранию загрузочного сектора диска D. Хотя я и сомневаюсь, что такое возможно.
В принципе, наверное можно вычислить положение загрузочного сектора диска D(по известным координатам каталога и FAT) и в этот сектор скопировать загрузочный сектор другого диска (например С). При этом, естественно, надо будет изменить кое-какие поля.
Может кто-нить подскажет, как можно вычислить координаты загрузочного сектора в моём случае?
А что с дискетами от PartitionMagic? Пригодятся или нет?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Antech



Зарегистрирован: 03.10.2005
Сообщения: 1281

СообщениеДобавлено: Пн, 06 Фев, 2006 12:26    Заголовок сообщения: Ответить с цитатой

AlexLambin
Да уж, значит не все так просто... Загрузочный сектор действительно можно было бы попробовать скопировать от другого FAT32 раздела. Весь вопрос - в том, куда именно. Начало таблиц FAT сохранилось? Каждая должна начинаться с байта F8h. Посмотрел сейчас начало раздела FAT16 на флэшке (у меня маленький образ - только начальный кусок), там за бут-сектором следующий сектор - уже первая таблица FAT. Так вот. Найдите вторую таблицу FAT, она должна начинаться с известного нам уже байта F8. Начало первой таблицы наверняка затерто, но есть ведь вторая! Скопируйте ее на место первой так, чтобы их "хвосты" совпали (предполагается, что хоть что-то от первой таблицы осталось). Теперь у Вас есть 2 полноценных таблицы. Сразу перед первой вставьте бут-сектор какого-нибудь здорового FAT32 раздела. Поправьте некоторые параметры (sectors per cluster, sectors per FAT...). В таблице разделов создайте раздел, указывающий на Ваш бут-сектор. Теперь в WinHex используйте кнопочку Access, чтобы браузить по каталогам (он менее чувствителен к глюкам, чем обычные браузеры). В идеале все заработает. В реале - скорее всего, нет: ошибки неизбежны, да и sectors per cluster под вопросом...

Кстати, надеюсь Вы "FAT32" не в юникоде искали?

Покопайтесь на дискетах, которые создал PM! Там могут быть какие-нибудь отчеты (видел тут один отчет PM на iXBT, так там все нужные параметры BS есть).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AlexLambin



Зарегистрирован: 05.02.2006
Сообщения: 12

СообщениеДобавлено: Пн, 06 Фев, 2006 13:56    Заголовок сообщения: Ответить с цитатой

1)Фразу "FAT32" я искал не в юникоде.
2)Не могли бы Вы дать мне ссылку на тот отчет PM?

Дело в том, что сама таблица FAT32 по всей видимости не повреждена. Я уже встречал в начале исчезнувшего диска нечто похожее на неё (первый элемент - F8h FFh FFh FFh, второй - FFh FFh FFh FFh, часто встречающиеся EOF и т.п.). Остаётся открытым вопрос - куда именно (на каком расстоянии от таблицы FAT) поместить бут-сектор.
Кстати как вычислить размер диска в кластерах. Я имею в виду, следует ли в этот размер включать служебные области диска (FAT,каталог и т.п.)?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Antech



Зарегистрирован: 03.10.2005
Сообщения: 1281

СообщениеДобавлено: Пн, 06 Фев, 2006 14:31    Заголовок сообщения: Ответить с цитатой

AlexLambin
Не могли бы Вы дать мне ссылку на тот отчет PM?
Вот, нашел: http://forum.ixbt.com/topic.cgi?id=11:33585

Я уже встречал в начале исчезнувшего диска нечто похожее на неё (первый элемент - F8h FFh FFh FFh, второй - FFh FFh FFh FFh, часто встречающиеся EOF и т.п.).
А вторая аналогичная таблица после нее есть? Она, естественно, тоже с F8h должна начинаться.

Остаётся открытым вопрос - куда именно (на каком расстоянии от таблицы FAT) поместить бут-сектор.
Попробуйте прямо в предыдущий сектор. Т. е. бут сектор - и в следующем секторе начинается первая таблица FAT, как я уже говорил, я такое на флэшке только что видел (правда, там FAT16).

Кстати как вычислить размер диска в кластерах. Я имею в виду, следует ли в этот размер включать служебные области диска (FAT,каталог и т.п.)?
Да, это полный размер раздела. Только вот там вроде не в кластерах, а в секторах.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AlexLambin



Зарегистрирован: 05.02.2006
Сообщения: 12

СообщениеДобавлено: Вт, 07 Фев, 2006 14:02    Заголовок сообщения: Ответить с цитатой

Спасибо за ссылку. Хотелось бы узнать имя файла отчёта Smile
Второй копии FAT я не нашёл Sad
По поводу FAT16. Для этой файловой системы, число "зарезервированных" секторов всегда равно 1. Поэтому таблица FAT следует непосредственно после бут-сектора. Для FAT32 это число "обычно" равно 32. Т.к. я не знаю, какую именно копию FAT я нашёл (1-ю или 2-ю), то, соответственно, не могу определить место бут-сектора. Может кто подскажет?
Да, и ещё вопрос. Как, зная длину раздела в секторах, вычислить размер таблицы FAT в секторах? Нужно ли при этом учитывать "зарезервированные" (для бут-сектора и т.п.) сектора, сектора для таблиц FAT и для каталога?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Tomset



Зарегистрирован: 29.09.2005
Сообщения: 1594
Откуда: Москва.

СообщениеДобавлено: Вт, 07 Фев, 2006 14:36    Заголовок сообщения: Ответить с цитатой

AlexLambin
Цитата:
Может кто-нить подскажет, как можно вычислить координаты загрузочного сектора в моём случае?


На другом харде сделай похожее размещение разделов и по образу и подобию ищи на потерпевшем.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Antech



Зарегистрирован: 03.10.2005
Сообщения: 1281

СообщениеДобавлено: Вт, 07 Фев, 2006 16:18    Заголовок сообщения: Ответить с цитатой

AlexLambin
вычислить размер таблицы FAT в секторах
У Вас есть Nкластеров=NсекторовРаздела/NсекторовКластера. Каждый кластер в таблице пусть описывается 4 байтами. Тогда NбайтТаблицы=4*Nкластеров, NсекторовТаблицы=NбайтТаблицы/512. Примерно так, я думаю. Ку?

я не знаю, какую именно копию FAT я нашёл
Если она начинается с F8h, и после нее идет (не важно через сколько секторов) нечто похожее на ROOT (там на вид обычно легко заметить directory entries), то это вторая копия. Да и как могла сохраниться первая и улететь вторая, если мы знаем, что был затерт непрерывный кусок от нулевого до определенного LBA?
А Вы не подскажите, между таблицами FAT нет никакого зарезервированного пространства, вторая начинается сразу после первой, в следующем секторе?

BTW, TomSet дал очень полезный совет: все эти выкладки и рассуждения полезно проверять на здоровом FAT32 разделе.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AlexLambin



Зарегистрирован: 05.02.2006
Сообщения: 12

СообщениеДобавлено: Вт, 07 Фев, 2006 18:08    Заголовок сообщения: Ответить с цитатой

Насколько я помню, таблицы FAT следуют непосредственно друг за другом. Но в этом я не совсем уверен. Сегодня вечером уточню.

У Вас есть Nкластеров=...
Т.е. Вы считаете, что в этот размер входят и служебные части раздела? Хм. Вообще говоря, если исходить из того, что FAT используется только для адресации файлов, то довольно странно, что в её размер надо включать служебную область раздела. Ну да ладно...

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

По поводу затирания первой таблицы FAT. Довольно странно всё это. Ведь затереть я её мог только тем, что хранилось в образе диска, который я сохранял. На самом деле, таблица должна была затерется не какой-нибудь ерундой, а своей же копией, сделанной несколькими часами ранее.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AlexLambin



Зарегистрирован: 05.02.2006
Сообщения: 12

СообщениеДобавлено: Ср, 08 Фев, 2006 02:15    Заголовок сообщения: Ответить с цитатой

Копии фат следуют непосредственно друг за другом.

В общем я проделал следующее.
1) Посчитал расстояние от начала фат2 до начала каталога. Это и есть размер фат в секторах.
2) Зная размер фат в секторах и начало 2-ой фат, я вычислил начало первой фат. К моему немалому удивлению, полученное значение оказалось на диске С! Т.е., по всей видимости, при восстановлении с образа Nero размер диска С был определён неверно. Более того, на место тех секторов, которые изначально находились в начале диска D была записана какая-то ерунда, которая и затёрла бут-сектор и фат1.
3) Полагая, что число "зарезервированных" секторов равно 32, получил местоположение бут-сектора диска D. Естественно, на этом месте находилась какая-то ерунда.

Таким образом, теперь мне необходимо восстановить диск D по каталогу и фат2. Это вообще реально? В фат2 содержатся актуальные данные? Если реально, то подскажите пожалуйста, как мне рассчитать поля для бут-сектора с учетом того, что имеется всего 1 копия фат.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Antech



Зарегистрирован: 03.10.2005
Сообщения: 1281

СообщениеДобавлено: Ср, 08 Фев, 2006 10:24    Заголовок сообщения: Ответить с цитатой

AlexLambin
Вы считаете, что в этот размер входят и служебные части раздела?
Не уверен. Посмотрите на исправном FAT32 разделе (у меня нет такого).

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

Посчитал расстояние от начала фат2 до начала каталога. Это и есть размер фат в секторах.
А как же First cluster of root? Там вроде обычно двойка. Так как это не может быть относительно начала раздела, то очевидно, отсчет начинается после таблиц FAT. Т. е. между FAT2 и ROOT еще 1 (или 2?) кластера.

восстановить диск D по каталогу и фат2. Это вообще реально?
Думаю, да. Вряд ли популярные ОС не изменяют FAT2, так что FAT2 наверняка актуален. Впрочем, Вы можете это проверить.

как мне рассчитать поля для бут-сектора
Простите, у меня нет столько времени (да и опыта), это Вы уж как-нибудь сами сделайте.
http://www.iatp.irklib.ru/sites/Karmadanov/Recovery/4_BS_FAT.htm
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AlexLambin



Зарегистрирован: 05.02.2006
Сообщения: 12

СообщениеДобавлено: Ср, 08 Фев, 2006 15:34    Заголовок сообщения: Ответить с цитатой

А как же First cluster of root
Хм. Интересно. Наверное Вы правы. Сегодня вечером уточню.

В общем, скорее всего придётся покупать ещё 1 винт на 200 Гб и разбивать его так же как и первый. Осталось только выяснить первоначальный, истинный размер диска С.

PS Спасибо за ссылку
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Antech



Зарегистрирован: 03.10.2005
Сообщения: 1281

СообщениеДобавлено: Ср, 08 Фев, 2006 16:31    Заголовок сообщения: Ответить с цитатой

AlexLambin
А зачем Вам второй хард?
Если надо просто изучить "живой" FAT32, Вы можете что угодно использовать (старый маленький винт, флэшку, жалко что дискету Винда в FAT32 не хочет форматить Very Happy).
Если надо слить инфу, то непонятно, зачем размечать его аналогично имеющемуся.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AlexLambin



Зарегистрирован: 05.02.2006
Сообщения: 12

СообщениеДобавлено: Ср, 08 Фев, 2006 17:28    Заголовок сообщения: Ответить с цитатой

1) Аналогичное разбиение необходимо для того, чтобы посмотреть точные поля бут-сектора и таблицы разделов.
2) Мне негде достать хард, который можно было бы переразбить Sad
3) На новый хард можно будет полностью скопировать мой диск и в случае неудачи восстановить копию. Кстати, не подскажете, с помощью какой проги можно скопировать один винт на другой "сектор в сектор"?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Antech



Зарегистрирован: 03.10.2005
Сообщения: 1281

СообщениеДобавлено: Чт, 09 Фев, 2006 10:06    Заголовок сообщения: Ответить с цитатой

AlexLambin
с помощью какой проги можно скопировать один винт на другой "сектор в сектор"?
Есть такая прога, и Вы ее знаете. WinHex. Под DOS - CopyR и CopyR DMA (но я ими не пользовался, говорят, CopyR DMA глючит на некоторых мамах).

Аналогичное разбиение необходимо для того, чтобы посмотреть точные поля бут-сектора и таблицы разделов
Таблица разделов интереса не представляет, там более/менее даже мне ясно.

Но если у Вас будет второй винт, то почему бы не воспользоваться рекаверилками типа R-Studio, Active@Undelete e.t.c.? Наверняка это будет быстрее, чем вручную.
Или Вы ради спортивного интереса? Но в таком случае с дополнительным винтом - "никаких очков за стиль" Very Happy.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AlexLambin



Зарегистрирован: 05.02.2006
Сообщения: 12

СообщениеДобавлено: Пт, 10 Фев, 2006 13:44    Заголовок сообщения: Ответить с цитатой

Не могли бы Вы дать ссылку, откуда можно слить WinHex и лекарство к нему?

Проги типа R-Studio и EasyErase смогли восстановить лишь 90% инфы (я недавно проводил дефрагментацию Smile ). Однако они не смогли восстановить самые ценные для меня данные, которые я записал на винт за последнее время.

Повторюсь - винт мне необходим лишь для того, чтобы иметь резервную копию. Я с такой ситуацией сталкиваюсь впервые и могу чего-нить испортить. А если под руками есть копия винта, то если что, можно все вернуть. Вот Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Antech



Зарегистрирован: 03.10.2005
Сообщения: 1281

СообщениеДобавлено: Пт, 10 Фев, 2006 14:43    Заголовок сообщения: Ответить с цитатой

AlexLambin
Ссылку на варез дать не могу, тут правила не разрешают. Но найти в сети WinHex и крак - не проблема (ищите, например, версию 11.26 - для нее лекарство найдется легко).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AlexLambin



Зарегистрирован: 05.02.2006
Сообщения: 12

СообщениеДобавлено: Ср, 15 Фев, 2006 14:38    Заголовок сообщения: Ответить с цитатой

Всем спасибо за участие!!!
Я восстановил все (100%).
В общем, вот что я сделал.
1) Вычислил размер фат FAT_size. Он равен разности начального сектора 2-й копии фат и начального сектора корневого каталога.
2) Нашел начало 1-й копии фат FAT1_beg = FAT2_beg - FAT_size.
3) Скопировал 2-й фат на место 1-го.
4) Нашел местоположение загрузочного сектора диска D (D_beg). Обычно в FAT32 между загрузочным сектором и 1-й копией фат находится 32 зарезервированных сектора. В них располагаются 2 копии загрузочного сектора и соответствующие им структуры FAT_Info.
Это число (32) указывается в самом загрузочном секторе. Поэтому в дальнейшем при правке загр. сектора диска D (см. ниже) необходимо в соответствующее поле вписать "32".
У меня много проблем было связано с тем, что диск D начинался не с нового цилиндра, а с дорожки № 76. Как я умудрился сделать такое разбиение винчестера, я не помню. Но вот Вам мой совет - ВСЕГДА при создании раздела делайте его выровненным по границе цилиндра (0 дорожка,1-й сектор). Хотя многие производители программного обеспечения и утверждают, что их продукты нормально работают с невыровненными разделами, я могу утверждать - это всё полная фигня. Partition Magic и Partition Table Doctor ругались и иногда отказывались видеть (!) разделы на винчестере даже после того, как я его восстановил и перекачал с него все файлы.
5) В Partition Table создал расширеный (Extended) раздел.
Его начало (EXT_beg) высчитал след. образом. Цилиндр - тот же, что и у загр. сектора D;головка - 0;сектор - 1.
Конец раздела (EXT_end) - самый последний сектор винта.
Размер равен EXT_size = EXT_end - EXT_beg + 1
Колличество секторов до раздела EXT_before = C_size + 63 = EXT_beg_LBA - 1,
где 63 - начало диска С
EXT_beg_LBA - начало расширенного раздела в LBA
C_size - размер диска С из Partition Table
6) Первый сектор расшир. раздела обнулил и вписал в него Partition Table с 1-й записью. Эта запись - начало диска D относительно начала расшир. раздела. Причём тут есть одна тонкость. Параметры "начало" и "конец" заданы относительно начала винта, а "размер" и "колличество секторов до раздела" - относительно начала расшир. раздела. Например, начало у меня было 1275,76,1, а колличество секторов до раздела - 76*63 = 4725.
Размер диска D - D_Size = EXT_end - D_beg + 1
7) На место загрузочного сектора D вписал загрузочный сектор диска С: и изменил некоторые параметры. Все изменения сейчас уже не помню, но вот некоторые из них:
FAT_SIZE - вычислено ранее.
Размер (в секторах) - из EXT_Partition_Table
Колличество секторов в кластере - определил с помощью проги Ontrack Easy Recovery. Но можно и самому посчитать CLUST_NUM = PART_SIZE / (FAT_SIZE_IN_SEC * 512 / 4). Полученное значение округлить до ближайшей степени двойки.
HIDEN_SECTORS - колличество секторов до раздела (в моём случае - 4725).
8 ) Сектор, следующий за загрузочным обнулил - там должна была находиться структура FAT_Info.
9) Сделал копию загрузочного сектора и поместил её на расстоянии 6 секторов от начала диска D. Обнулил следующий сектор.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум iHDD.RU -> Накопители. Восстановление информации и ремонт Часовой пояс: GMT + 3
На страницу 1, 2, 3, 4  След.
Страница 1 из 4

 








Rambler's Top100 Рейтинг@Mail.ru

Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB