您可以通过编写一个简单的引导程序来完成此操作.这篇OSdev文章向您展示了一种方法.
关于语言:任何编译语言(C/C++)都会被编译成机器代码,这也是1-1可汇编到汇编指令的代码.所以,原则上你可以用C/C++编写大部分的bootloader.
打印: "引导您自己的代码"的挑战当然是您没有任何驱动程序或任何标准库(因此,无printf功能或cout).但是,在x86中,低内存的某些部分(从...开始0xa0000)在引导时直接映射到视频内存,这意味着您写入此内存部分的字节将以文本的形式出现在屏幕上.
汇编程序的选择:这只是一个品味问题.对于简单的汇编语言引导加载程序,您需要避免生成的二进制文件的任何特定格式.nasm -f bin myfile.asm -o myBootsector将把代码组装成原始二进制文件.
这篇文章有更多细节.