Шрифт:
Лучше всего загрузчики программируются на FASM. С точки зрения ассемблера загрузчик представляет собой обыкновенный двоичный файл, предельно допустимый объем которого составляет
Как уже говорилось, BIOS загружает MBR по адресу
Обнаружив загрузочный раздел (а обнаружить это можно по флагу
Не забывайте, что трогать регистр
По правде говоря, FASM — это единственный известный мне ассемблер, "переваривающий" команду дальнего вызова
В общем, скелет нашего загрузчика будет выглядеть так, как показано в листинге 5.8.
Листинг 5.8. Скелет простейшего загрузчика, написанный на FASM
Под старушкой MS-DOS записать свой загрузчик в MBR было просто. Для этого достаточно дернуть прерывание
Законченный пример вызова
Листинг 5.9. Открытие непосредственного доступа к жесткому диску под Windows NT
Открыв физический диск и убедившись в успешности этой операции, мы должны прочитать оригинальный MBR-сектор в буфер, перезаписать первые
Правда, вполне возможно, что внесенные вами изменения и не подумают вступать в силу. Загрузчик жестоко мстит за малейшие ошибки проектирования. Поэтому, чтобы не потерять содержимое своих разделов, для начала лучше попрактиковаться на VMWare или любом другом эмуляторе PC.
Под Windows 9x, разумеется, трюк с