Ru-Board.club
← Вернуться в раздел «Программы»

» Нужна софтина для восстановления mbr

Автор: KLASS
Дата сообщения: 28.06.2002 07:23
Я не шибко силен в теории, но в моем извращенном понимании, MBR, это НУЛЕВОЙ АБСОЛЮТНЫЙ СЕКТОР ФИЗИЧЕСКОГО ДИСКА. Вот сказал. Сахар -сладкий. Раз нулевой абсолютный, так значит явно физического диска. Если не прав поправь пожалуйста. Идем дальше: так вот я тоже всю литературу перечитал-перелистал, везде говорится что не делается копия MBR. Ну ладно... забиваю в поиск DiskEdit'a первые 3 строчки 0 сектора (я имею ввиду нулевого абсолютного, т.е. где MBR) Он мне находит с десяток таких строчек, но только 2 сектора из найденных совершенно идентичные нулевому. Совершенно! Я даже заменил этими найденными сам нулевой сектор, все грузится работает. Вот и закралась безумная мысль, может ХРень стала дубликаты MBR выписывать Ведь я то точно помню что на этом (первом) физическом диске я не сохранял MBR. Откуда взяться копии. На втором физическом я сохранял MBR, ну дык то второй. А здесь... я и потерялся. Меня и прорвало вопрос задать про утилиту поиска копии. Глюки наверное, хотя три месяца уже не пью.
Автор: Massa
Дата сообщения: 28.06.2002 15:24
KLASS
Ну да - 0-й абсолютный сектор харда. Там сидит прога с данными(геометрией харда). Восстанавливается это дело командой FDISK /MBR - имеется ввиду старый добрый MBR - стандартный.
Весь MBR c FATами при загрузке считывается в ОЗУ. Может это самое ОЗУ свапилось и поэтому ты нашел копию на харде. Только остается открытым вопрос - почему их 2. Вопрос с восстановлением MBR обычно возникает - когда у тебя он уникальный. Была у меня когда то прога - которая писалась вместо стандартного MBR и при загрузке запрашивала пароль. ДискМанагеры любят свой MBR прописывать.
У MS линейка NT имеет свой MBR - ну и всякие BOOTLOODERы тоже там пасуться. А в XP - NTFS5 - я его не знаю - может чтоб надежней было - имеет место под копию MBR. Или может когда 0 сектор бьется то XP все равно грузится? Хотя вряд ли такое возможно - процедура начальной загрузки идет по жеско заданной схеме.
Автор: KLASS
Дата сообщения: 28.06.2002 16:02
Massa
Еще страннное то, что место где эти две копии обитают не понятно куда отнести... Если бутявый (загрузочный) сектор есть вначале и в конце каждого логического диска, то эти две копии лежали тут:
Мой хард sectors 0 - 16514063
первая копия 14730417
вторая копия 14730421
практически рядом друг с другом, но не в конце, не в середине... Странно это все. Я думаю если духу хватит на выходные для чистоты эксперимента обнулю свой первый хард и установлю ХРень по новой, установлю HEX и сразу поищу что там такое есть. А то может точно сам чо нить намутил и радуюсь что вынь научилась MBR-ки бэкапить.
Может будут какие мудрые советы?

Сценарий загрузки не изменился, так же как и в других версиях... буковку изменишь и песец загрузке
Автор: L0Ve
Дата сообщения: 28.06.2002 17:37
KLASS

Цитата:
первая копия 14730417
вторая копия 14730421

