当计算机电源被打开后,它会先进行加电自检(POST),然后寻找启动盘,如果是选择从软盘启动,计算机就会查找软盘的0面0磁道1扇区,如果发现它以0xAA55结束,则BIOS认为它是一个引导扇区,然后BIOS就会把引导扇区的前512字节的引导代码拷贝到内存的0000:7c00处并将控制器彻底交给这段引导代码。
简单的引导代码如下所示:
以前记得用linux下的dd命令做过linux的启动盘,dd应该是可以制作的,于是在网上找了下dd制作映像文件,果然是可以的,制作方法如下:
1 先制作一个空的软盘映像文件diska.img(1.44Mb的软盘映像文件):
dd if=/dev/zero of=diska.img bs=512 count=2880
2 制作一个包含boot.bin的映像文件boot.img:
dd if=boot.bin of=boot.img bs=512 count=1
3 将diska.img中1个扇区后面的数据拷贝到boot.img的后面
dd if=diska.img of=boot.img skip=1 seek=1 bs=512 count=2879
这样就做成了一个大小为1.44Mb的包含引导代码的映像文件。
后面的事就好办了,直接在wmware创建一个空的虚拟机,在设置中将Floppy的路径设置为上面制作的引导扇区的路径就ok了,如下图那样:
设置Floppy连接,断开CD/DVD连接,启动虚拟机就可以看到下面的画面了:
总结:这个小的代码的编写和运行还是能让自己对系统启动有一个更深的认识,不过有个不懂的就是怎么用ISO镜像文件启动,怎么将引导代码写入ISO镜像文件,依然没有找到很好的方法解决。
新闻热点
疑难解答
图片精选