3

大家好,我正在Assembly 16 bit NASM windows 10 64 bit(具体来说)编写一个操作系统并将其编译为2个二进制.bin文件:
kernel.bin
boot.bin
你可能猜到boot.bin加载kernel.bin和做一个文件系统,没关系。但问题是我需要在真机上测试它来测试硬件的反应,而不仅仅是虚拟机!所以我得到了软盘(3.5" 1.44MB),这已经绰绰有余了,但是我尝试将引导加载程序(boot.bin)写入带有软盘USB驱动器的软盘的扇区0(驱动器和软盘正在以它们应该的方式工作! ) 我使用以下步骤将操作系统放在 cmd 中的软盘上:

format A:
nasm -f bin kernel.asm -o KERNEL.BIN` 
copy KERNEL.BIN A:\KERNEL.BIN  
debug boot.bin  
w 100 0 0 1  
q

它启动......但不正确:它说:

请删除所有媒体...按任意键重新启动...`

它重新启动到 Windows 10

问题

我怎样才能解决这个问题?我现在在 dosbox 中使用 dosbox 和 debug.exe(来自 windows 7 x32 的 debug.exe),例如:我复制内核并刻录加载程序,但它实际上可以工作!并加载我的操作系统!

4

1 回答 1

1

您的系统很可能是 EFI 或 uEFI 而不是传统的 BIOS,特别是如果它是在过去四五年内制造的。您可以在启动时检查系统配置(进入 BIOS 或 EFI 配置)并启用传统启动模式。

您的防病毒软件也可能会干扰您以静默方式写入引导扇区。检查这些日志并确保您的命令行是以管理员身份运行的。

于 2017-08-11T21:12:24.517 回答