看Linux0.11源码分析书籍,补充知识

在看本书的时候, 很多CPU或汇编或操作系统的知识太欠缺了, 所以补充看了一下  x86汇编语言  从实模式到保护模式

里面用了bochs来跟踪调试汇编代码.

但是书里用了  vhd来承载引导程序, 其实跟IMG镜像倒是区别没那么大.

作者提供了一个写入VHD的小工具, 而VHD的生成, 其实更简单, 就是在 WINDOWS系统里面, --- 设备管理器 ---磁盘管理  创建一个固定大小的VHD就可以了.

只不过, bochs.bxrc配置文件要跟着改一下

 

 那个写入的小程序, 里面有提示的,按照显示的大小改一下这个就可以了

(windows下要管理员启动才行, )

同时, 可以把需要的文件都拷贝出来, 在自定义的路径下去执行run.bat,也不是不可以(注意一些文件的路径就好)

 

例如:

 

 可以直接在 bochsrc.bxrc上右键, RUN即可.

 

下面是VHD的简单介绍,  可以看出来, 跟img映像,只是多了尾部信息而已.  (这么说不太准确, 就这么理解就完事儿了,反正只是硬盘,用扇区来读, 至于内容是什么, 只有OS才关心)

https://www.twblogs.net/a/5c7792b5bd9eee33991840b2/zh-cn

 

参考资料: 《x86汇编语言-从实模式到保护模式.pdf》 
                   《Virtual Hard Disk Format Spec_10_18_06.doc》

     《x86汇编语言》中 “第4章 虚拟机的安装和使用”,通过虚拟机创建虚拟硬盘,然后用工具修改虚拟硬盘,写入程序,最后启动虚拟机观察运行结果。该方法缺点是不便调试,推荐使用Bochs,方便调试。Bochs需要加载Image格式镜像。

       如下是虚拟硬盘VHD格式(固定大小)和Image镜像格式的对比。VHD格式只是多了一个Footer fileds:
Image格式似乎没什么特殊的,只是要求第一个扇区最后的两个字节必须是0x55、0xAA。

Footer fileds在规范中有详细说明,其中开头8个字节为Cookie字段,固定为字符串“conectix”。

 

posted @ 2020-04-16 14:06  姜大伟  阅读(660)  评论(0编辑  收藏  举报