Как отличить MBR от boot-сектора?

Тема в разделе "WASM.ZEN", создана пользователем Stariy, 2 июн 2008.

  1. Stariy

    Stariy Member

    Публикаций:
    0
    Регистрация:
    22 окт 2003
    Сообщения:
    529
    Адрес:
    Russia
    вроде прямо об этом нигде не говорится... хотя это логично...
     
  2. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    скорее всего не хочет. Ядро linux, например, не ищет никаких таблиц разделов на флоповоде. Более того, нумерация fd* устройств не предусматривает номеров под разделы. То есть если очень захочется прикрутить, придётся как-то выкручиваться через loop устройства.
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Да, вообщем-то, винда Afair тоже не ищет. Первый сектор считается бутсектором и там ищутся признаки файловой системы.
     
  4. abcd008

    abcd008 New Member

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

    Stariy Member

    Публикаций:
    0
    Регистрация:
    22 окт 2003
    Сообщения:
    529
    Адрес:
    Russia
    провел анализ разных дисков и флэшек, посмотрел, с чего начинается мбр и бутсектор обычно. Алгоритм теперь такой - первым делом смотрим наличие в конце сектора 55 aa, затем смотрим наличие сигнатуры в начале, не более 5 байт. Если сигнатура не совпадает с характерными для мбр, то считаем этот сектор похожим на бутсектор. Если совпадает, то смотрим, по какому смещению начинается первый раздел, считываем сектор оттуда и считаем его похожим на бутсектор. Алгоритм проверки сектора, похожего на бутсектор: проверяем в конце 55 аа, затем смотрим несколько байт в начале на предмет похожести на характерные для бутсектора, если совпадает, то парсим бутсектор и смотрим, чтобы размер сектора был кратен 512, а размер кластера был кратен 2. Если все это выполняется, то бутсектор считается найденным. Как-то так. На оптимальность не претендую, но это работает уже третий год и вроде не глючит.
     
  6. zicker

    zicker Member

    Публикаций:
    0
    Регистрация:
    23 дек 2008
    Сообщения:
    132
     
  7. Stariy

    Stariy Member

    Публикаций:
    0
    Регистрация:
    22 окт 2003
    Сообщения:
    529
    Адрес:
    Russia
    На практике иногда попадаются флэшки, на которых есть мбр. Нафига она там - не знаю.
     
  8. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Так можно флешку на несколько разделов разбить, правда пользы особой нет, т.к. стандартные ОС ее вроде не анализируют. А вот на USB-дисках смысл есть.