小白鼠的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 原创,发表于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 谢绝转载 和SCSI RAID 驱动有关系吧。
我比较新的机器,什么都没有特殊设置,直接4G内存装vista 64就正常的,不过因为一些应用程序的原因不好用,又装回来了xp 32。。。
页:
[1]