На самом деле есть два MBR. Первый - главная загрузочная запись (MBR), а второй - объемная загрузочная запись (VBR). Оба участвуют в начальной загрузке операционной системы. Таким образом, структура MBR отличается от VBR - MBR в основном начинается с вашего кода сборки и заканчивается информацией таблицы патрирования, VBR начинается с перехода к вашему коду сборки, который помещается после некоторой информации о томе. При запуске системы она считывает MBR в память по физическому адресу 0x7c00 и переходит на этот адрес. Предполагается, что ответственность MBR состоит в том, чтобы прочитать таблицу разделов (загруженную вместе с MBR как ее часть) и найти фактический том (диск, такой как C, D, E, ... в терминах Windows), где операционная система должна быть. После того, как MBR обнаружил том ОС, он снова загружает VBR по адресу 0x7c00 и затем переходит на указанный адрес. Теперь VBR считывает информацию о томе (загружается вместе с ней как часть) и решает, где найти код начальной загрузки операционной системы. После принятия решения VBR загружает код начальной загрузки ОС и переходит на его начальный адрес.
Имея эту информацию, вы можете видеть необходимые знания загрузчика записи. По крайней мере - вы должны знать, какую загрузочную запись вы пишете (MBR или VBR). Затем вы можете прочитать о его структурах данных и написать код, способный читать их и загружать следующий фрагмент кода начальной загрузки.