Как установить загрузочный раздел с помощью прерываний BIOS - PullRequest
0 голосов
/ 13 июня 2018

Windows позволяет вам установить определенный раздел диска для загрузки.Настройка загрузочного раздела позволяет мне запускать пользовательский загрузчик, который я сделал при следующем включении компьютера.Тем не менее, я не могу сделать это, пока не смогу установить загрузочный раздел обратно в загрузочный раздел Windows из моего загрузчика.Что такое прерывание BIOS (или другой метод), позволяющее мне установить загрузочный раздел из моего загрузчика (программа реального времени x86)?

1 Ответ

0 голосов
/ 13 июня 2018

Для этого нет прерывания BIOS.Вам нужно установить флаг активного раздела для раздела, который должен загружаться.Этот флаг хранится в первом байте каждой записи таблицы разделов.Если байт равен 80h, раздел активен, если это 00h, раздел не активен.Обратите внимание, что не более одного раздела должен быть активным.Вот что вам нужно сделать:

  • Загрузите MBR с диска или предположите, что это в 0000: 0600, где MBR обычно перемещается сам.
  • Проверьте байты всмещение 01beh, 01ceh, 01deh и 01eeh, чтобы увидеть, какой раздел активен
  • Установите для всех этих байтов значение 00h, за исключением одного
  • Записать MBR обратно на диск.Поскольку MBR всегда является первым сектором диска, вы можете безопасно использовать Int 13h / AH = 03h , чтобы упростить ваш код.
...