HyperIris 发表于 2007-10-3 13:06

小白鼠的4G内存(第二蛋)

HyperIris 原创,发表于http://bbs.stage1st.com 谢绝转载

事件起因:
http://bbs.stage1st.com/thread-301418-1-1.html

经过漫长的准备 :awkward:我找到了Windows Server 2003 x86/x64 和 Vista x86/x64 今天挨个装了一遍。

首先刷最新的主板BIOS,最新的 Adaptec 2100s SCSI RAID BIOS。

安装过程就不说了,哪个好人没装过windows。:awkward:

最后只有 Windows Server 2003 R2 Enterprise x86 勉强能够安装成功(第一次重启磁盘文件错误),其余都是安装过程中format c直接出错。

并且这个系统安装完成后,安装螃蟹声卡驱动后直接蓝掉。:awkward:

好在我还插了个sb live,用的老毛子强大的kx driver。

HyperIris 发表于 2007-10-3 13:30

HyperIris 原创,发表于http://bbs.stage1st.com 谢绝转载

原因分析:

1 x86架构本身的局限性,导致了如果需要访问大内存,必须开启处理器的PAE物理地址扩展(三级页表),并且以64位寻址来访问所有的物理内存。

背景知识:PC上 PCI/PCIE设备和其他比如BIOS和显存都需要映射一部分物理地址空间进行IO操作,这导致了对应地址的物理内存不可访问,现在的硬件通过把高位(比如2.5~~4G的物理地址)内存映射到大于4G的地址来确保所有的内存都可以被识别访问。由此带来的问题就是操作系统和驱动都必须支持PAE,Win2000 server以上和linux都支持PAE,但是都需要一定的专门配置。

开启PAE以后,WIndows内核向驱动程序展示的就是64位地址,由于第三方总有些傻逼的驱动无法处理这种内存,所以导致了大内存系统的种种问题。

Windows XP 虽然支持PAE,但是微软出于第三方驱动兼容和稳定性的原因,将 XP 所能访问的物理地址空间强制限制在4G以内,于是实际能看到的内存就是3.5G之类的。

由于不可能给Server系统强加上这种限制(不能插大内存的server谁买!?),所以副作用就是server系统要求更健壮的驱动。:awkward:

2 经过这一段时间查找有关资料,我发现Adaptec ASR-2100s 使用的是 I2O 技术,基本上已经于 2003 年失去技术支持。

以上两点加上安装系统时的表现可以基本确定 Adaptec ASR-2100s 的 scsi miniport 驱动存在64位寻址问题,也就是 dpti2o.sys 不行。由于 adaptec 已经停止技术支持,所以有三种解决方法:

用小内存和32位系统,大家都happy
把这卡扔了,我不happy
自己写驱动,这个有点宅过头了

所以目前没有什么好的解决办法,我只有一台机器,现在写这个驱动没法调试。

另外,螃蟹牌的是渣,如果螃蟹牌不是渣,那世界上就没有渣。这种销量大而且年代很近的硬件,驱动竟然也这么烂,显然也是不支持大内存系统,还不如老毛子在家自己写着玩的 kx 。我不信螃蟹驱动比 kx 还复杂。


总结:还是要看rp :awkward: ,其实主要是硬件驱动的问题,那些火星和山寨厂的硬件就不要指望太多了。

HyperIris 原创,发表于http://bbs.stage1st.com 谢绝转载

tsyat 发表于 2007-10-3 13:33

和SCSI RAID 驱动有关系吧。

我比较新的机器,什么都没有特殊设置,直接4G内存装vista 64就正常的,不过因为一些应用程序的原因不好用,又装回来了xp 32。。。
页: [1]
查看完整版本: 小白鼠的4G内存(第二蛋)