硬件环境:
CPU:Althon64 3000+
内存:Kingstone 512*2
主板:Abit KV8 PRO
软件环境:
OS:WINXP SP2
近日为了做公司的项目安装了eVC的开发环境,安装过程中发现了WINCE4.2模拟器与PAE(物理地址扩展)之间存在的冲突。WINCE4.2模拟器会在WINXP中安装一个名叫“Virtual PC Application Services”的驱动程序,在安装这个驱动程序的时候WINXP报这个驱动会使系统产生不稳定,然后自动不让这个驱动生效。这个驱动不能用,自然也无法用WINCE4.2模拟器调试程序。
从下面这个网页知道了发生冲突的原因:
http://support.microsoft.com/default.aspx?scid=kb;en-us;883989
但根据MS提供的解决方法,在我的C:\Boot.ini中找不到/PAE选项。
不过,想到自己还在VMWARE里面装了一个WIN2KPRO呢,WINXP下面不行,我就去WIN2K下面试试。
可是在VMWAREWIN2K中发现WINCE模拟器启动以后,里面一直黑屏,防火墙ZA关了都一样。最后,只能认为WINCE模拟器不能在VMWARE中运行,这条路也走不通。
这时候我还想,既然eVC和WINCE模拟器都是MS开发的,那么Virtual PC应该能支持的好些。可觉得还要在Virtual PC里面装个OS,实在麻烦。
那么先google一下有没有禁用PAE的方法,终于在下面这个页面里找到了。
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;875352
把C:\Boot.ini中的/noexecute改为/execute,重启,PAE功能就被禁用了,开发的程序也能顺利的在WINCE模拟器中进行调试了。
另外,根据资料发现PAE主要是使系统能使用4GB以上的内存,而且是使用DEP(数据执行保护)的前提条件,所以禁用PAE能提高系统的兼容性,不会对系统效率造成太大影响,只是使系统有些不安全。
MS推荐一种能够针对指定的应用程序不使用DEP的方法,但我这边与PAE发生冲突的是一个驱动程序,还不知道怎么对一个驱动程序进行设置,具体方法在寻找中。