这是一个简单的非操作系统特定的汇编程序,旨在与我的PC架构配合使用。由NASM的Linux版本编译。我试图将它放入USB中,当我选择从BIOS引导USB时,它确实尝试从USB引导。但是没有任何反应。硬件继续运行,但我的程序应该在屏幕上打印字符。只有一个黑屏和左上角闪烁的白色光标(我认为它属于BIOS)。也许BIOS没有将我的“文件”视为启动扇区。这是USB内容(来自Win7的截图,不是英文,但您可以很容易地理解它):属性 我需要什么才能使USB驱动器可引导?我需要像主引导记录一样对其进行分区吗?
几年前,我成功地创建了一个可启动的Shell模拟器,它应该从USB驱动器启动。在解决问题时,我也遇到了很多困难,但为了实现这一点,您需要将MBR放置在驱动器的第一个扇区,作为您的引导程序,并带有特殊的引导签名,它必须是512字节长。从那里,您可以引导驱动器上包含其余可启动程序的任何其他扇区。因此,请确保您的引导加载程序代码正确并位于驱动器的第一个扇区。 http://wiki.osdev.org/Bootloader http://forum.osdev.org/viewtopic.php?f=1&t=20561 请确保您的系统支持USB启动功能,您可以从BIOS启动设置中轻松找到它。