自己动手写操作系统(一) 作者:伊梅 本文选自:开放系统世界——赛迪网 2002年10月10日 首先看到这个,但是这个是需要LINUX下的一些工具,又找了找,发现这个 走进程序世界的田园——引导扇区释疑 基本按照他的步骤和代码,但是代码修改了一下,步骤改进了一下:由于他的排版问题,有些编译通过不了 1、找个文本编辑器,输入 org07c00h; 告诉编译器程序加载到7c00处 2、下载NASM http://sourceforge.net/projects/nasm 输入NASM BOOT.ASM,得到BOOT文件http://www.shengfang.org/ 3、按照他的做法是找个软盘,写个程序,http://www.shengfang.org/但是我觉得这样太麻烦了。 找了一个软盘虚拟程序,virtual floppy disk,但是没有试验,因为我又想到了一个简单的办法 VMWARE和VPC都会带有一个虚拟启动软盘,你也可以用HDCOPY或者WINIMAGE等软件制作一个IMG文件。 然后用二进制编辑器ULTRAEDIT编辑该IMG软件,当然需要先复制一个备份比较安全。其实也可以用WINHEX直接编写软盘。http://www.shengfang.org/ 不过我用ULTRAEDIT好像不能复制粘贴十六进制数据,因此用了一个最土的方法 DOS下: COPY /B BOOT/B+PWIN98.IMG/B WW/B得到一个十六进制的混合文件,然后再用ULTRAEDIT删除掉0X200-0X400之间的数据。不过好像删除也不能用,我用的是CUT剪切 然后把这个文件用VMWARE或者VPC导入A盘 Connectix Virtual PC 载入映象文件。启动后就可以看到效果了。http://www.shengfang.org/ 不过我估计应该可以直接写一个1.44M的十六进制文件即可,需要1,474,560 字节,也就是说 写入 WRITEFILE BOOT 的512字节后,后面再补充,应该是可以的。 WRITEFILE也可以直接写软盘,主要是CREATEFILE函数要打开 \\\\.\A: 设备,我用WINOBJ查看之后,觉得应该也可以打开\device\floppy0也是可以的。 总结了这么多,WINDOWS下也可以方便的使用各种方法自己试验操作系统引导了。329 d:\>debug boot.bin 字体:大 中 小 |
![]() | 永久地址 http://www.shengfang.org/blog/p/windows0x55aa.php |
![]() | 引用地址 http://www.shengfang.org/blog/tb.php?tb_id=1114574944 |
2005年4月27日12:09星期三 [Dev开发]





