Как написать boot-сектор для FAT32

Тема в разделе "WASM.BEGINNERS", создана пользователем Sunday, 23 фев 2009.

  1. Sunday

    Sunday New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2008
    Сообщения:
    5
    Поделитесь инфой. В сети нашел исходники загрузочных секторов только для дискет, а нужен для флешки.
     
  2. S_Alex

    S_Alex Alex

    Публикаций:
    0
    Регистрация:
    27 авг 2004
    Сообщения:
    561
    Адрес:
    Ukraine
    Особых отличий нет.
    Нужно только правильно указать геометрию диска.
    Можно записать образ дискеты на флешку, и получим загрузочную Флеху-Дискету.
    Только потом форматить на прежний размер нужно спец. тузлой.
     
  3. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    хотя больше проблем будет с файловой системой чем с размещением загрузочного сектора на флешке. К примеру WinHEX'ом можно спокойно его там разместить, главное не потереть лишнего, а вот написать программу, влазящую в один сектор, окажется задачей не тривиальной
     
  4. Sunday

    Sunday New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2008
    Сообщения:
    5
    А как на счет исходника? Может есть у кого?
     
  5. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Дизассемблируй любой виндовый загрузчик и будет тебе исходник. Загрузчик для FAT32 в 512-ти байтах вполне можно разместить, хотя в этой файловой системе допускается использовать бутблок и большего размера, правда, в этом случае может потребоваться переформатирование. Образ флоппика размещать на флешке не стоит, так как сейчас практически все флешки имеют структуру жесткого диска, т.е. содержат MBR с таблицей разделов - портить такую разметку флешки и использовать лишь малую часть ее пространства нет никакого смысла.
     
  6. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Phantom_84
    Не любой, а FAT 32. А во вторых есть исходники винды.

    Sunday
    Исходников полно стоит только поискать.
     
  7. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Понятно, что FAT32. Мы вроде бы именно об этом говорим. Лично у меня оригинальных исходников дискового загрузчика нет. Если у тебя есть, то выкладывай. Понятно, что есть исходники винды, так как думаю, что в MS в двоичных кодах программы уже давно не пишут, хотя в этом я могу и ошибаться :)
     
  8. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Вот, кстати, нашел у себя в архивах полученный хакерским путем исходник от Win98.
     
  9. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Посмотрел на исходник... похоже он универсальный, т.к. там есть даже флоппик-специфичный код для подмены таблицы параметров дискеты. Во люди дают :)
     
  10. reverser

    reverser New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2004
    Сообщения:
    615
    http://mirror.href.com/thestarman/asm/mbr/MSWIN41.htm
     
  11. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Если просиш то выкладываю. Исходникии от NT4.
     
  12. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Опа, у меня эти странички тоже частично есть... Вспомнил только тогда, когда посмотрел, перейдя по ссылке, - уж слишком оригинальный способ оформления использует аФтАр :)
     
  13. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    Pavia, просит аФтАр топика, причем еще со вчерашнего дня... Но мне тоже интересно посмотреть, спасибо :)
     
  14. Phantom_84

    Phantom_84 New Member

    Публикаций:
    0
    Регистрация:
    6 июн 2007
    Сообщения:
    820
    В продолжение темы...

    По просьбе нескольких близких мне людей я сделал MBR-загрузчик alter, который позволяет выбрать один из двух загрузочных разделов прямо на лету, что отлично подходит для тестирования самописных дисковых загрузчиков для разделов харда на реальном железе. Можете тестить смело, т.к. alter - это практически оригинальный MBR-загрузчик для WinXP - от меня добавлено только 32 байта кода (по смещению 32) и 2 байта данных, расположенных непосредственно перед таблицей разделов и расширяющих возможности MBR. Принцип установки и работы простой: заменяете оригинальный MBR-загрузчик (первые 440 байт) alter'ом, в байт перед таблицей разделов помещаете номер альтернативного раздела (1-4), перезагружаетесь и при загрузке держите клавишу Alt - идет загрузка с альтернативного раздела, не держите - с активного.

    Структура MBR-раздела с alter'ом:
    440 байт - код alter'а.
    4 байта - не меняем.
    1 байт - сюда помещаем 8.
    1 байт - сюда помещаем номер альтернативного загрузочного раздела (1-4). Если в этом или предыдущем байте находится 0, то дополнительный функционал alter'а отключается и выполняется загрузка с активного раздела. Значения 5-255 для данного байта дают этот же эффект, однако их использовать не рекомендуется, т.к. в другом моем MBR-загрузчике jumbo эти значения magic number имеют другое назначение.
    64 байта - не меняем - это таблица разделов.
    2 байта - не меняем - это MBR-сигнатура 0x55, 0xAA.
     
  15. ZugDuk

    ZugDuk New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2009
    Сообщения:
    3
    Phantom_84
    А может сделаешь MBR-у чтобы можно было выбирать с какого из 4-ех основных разделов загружаться ? (нажимая клавиши от 1 до 4-ех например) ?

    Полезная софтина бы вышла, а то бывает какой нить Grub заберется в бутсектор своего раздела, выщемляй его потом оттуда. А тут раз и загрузился.
     
  16. ZugDuk

    ZugDuk New Member

    Публикаций:
    0
    Регистрация:
    8 июн 2009
    Сообщения:
    3
    А если ничего не нажал, то грузится как обычно с активного раздела. Так можно спрятать целую операционку, что и не видно, что она есть.
     
  17. Phantom_84

    Phantom_84 New Member

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

    Правильно мыслишь. Именно так альтер и используется. Только разделы "более привилегированной" системы от постороннего глаза следует скрывать на уровне управления дисками Windows, а не на уровне традиционных дисковых менеджеров, использующих для сокрытия разделов особые значения поля "тип раздела" в таблице разделов.

    Зы :) Решил раскрыть одну фишку. Байтовое значение перед magic number (номером альтернативного раздела) определяет используемые для выбора раздела клавиши. Можете экспериментировать, заменяя значение 8 на другие :)