ошибка в MBR

Тема в разделе "WASM.ASSEMBLER", создана пользователем FaNt0m, 1 авг 2008.

  1. FaNt0m

    FaNt0m New Member

    Публикаций:
    0
    Регистрация:
    19 май 2008
    Сообщения:
    41
    diamond
    да, на 1-м
     
  2. diamond

    diamond New Member

    Публикаций:
    0
    Регистрация:
    21 май 2004
    Сообщения:
    507
    Адрес:
    Russia
    О, скриншот - это то, что надо. Ясно видно, что таки нужно сделать
    Код (Text):
    1. mov dword [7C1Ch], 9318480h
    P.S. Странная какая-то таблица разделов - расширенный раздел перекрывается с первичным...
     
  3. FaNt0m

    FaNt0m New Member

    Публикаций:
    0
    Регистрация:
    19 май 2008
    Сообщения:
    41
    diamond
    как 32-битный код реализовать в реальном режиме?
    з.ы. если только 2хword...
     
  4. FaNt0m

    FaNt0m New Member

    Публикаций:
    0
    Регистрация:
    19 май 2008
    Сообщения:
    41
    это я сам так сделал. сначала он у меня в самом конце был, на последнем extended.
     
  5. diamond

    diamond New Member

    Публикаций:
    0
    Регистрация:
    21 май 2004
    Сообщения:
    507
    Адрес:
    Russia
    А в чём проблема? В реальном режиме можно использовать и 16-битные, и 32-битные инструкции.
     
  6. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Так и пиши. Или два слова подряд запиши.
     
  7. FaNt0m

    FaNt0m New Member

    Публикаций:
    0
    Регистрация:
    19 май 2008
    Сообщения:
    41
    mov dword [7C1Ch], 9318480h
    а можно это не в проге сделать, а, находясь в винде, подправить в редакторе, а потом перезагрузиться?
     
  8. diamond

    diamond New Member

    Публикаций:
    0
    Регистрация:
    21 май 2004
    Сообщения:
    507
    Адрес:
    Russia
    В данном случае - даже нужно, чтобы привести в соответствие данные логического диска с данными MBR.
     
  9. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Запиши в сектор с номером 9318480h по смещению 1Ch четыре байта 80h, 84h, 31h, 09h.
     
  10. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    И исправь таблицу разделов! Кстати в расширенном разделе у тебя сейчас что-нибудь есть? Если нет, то запись о нем лучше зачистить, потому что она все равно некорректна.
     
  11. FaNt0m

    FaNt0m New Member

    Публикаций:
    0
    Регистрация:
    19 май 2008
    Сообщения:
    41
    извините за долгое отсутствие... восстанавливал жесткий диск после такого совета... правда байтики я еще до него поменял...
     
  12. FaNt0m

    FaNt0m New Member

    Публикаций:
    0
    Регистрация:
    19 май 2008
    Сообщения:
    41
    Все-таки как же хорош этот лив-сиди с загрузкой XP с компакт диска)))
     
  13. FaNt0m

    FaNt0m New Member

    Публикаций:
    0
    Регистрация:
    19 май 2008
    Сообщения:
    41
    Phantom_84
    код загрузчика не скинешь?))
     
  14. diamond

    diamond New Member

    Публикаций:
    0
    Регистрация:
    21 май 2004
    Сообщения:
    507
    Адрес:
    Russia
    Всё равно не грузится? Точно так же зависает?
     
  15. FaNt0m

    FaNt0m New Member

    Публикаций:
    0
    Регистрация:
    19 май 2008
    Сообщения:
    41
    не, уже не зависает... босле старта биоса, попытки загрузки с сд, флоппика после перехода на хард - сразу ребутится((
     
  16. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Ты раскурочил свой диск еще до моих советов тебе :)

    Ты мне показал на картинке дамп сектора 9318480h. Судя по представленной таблице разделов это первый сектор активного первичного NTFS-раздела. Содержимое дампа это подтверждает за исключением поля по смещению 1Ch, т.к. там находилась запись 3Fh, 00h, 00h, 00h. Однако и в FAT32, и в NTFS в этом поле должен находиться номер самого сектора (по крайней мере для первичных разделов это точно должно быть так). Я тебе посоветовал исправить эту запись на прапвильную. Все.
     
  17. FaNt0m

    FaNt0m New Member

    Публикаций:
    0
    Регистрация:
    19 май 2008
    Сообщения:
    41
    Ну, я её и исправил... После этого вообще все грузиться перестало... Если не веришь - исправь у себя на нтфс разделе;)
     
  18. FaNt0m

    FaNt0m New Member

    Публикаций:
    0
    Регистрация:
    19 май 2008
    Сообщения:
    41
    Кажется я все понял... У вас жесткий диск разбит стандартными прогами, а я свой отчасти сам разбивал...
    В общем, как только я с другого нтфс-раздела, сделанного ср-ми виндовс,попытался загрузиться, все пошло))

    P.S. вот, только не пойму, зачем системе знать количество скрытых секторов... имхо, бесполезная инфа...
    P.P.S. а по поводу того, как исправить мой "самодельный" раздел нужно, наверное, создать отдельную тему)
     
  19. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Ты еще не понял? Количество скрытых секторов определяет фактическое местоположение раздела. Это поле в обязательном порядке используется загрузчиками на самих разделах. Правда, есть еще возможность использовать структуру, указатель на которую передается от mbr-загрузчика в ds:si, но она практически не используется. К тому же если идет загрузка из тома, находящегося в расширенном разделе типа 05h, то без корректировки этой структуры со стороны mbr-загрузчика не обойтись.