А ты не задумывался, что тот же скажем fdisk который может восстанавливать стандартный mbr может его держать в своем теле?... И в других прогах такое может быть. Помнится когда-то дискедит мог показывать к какому файлу принадлежить соотв. сектор.
Автор: retro
Дата сообщения: 28.06.2002 18:26
lynx
Проблема решена или нет? Если мучения продолжаются, позволю поделиться своим опытом... Вопрос (я не сумел уловить этого в обсуждении ) - есть на диске информация, которую нужно спасать, или можно все уничтожать и заняться восстановлением САМОГО диска?
Автор: Sander
Дата сообщения: 28.06.2002 20:24
lynx
ичего не понял, но уже интересно. MBR - это всего 512 байт в начале диска. Дальше вся нулевая дорожка свободна (это еще 31 Кило. ) Следующий раздел идет с первой дорожки - это по стадарту, хотя изменить все это мне нихто не мешает. Та-же MBR-Tool (бывшая MBR-Recovery) прекрасно редактирует MBR, но и DiskEdit тоже класно. Никакой формат не трогает MBR, а на нулевую дорожку лезет только XP, и то, если ставить с открытым первым разделом. Для поиска и ввостановления таблицы разделов прекрасно подходит SyMon - находит быстрее и точнее, чем Easy Recovery. Тема есть в программах. Если что не-так написал - вопросы, обьясню. И вообще, пинать надо комп пощаще, а то он на голову сядет )
Автор: Massa
Дата сообщения: 29.06.2002 08:12
KLASS
Кажется L0Ve прав. Должон же FDISK где -то материал брать?
В случае - если NTFS5ом предусмотрено место под второй MBR - то это должно быть в строго определенном месте и вначале самого раздела. У тебя все это расположено довольно далеко от начала раздела.

Автор: KLASS
Дата сообщения: 29.06.2002 19:37
L0Ve
Думал и согласен.

"Помнится когда-то дискедит мог показывать к какому файлу принадлежить соотв. сектор."
Я про дискедит такого не слыхал а Винхекс это делает, тока нам же не имя файла надо, а нулевой сектор.

Massa
Кажется L0Ve прав. Должон же FDISK где -то материал брать?

Логично и я так думаю, тока FDISK (IMHO) может пишет какой-то стандартный загрузчик, а надо и таблицу разделов и т.д.
Короче, сегодня обнулил диск, переустановил ХРень, проверил... Точно винда свопит (как ты и говорил) нулевой сектор на диск. Одна копия нулевого сектора была но не в конкретном каком-то секторе, а распологалась на половину в одном на половину в следующем за ним. Причем никакой логики, хочет здесь а может и в другом месте и найти копию при падении основного нулевого сектора слабовато будет. Кина не будет. Резюме: такое "тонкое", содержащее необходимую инфу для нормального функционирования системы, место как нулевой (абсолютный) сектор ХРень не может бэкапить. Обыдно.
Я так понял:
главная загрузочная запись или нулевой абсолютный сектор или первый блок это одно лицо - MBR. Правильно?

И еще вопрос, если
В MBR находятся три важных элемента:
1. Программа начальной загрузки. Именно она запускается BIOS'ом после успешной загрузки в память первого блока (MBR). Она, очевидно, не превышает 512 байт и ее хватает только на то, чтобы загрузить стартовый сектор операционной системы и передать туда управление;
2. Таблица описания разделов диска. Располагается по смещению 0x1BE в MBR. Таблица описывает четыре раздела. Только один из четырех разделов имеет право быть помеченным как активный, что будет означать, что программа загрузки должна загрузить в память первый сектор именно этого раздела и передать туда управление;
3. Сигнатура MBR. Последние два байта MBR должны содержать число 0xAA55. По наличию этой сигнатуры биос проверяет, что первый блок был загружен успешно. Сигнатура эта выбрана не случайно. Ее успешная проверка позволяет установить, что все линии данных могут передавать и нули, и единицы.
Что восстанавливает команда FDISK /MBR ???
Только "Программу начальной загрузки"? Ведь я так понимаю: в теле FDISK не может быть таблицы разделов. Правильно или нет?
Вот здесь инфу черпал, но не нашел на вопрос ответ
http://symon.ru/usr/rus/docs.shtml
Автор: KLASS
Дата сообщения: 01.07.2002 08:26
Все понял! Может кому и пригодится, не зря же два дня разбирался
Восстанавливаем MBR (главную загрузочную запись):
Обнулил я MBR (будто бы она была нарушена), вышел в консоль с загрузочного CD и набрал fixmbr. Вот тут есть маленькая хитрость. Загрузиться в систему после этого не получится, потому как командой консоли "fixmbr" восстановливается не вся MBR, а только так называемая "Программа начальной загрузки" и "Сигнатура MBR" (два последних байта MBR). Странно, но нигде не встречал в сети, чтоб про эту хитрость вот так конкретно было сказано (наверное плохо смотрел). Остается еще восстановить "Таблицу описания разделов диска". Для чего можно воспользоваться утилитой-загрузчиком SYMON, которую выше предложил Sander
описалово и скачать http://symon.ru/usr/rus/docs.shtml
Она прописывается вместо стандартного загрузчика и с ее помощью мы и восстанавливаем Таблицу разделов. Все данные восстановлены! Ну а если необходимо, вернуть стандартную "Программу начальной загрузки" идем в консоль и забиваем "fixmbr". Жаль только, что сама система не в состояниии автоматически продублировать MBR где - нить в специально отведенном месте, ведь дубли загрузочных boot секторов для каждого диска она делает.
Удачи!

