尽管于渊在第二版改为了linux下的实验环境,但因为大多数哥们拿一版的时候还是用xp,所以这里分析一下为什么于渊要搭建那样一个环境。

1 由于需要纯dos环境,所以虚拟机必须支持dos,所以ms收购的virtuaPC就无法使用了,ms够绝,就支持win系列,连msdos都不支持了。

2 由于需要经常把每一节的程序编译成com文件,放到dos中试验,所以当前操作系统与dos的共享交互就非常重要。此时早期的virtualPC,如:HA_ConnectixVirtualPC52_HZ里面就包含dos-addtition工具,能够做到dos与xp的共享文件夹设置。但是vmware却无法做到dos与当前系统的共享,虽然有方法做到将文件拷贝到vmware下的dos中,但是太麻烦,不实时。

3 由于win7中没有设置boot.ini的地方,以前解决ConnectixVirtualPC52启动时的物理模式PAE问题,也无法解决(没有去google,win7的安全权限要求很高,我也懒得去修改系统的一些东西),所以win7中无法使用ConnectixVirtualPC52。

4 win7中装虚拟机来运行xp,然后在这个虚拟的xp中安装ConnectixVirtualPC52,再运行dos,发现无法启动。[ i dont kown how to get it]

 

因此如果你不在linux中作实验,最好的搭配就是:

1 操作系统winXp,修改boot.ini中的/noexecute=optin 为/execute,就是去掉no,这样不会报pae物理模式错误问题。

2 安装ConnectixVirtualPC52,这个版本还没有被微软收购,而且带有dos插件,使用方法下文介绍。

3 最好把需要的nasm等工具位置都写入环境变量,以在dos下使用时非常方便。

4 最好把dos与xp共享的文件夹的快捷方式写入右键菜单的sendto中,这样编译好一个com文件后直接右键发送到dos_xp_share文件夹中,直接在dos虚拟机中运行这个com就可以了。

 

附:

1 如何使用dos-addition工具,步骤:

  •   在vpc中启动pcdos
  •   选择floppy,插入Dos Additions.vfd
  • 然后在dos的c盘下会出现一个dosadd.bat,运行之
  • 此时,vpc的共享设置就可以使用了,选择xp下对应的文件夹,以及dos下的盘符,ok
  • 此时,在dos下访问刚才设置的盘符就可以查看xp下的文件夹了

2 如何在vmware下的dos中添加文件【不建议使用,但是可以知道】

   vmware功能还是很强大的,所以当你在一个vmware安装好的xp系统中,右键点击一个vmware可以使用的dos虚拟硬盘时,会发现有一个map..选项,选择之,弹出的界面中取消readonly,映射为xp中的一个硬盘,then copy sth into the dos disk,之后取消map,然后vmware中启动dos,就会发现东西已经放入硬盘。不过其不能动态拷贝,如果你不取消mop,vmware就告诉你dos disk无法lock,就无法boot,所以还是比较麻烦。

 

3 easybcd引导的xp中boot.ini文件可能没有/noexecute=optin,自己添加即可。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