как отличить mbr от BR

Тема в разделе "WASM.OS.DEVEL", создана пользователем abcd008, 23 мар 2011.

  1. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    В моем посте #52 в ветке про Alter раскрывается суть этого хака. А вообще можешь сам понять его суть проанализировав MBR-загрузчики от M$, применявшиеся до выпуска Windows Vista/Seven.
     
  2. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    я видел-они как номер диска пишут его. но опять это для экономии одной переменной(места). последний для 7
    уже сожраняет именно dl для этих целей
     
  3. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    История умалчивает о том, сделали они это целенаправленно или сами не сразу поняли, что сделали )))
     
  4. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    ты сам как бит проверяешь или чисто на значение 80h?
    ты встречал другие значения?

    и про то что ты игнорируешь несколько активных и грузишь первый. я с этим согласен. но если сотрут твой alter то будет ошибка PT. хотя я тоже за наличие нескольких активных разделов. зато бут менеджер будет знать какие из них грузятся)
     
  5. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Формально признаком активного раздела я считаю установленный старший бит, а не значение 80h, поэтому и назвал диапазон недопустимых значений 1-7Fh.
     
  6. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    надеюсь ты сам его в качестве номера диска не используешь)
    а сам 80 пишешь?
    я просто собрался писать анализатор чтоб выявить mbr это или нет. и если брать во внимание не только 0 и 80h.
    а еще и 81h-0ffh то совпадений с кодам получается очень много(

    вот и интересуюсь сами то встречали значения отличные от 80h??
     
  7. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    или как я уже писал, забить и пусть пользователь сам выбирает в биос тип флешки(hdd или fdd).
    и использовать тупо номер диска для определения? -но это не справедливо по отношению к чайникам, которые не знают даже про существование чего-то(биоса) кроме windows)
     
  8. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Не только Alter игнорирует присутствие нескольких активных разделов (это сделано целенаправленно, а не ради упрощения). Тот же MBR-загрузчик от Windows Vista/Seven вроде бы тоже так делает.
     
  9. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    это для того чтоб влез код TCG которого раньше не было. заты были проверки на наличие только одного раздела.
    и полный проход pt для проверки значения только 80 и 0. хотя проверка PT эта не забота mbr.
    но проверить не мешало бы)
     
  10. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    если глянуть здесь http://mirror.href.com/thestarman/asm/mbr/W7MBR.htm
    то видно что у них нет свободного места. по этому и опущена половина проверок.
    у них и chs не то что не преобразовывается из lba. оно даже не проверяется на лимит)
     
  11. Phantom_84

    Phantom_84 New Member

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

    Я использую DL. Про слишком много различных свободных значений согласен. Возможно, есть смысл помимо нуля оставить лишь несколько валидных значений 80h+.

    А что их встречать, когда я сам могу прописать другое значение и это будет работать.
     
  12. MisHel64

    MisHel64 Member

    Публикаций:
    0
    Регистрация:
    9 мар 2011
    Сообщения:
    182
    Ну для начала, попробуйте создать активный раздел на втором винте, например с помощью FDISK от WIN98, а потом озаботитесь изучением истории. В частности выясните, в каком году был придуман этот флаг, и в каком году появилась возможность загрузки с винта кроме стоящего первым мастером. И когда появилась возможность мапить произвольный винт на нулевое (0x80) устройство.

    Вы исходите из неверных предпосылок, вызванных не достаточным владением сути вопроса.

    Как "Так"? Я видел несколько способов.

    А откуда появилось магическое число в 430 байт? По моим расчетам 437 байт свободно.
    Еще три байта если плюнуть на никогда не используемый стандарт, и 6 если на windows NT.
    437+3+4+2+16*4+2....

    И вот я смотрю на MBR от ХРюши, там почти 60 байт свободно.... ;)
     
  13. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    да и с 80 они не сравнивают. а зачем тогда проверять на 1-7fh, достаточно просто проверить на 80(на знак).
    1-7fh-не активный
    80-ffh-активный.
    получается справедлива ошибка и для второго.

    у меня есть даже вывод об отсутствии активного раздела)

    да и раньше они при ошибке чтения повторяли еще 4 раза. а щас места не хватило)

    я похож на зациклившегося, но это факт. это видно сразу как глянешь на размер. ведь в старых mbr были две проверки с 0 и 80 отдельно. а все остальное считали ошибочным(стандартный mbr dos).
     
  14. MisHel64

    MisHel64 Member

    Публикаций:
    0
    Регистрация:
    9 мар 2011
    Сообщения:
    182
    Что совпадает с мнением микрософта.
     
  15. MisHel64

    MisHel64 Member

    Публикаций:
    0
    Регистрация:
    9 мар 2011
    Сообщения:
    182
    Ты так и не ответил на вопрос, зачем тебе это надо.

    Да. И это работает.
     
  16. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Не факт, что это сделано из-за нехватки места. Там по размеру много чего можно соптимизировать. Раньше они и DL не использовали, а теперь используют. Короче все списали у меня )))
     
  17. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    нельзя во всем роняться на тех кто сам не скем не считается.
    откуда тогда недопустимые значения 1-7fh. почему не просто проверка на наличие бита 80.
    все что с ним(80-ff)-активный
    без(0-7f)-не активный.

    если вы бит проверяете зачем вы и такой гигант делают на 1-7f.
    да для экономии и только. иначе тогда вообще ошибки нет только активный и не активный.
     
  18. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    - надо чтоб знать структуру флешки. я могу ее определить как fdd(через биос) а отформатирована она в hdd.
    я уже писал если флеха а fat то я проанализирую bpb и все пойму. но может быть и другая ФС-например ext2.там вообще в BR пусто или все что угодно и нет bpb.

    -работае потому что сам писал. и знаешь баг mbr. а другие утилиты пишет 80
     
  19. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    пошел форматировать диск 83h. посмотрю что будет на месте флага активности)
     
  20. abcd008

    abcd008 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2009
    Сообщения:
    616
    далеко не уходите. отпишу.