做一个自己的操作系统-搭建操作环境
26 分钟前
一、新建vhd磁盘
1.win+R 输入(cmd)进入命令行 输入diskpart
2.创建自己vhd磁盘起名为dingst.hvd输入代码 这文件创建到D盘根目录下了把他移动到你的想项目里 我后面移动到oscode文件夹里了 这里需要注意
create vdisk file=d:\dingst.vhd maximum=10
3.可能出现的错误 我之前创建过就会出现如图情况
二、用notepad++裸写环境让vhd启动起来
1.下载notepad++ 进入官网下载自己电脑对应的版本notepadd++下载地址
Notepad++notepad-plus.en.softonic.com
2.打开notepad++ 新建一个文档保存.asm我的文件名为hello
3.直接复制这段代码到你的项目文件 首先咱们先把环境搭建好,在学习后面的那些代码的意思你可以大概看下以后都会讲注释分号后面的是注释(notepad++注释)
org 07c00h;高速编译器把程序加载到7c00当BROS检查完毕后跳转到这个程序厂商约定好的
mov ax,cs;把代码寄存器放到ax里面去
mov ds,ax;mov是汇编指令把所有的初始8086x86架构机器的寄存器对其位置
mov es,ax
call Disp;调一个call函数表示显示
jmp $;跳到此停住CPU不在运行在此等待 $表示停在此处无线循环 Disp一定要有冒号大小写和上面的一样
Disp:
mov ax,BootMsg;调Bros的约定 把参数写好 Bootmsg是后面的标签
mov bp,ax;按照汇编手册一条一条的设置寄存器谋一个状态 对当前BROS所针对的所有外设进行设置 把设置设置好了机器就显示了
mov cx,16;16代表Bootmsg长度
mov ax,01301h;汇编手册 字体颜色为红色
mov bx,000ch;表示十六进制
mov dl,0
int 10h;表示调第10号中段
BootMsg: db "Hello, OS World!"
times 510 - ($-$$) db 0;一共512个字节留最后2位 减去$后剩下字节全部用0来填充
dw 0xaa55;这些都是约定 剩下的两位要填的东西
;把前面的512个字节通过我们下面提供的往HDR写的小工具写到vhd磁盘中区那些磁盘被BROS加电自检的时候就能看到这里面的内容
4.这个段代码实现的效果是红色字体的helloword 如下图
5.win+R 输入(cmd)进入命令行中 输入(D:)进入D盘记得要带冒号 输入(cd oscode) 进入oscode的文件夹 传动后面后空格 输入(cd nasm2)
nsam是把.asm文件转化为二进制文件点击链接下载工具包
进入nasm2的文件夹输入(dir)查看文件夹的文件内容找到nasm.exe文件————对应目录根据自己的目录进入
6. 输入(nasm d:\oscode\hello.asm d:\oscode\boot.bin)运行nasm程序将hello.asm文件编译成boot.bin二进制文件 vhd磁盘上只能写入二进制文件
在我分享文件里 工具的文件夹里找到dd.exe文件复制到你的 用来把二进制文件写入vhd磁盘里点击链接下载工具包
利用上面的dd.exe把boot.bin二进制文件写入磁盘
win+R 输入(cmd)进入命令行进入到oscode文件夹注意一定要在这个文件夹下操作因为你所需的文件都在这个里面 输入
dd if=d:\oscode\boot.bin of=d:\oscde\dingst.vhd bs=512 count=1
把boot.bin文件写入dingst.vhd磁盘里 注意1+0一定要写成功
这样就已经写入进去了
三、现在就把刚刚敲的代码在oracle 的虚拟机上运行oracle VM VirtualBox下载地址
Oracle VM VirtualBoxwww.virtualbox.org
打开orcale新建名称不要有中文会出现乱码 类型选择0ther 版本选择other
导入文件内存不要设置太大咱们主要学里面的内核
导入你的vhd磁盘文件文件
运行看到红色helloword证明就成功了吼吼流弊克拉斯
后面和大家分享如何一步一步的完成自己的操作系统及其内核的原理