这是一个简单的非操作系统特定的汇编程序,旨在与我的PC架构配合使用。由NASM的Linux版本编译。
我尝试将其放入USB中,当我选择从BIOS中启动USB时,它确实尝试从USB启动。沉默。硬件一直在运行,但我的程序应该在屏幕上打印字符。只是一个黑色的屏幕,左上角有一个闪烁的白色光标(我认为它属于BIOS)。
也许BIOS没有计算我的"文件"作为引导扇区。
以下是USB内容(来自Win7的截图,不是英文版,但您可以很容易地理解它是什么):
属性
答案 0 :(得分:2)
几年前,我成功创建了一个可启动的shell模拟器,应该从USB驱动器启动,我也被多次搞清楚问题,但为了实现它,你需要把MBR放到作为你的启动程序在驱动器的第一个扇区,具有特殊启动签名,它必须是512字节长,从那里你可以启动驱动器上任何其他扇区,其中包含你的其余可启动程序。因此,请确保您的引导加载程序代码正确并且位于驱动器的第一个扇区。
http://wiki.osdev.org/Bootloader
http://forum.osdev.org/viewtopic.php?f=1&t=20561
另外,请确保您的系统支持USB启动功能,您可以轻松地从BIOS启动设置中找出它。