OPS! извиняюсь, что поднял... поторопился, надо б редактировать
Автор: Vladimir Dashevsky
Дата сообщения: 02.07.2002 08:39
KLASS
На самом деле копия MBR нигде не хранится. Но то, что MBR сожержит жизненно важную информацию - это преувеличение. Смотри сам:

1 часть - код загрузчика. Этот код может быть одинаковым для миллиона компьютеров с одиноаковой ОС Windows совершенно спокойно.

3 часть - сигнатура. А она вообще одинакова для _всех_ компьютеров, ибо нужна она BIOS'у для проверки правильности считывания MBR.

2 часть - таблица разделов, 64 байта всего! Только она и является специфичной для каждого отдельного компьютера. Если вспомнить, что запись о разделе содержит избыточную информацию, то полезных байтов там и вовсе не 64, а максимум (8+1)*4=36.

Очевидно, что в 36 байтов никакой ценной инфы не запихать, вся она хранится в созданных пользователем файловых системах, а 36 байтов представляют из себя только 4 ссылки на них. Только ссылки. При неправильных ссылках информация недоступна, но не уничтожена.

Что касается fdisk, то он не хранит в своем теле MBR, а хранит ее заготовку, сектор с частями 1 и 3. Часть 2 копируется туда из сектора 0 физического диска. Код в части 1 вполне универсален, он просто интерпретирует содержимое части 2, чтобы узнать откуда продолжать загрузку. Так что под стандартным MBR правильно понимать "стандартный код первичного загрузчика".

Таким образом, вся ценность MBR - только в таблице разделов, которая содержит не более чем просто ссылки. Если файловые системы (попросту, логические диски) целы, то создать такие ссылки не представляет особого труда.

Если говорить о SyMon, то он хранит свою таблицу из 36 разделов отдельно от MBR и формирует таблицу разделов MBR динамически перед каждой загрузкой. Плюс к этому, он умеет бэкапить свои собственные настройки разделов и ОС, поэтому нет необходимости сохранять где-то MBR, поскольку его нетрудно перегенерировать.


Автор: KLASS
Дата сообщения: 02.07.2002 11:52
Vladimir Dashevsky
Здраствуйте. Приветствую автора
Цитата:
SyMon
Спасибо за теорию. И как всегда есть вопросы.
Извините за неграмотность.

Цитата:
Часть 2 копируется туда из сектора 0 физического диска.

Не совсем понятно куда копируется часть 2, кем и зачем.


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

Да, я уже на практике это проверил


Цитата:
Так что под стандартным MBR правильно понимать "стандартный код первичного загрузчика".
Вот это очень существенное замечание (для меня). Т.е., если я правильно понял, понятие"Стандартный MBR" существует. И это ни что иное как MBR без таблицы разделов. Или все-таки понятие
Цитата:
"стандартный код первичного загрузчика"
будет вернее, нежели "стандартный MBR", а под понятием MBR (не стандартный, или еще какой) , просто MBR-главная загрузочная запись, следует понимать данные находящиеся в нулевом (абсолютном) секторе харда, вместе с таблицой разделов. Я совершенно серьезно спрашиваю, т.к. не силен в теории.


