kernel - 我无法从有效的可启动 USB 驱动器启动我的笔记本电脑
问题描述
我编写了一个非常简单的引导加载程序,它将字符“H”打印到屏幕上。我使用 qemu 对其进行了测试,它按我的意愿工作。但是,当我将文件复制到我的 USB 并尝试在我的真实计算机上从它启动时,我的电脑似乎没有将 USB 识别为可启动,它只是跳到下一个可启动磁盘,我将它设置为我的硬盘所以我的正常操作系统出现。我还在 qemu 上测试了 usb,它没有任何问题。以下是我所做的一些事情。
引导加载程序名称是 boot.bin,它是合法的 512 字节,相信我。
qemu-system-x86_64 boot.bin
上面的命令起作用了,我看到了引导形式的硬盘……后面是换行符,然后也打印了 H。
将 boot.bin 复制到 usb 我使用 dd 命令
sudo dd if=boot.bin of=/dev/sdb count=1
我在 qemu 上对其进行了测试,它qemu-system-x86_64 /dev/sdb
终于工作了
我刚刚开始探索编写引导加载程序,在美好的一天甚至可能是内核,但我什至无法从有效的 USB 引导加载程序启动。请帮忙。
引导加载程序的汇编程序。
mov ah, 0x0e
mov al, 'H'
int 0x10
jmp $
times 510 - ($ - $$) db 0
db 0x55, 0xaa
解决方案
推荐阅读
- flutter - Flutter InAppWebView 在发布模式下显示空白页
- ios - Charles Proxy iOS 坚持安装配置文件
- java - CameraX:动画缩放
- javascript - TypeError:即使定义了方法,“x”也不是函数
- python - Tkinter:对小部件使用 return
- javascript - React Native Text Input 在 android 上打字后改变高度
- jquery - jquery模态表单触发两次(随机行为)
- linux - grep 查找哪些模式不在文件中
- groovy - 使用 SoapUI 中的 Groovy 脚本运行宏/VBA
- r - 布尔值转换为日期 R