从零开发操作系统:自定义引导

说明

本文为b站从零开发操作系统的实验,使用deepinv20系统

mbr.asm

编写启动boot.asm

org 7c00h; 告诉编译器程序加载到7c00处
mov ax,cs
mov ds,ax
mov es,ax
call Disp;调用显示字符串例程
jmp $
Disp:
    mov ax,BootMsg
    mov bp,ax
    mov cx,16
    mov ax,01301h
    mov bx,000ch
    mov dl,0
    int 10h
BootMsg: db "Hello,OS World!"
times 510 - ($-$$) db 0;将0这个字节重复510-($-$$)遍$:本行地址;$$:程序开地址;
dw 0xaa55;固定结尾

创建iso

nasm -f bin -o boot.bin boot.asm #编译
dd if=/dev/zero of=floppy.img bs=1024 count=1440 #创建空img
dd if=boot.bin of=floppy.img seek=0 bs=512 count=1 conv=notrunc #将程序写入img
mkdir iso
cp floppy.img iso/
genisoimage -quiet -V 'MYOS' -input-charset iso8859-1 -o myos.iso -b floppy.img  -hide floppy.img iso/ #创建iso文件

用VitrualBox加载iso文件

在这里插入图片描述

https://www.bilibili.com/video/BV18K411w7Z2?p=2
https://stackoverflow.com/questions/34268518/creating-a-bootable-iso-image-with-custom-bootloader

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值