返回
打造专属 MBR,点亮屏幕显字符
见解分享
2023-12-05 16:50:11
踏入 MBR 世界
在操作系统开发的浩瀚世界中,MBR(主引导记录)扮演着至关重要的角色。它驻扎在磁盘的第一个扇区,负责引导计算机并启动操作系统。它的大小仅为 512 字节,但承载着引导过程的重任。
动手编写 MBR
现在,让我们动手编写自己的 MBR,这是一段汇编代码,将向屏幕输出一个字符。我们使用 NASM 汇编器,因为它是一款适用于此任务的强大工具。
[bits 16]
[org 0x7c00]
jmp short boot
boot:
mov ah, 0x0e
mov al, '1'
int 0x10
jmp $
times 510-($-$) db 0
剖析 MBR 代码
[bits 16]
: 声明代码将在 16 位模式下运行。[org 0x7c00]
: 设置代码在磁盘上的起始地址。jmp short boot
: 跳转到名为boot
的标签。boot:
: 标记引导程序的起始位置。mov ah, 0x0e
: 将ah
寄存器设置为 0x0e,表示将字符输出到屏幕。mov al, '1'
: 将al
寄存器设置为 ASCII 码为 '1' 的值。int 0x10
: 中断调用 0x10,将字符输出到屏幕。jmp $
: 无条件跳转到代码的开头,形成一个循环。times 510-($-$$) db 0
: 用 0 填充 MBR 的剩余部分,使其大小达到 512 字节。
编译和使用
将代码保存在名为 mbr.asm
的文件中并使用以下命令编译:
nasm -f bin mbr.asm -o mbr.bin
生成的 mbr.bin
文件就是你的 MBR 代码。使用磁盘工具将其写入磁盘的第一个扇区,然后重启计算机。
MBR 的奥秘
现在,让我们深入了解 MBR 的奥秘:
- 引导扇区(512 字节) :MBR 驻扎的磁盘第一个扇区。
- MBR 代码(446 字节) :包含引导程序和分区表的代码。
- 分区表(64 字节) :磁盘分区的信息。
- MBR 签名(2 字节) :标识有效 MBR 的 0xAA55 签名。
MBR 的作用
MBR 在引导过程中扮演着至关重要的角色:
- 确定活动分区。
- 将活动分区的第一个扇区加载到内存中。
- 将控制权交给加载的代码。
结语
恭喜你,你已经成功编写了自己的 MBR 并将其用于在屏幕上输出字符。这只是一个开始,随着你对操作系统开发深入了解,你将揭开 MBR 更深层次的秘密。