Цитата:
Если файловые системы (попросту, логические диски) целы, то создать такие ссылки не представляет особого труда.

Вы имеете ввиду редактирование "Таблицы разделов" (читай ссылок) вручную?


Цитата:
Если говорить о SyMon, то он хранит свою таблицу из 36 разделов отдельно от MBR

Да, я обратил внимание, его записи хранятся, с первого (абсолютного) сектора вплоть, до boot сектора первого логического диска.


Цитата:
Плюс к этому, он умеет бэкапить свои собственные настройки разделов и ОС, поэтому нет необходимости сохранять где-то MBR, поскольку его нетрудно перегенерировать.

Это не актуально для харда моего друга, который не догадывался о существовании этой утилитки, тем более о какой то таблице разделов. А вот ручки, они очень даже шаловливые.
Я и заострял вопрос выше, как раз о ситуации, когда
1. диск Вам не известен, он чужой
2. нарушена MBR полностью, т.е, как теперь выяснилось и таблица разделов, потому как другое восстанавливается элементарно.
3. утилита
Цитата:
SyMon
не стояла на харде, до нарушения MBR.
Т.е. подведем итог, для людей (и меня в том числе) которые спасая свою инфу, будут читать эти строки:
Чтобы восстановить MBR (главную загрузочную запись) находящуюся в нулевом абсолютном секторе харда Вашего друга (т.е. с диском Вы не знакомы необходимо сделать следующее:
1. установить прогу
Цитата:
SyMon
из Доса
2. перегрузиться и с ее помощью (поиск разделов) восстановить таблицу разделов.
Исправьте и дополните меня пожалуйста.
Еще раз извиняюсь за неграмотность.
Автор: Vladimir Dashevsky
Дата сообщения: 02.07.2002 14:48
KLASS

Цитата:
Не совсем понятно куда копируется часть 2, кем и зачем

В теле fdisk находится прототип MBR с пустой таблицей разделов. при запуске fdisk /mbr он считывает MBR из блока 0 и копирует текущую таблицу разделов в свой шаблон, затем записывает его обратно на диск.

По поводу стандартного MBR. Это не общепринятое название. Стандартность простирается ровно настолько, насколько вообще системы от Microsoft. Термин стандартности подразумевает стандартный алгоритм выбора загрузочного раздела через флаг активности. Именно этот шаблон и хранится в большинстве fdisk'ов.

Теперь сделаю небольшое отступление. На первых жестких дисках в блоке 0 хранился бутсектор FAT12 и жесткий диск был аналогом одной большой дискеты (с большими кластерами). Все было просто, буквы дисков _всегда_ обозначали физические устройства. Сложности начались, когда FAT12 не смог покрыть емкости всего диска. FAT16 еще не придумали, но выдумали разделы, чтобы в несколько попыток освоить емкость жесткого диска. Однако BIOS'у всегда было все-равно, каким образом загружается ОС. Он просто загружал бутсектор из блока 0. И вообще говоря, он не обязан подозревать о наличии в MBR табицы разделов, хотя многие BIOS'ы сейчас в определенных режимах корректируют логическую геометрию диска по ее содержимиму.


Цитата:
Вы имеете ввиду редактирование "Таблицы разделов" (читай ссылок) вручную?

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


Цитата:
диск Вам не известен, он чужой

До версии 3.11 SyMon поддерживал загрузку с дискеты от имени жесткого диска, то есть его можно было запустить как-бы из BIOS и включить автопоиск, не записывая его при этом на диск. Найдя разделы, можно было создать конфигурацию ОС и запустить ее. При этом на диск сохранялась только новая таблица разделов из MBR, но никаких посторонних настрое SyMon. По идее, то что нужно. Дальше остается только прописать стандартный загрузчик в MBR, не устанавливая SyMon на диск.

К сожалению, в версиях старше 3.11 мне пришлось отказаться от дискетного варианта установки по просьбам многих пользователей, поскольку многие не любят безусловное требование лишней дискеты. Так что для подобных восстановлений нужно использовать версию 3.11.
Автор: KLASS
Дата сообщения: 02.07.2002 18:48
Vladimir Dashevsky


Цитата:
копирует текущую таблицу разделов в свой шаблон, затем записывает его обратно на диск.

Понял..., век живи век учись и т.д.


Цитата:
Потому что отождествляют запоротую систему загрузки с запоротой файловой системой.

Конечно, я на своем харде, это и проделывал, чтоб убедиться на практике, что при формате, не трогается нулевая дорожка.


Цитата:
По идее, то что нужно. Дальше остается только прописать стандартный загрузчик в MBR, не устанавливая SyMon на диск

Вот-вот, я и хочу закатать дискетный вариант установки SyMon на свой спасательный CD, по методу Reanimatolog'a http://bootcd.narod.ru/ .Чтоб можно было восстанавливать не только свои разделы на дисках.


Цитата:
К сожалению, в версиях старше 3.11 мне пришлось отказаться от дискетного варианта установки

т.е. SyMon теперь будет устанавливаться только из Винды? IMHO полностью не стоит отказываться от дискетного варианта, ведь случаи бывают разные, человек мог и не знать о существовании SyMon, как в моем случае. Можно оставить два варианта установки, это только расширит круг пользователей. Хотя это уже скорей обсуждение для этого топа http://forum.ru-board.com/topic.cgi?forum=5&topic=2284&start=40#lt
а то Nep из пулемета стреляться начнет
Спасибо за науку.
Цитата: Вы имеете ввиду редактирование "Таблицы разделов" (читай ссылок) вручную?
Тьфу ты, я себе HEX редактор представил с кучей циферок, а сам и забыл что в SyMon есть свой редактор там тока 6 цифирек на раздел запомнить надо. Глюки
Автор: Vladimir Dashevsky
Дата сообщения: 03.07.2002 09:21

Цитата:
т.е. SyMon теперь будет устанавливаться только из Винды?

Вообще задумана установка из чистого DOS, так как винды не любят давать перезаписывать MBR. Но записать SyMon на установочную дискету не представляет труда. Это абсолютно не сложно для пользователя, и меня в некоторой степени освобождает от ответственности нелегального распространения чужого продукта - DOS'а. Каждый пользователь сам определяет, откуда его устроит взять дос. Кроме того, в отличие от версии 3.11 теперь пользователи могут сами определять состав программ, которые записать на дискету помимо SyMon, что дает больше возможновтей для возможного восстановления. Мне же остается пока сделать программу, которая бы запускала SyMon с дискеты в новых версиях.
Автор: IgGass
Дата сообщения: 23.11.2002 11:40
Люди, у меня вопрос по теме:
Я сижу под WinXP pro, вчера ставил Acronis, потм снес, так как он не видел нужную мне партицию с Линуксом (исходно созданную через Virtual PC, так что никаких boot-manager типа Lilo или Grub, на компе не стояло), и тут начались траблы: комп при загрузке начал писать "Non system disk, press any key". После нажатия any key загрузка продолжалась нормально.
Я пробовал исправить MBR с помощью fixmbr, и винда вроде пишет, что она успешно переписала MBR, но при перезагрузке все повторяется.
У меня есть дискета с MBR, и когда я с нее гружусь, комп ничего такого не пишет. Как можно с нее переписать MBR на винт? Или, может, есть другие варианты?
Автор: Vladimir Dashevsky
Дата сообщения: 15.12.2002 08:59
IgGass

Скорее всего проблема в том, что управление из MBR попадает в раздел, где стоял Acronis. Нужно просто переставить флаг активного раздела на раздел с XP.

Страницы: 12

Предыдущая тема: Exchange 2000


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.