无忧启动论坛

标题: 新版grub4dos的--top参数能否用于RamXP? [打印本页]

作者: Climbing    时间: 2012-9-10 09:46
标题: 新版grub4dos的--top参数能否用于RamXP?
我的机器有4G内存,我用winvblock制作了一个内存运行的的精简XP,映像文件是768M。由于这个XP是32位的,所以只能访问机器的3G左右内存。

正常启动时我用下面的命令:
map --mem /ramos.img (hd0)
...

这样启动能够正常启动,但机器内存就只有2.24G了。我在考虑,既然有1G内存XP访问不了,能不能将ramos.img加载到这不用的1G内存上。后来我查到新版的grub4dos(0.4.5)中有一个--top参数,于是我尝试这样加载:

map --mem --top /ramos.img (hd0)
...

但启动时出现了7B蓝屏错误,很显然,grub4dos确实支持将ramos.img加载到高位内存,但恐怕winvblock不支持访问这段内存。

不知道大家对这个问题有没有研究,有没有成熟的解决方案?
作者: 天使的魔翼    时间: 2012-9-10 10:31
确实存在这个问题,但一直以来没有一个成熟的方案来解决;现在能看到的解决方法基本上是走曲线解决。

另外,从YLMF的BBS上看到过一种解决方法:首先分配内存,将未使用的标记后,再将RAMOS载入,再次读入标记,将RAMOS引导正常启动。
大概就是这个模式,但是别人做的是一个WIN7 32位内存系统,而且是过度精简的,我反复在6G内存的电脑上测试,发现会出现蓝屏(概率在30%左右),而在一台08年的兼容机上使用(AMD 4800+ 技嘉PM6),则可以完美解决正常进入系统。

我对RAMOS系统不熟悉,基本上都是参考本论坛上的做法来搞定的,我所讲的有误的地方,请大家指正。
作者: Climbing    时间: 2012-9-10 11:06
标题: 回复 #2 天使的魔翼 的帖子
你所谓的:
从YLMF的BBS上看到过一种解决方法:首先分配内存,将未使用的标记后,再将RAMOS载入,再次读入标记,将RAMOS引导正常启动。


是怎么一个做法,我试试。或者把相关的命令贴出来。

谢谢!我觉得关键还是winvblock有问题,它本身是32位的驱动,应该无法访问高位内存。但是,话说回来,CCF的RRamdisk驱动,也是32位的驱动,它就是将xp无法访问的内存虚拟成内存盘来供系统使用的。所以,关键还是winvblock的设计上可能有需要改进的地方。

[ 本帖最后由 Climbing 于 2012-9-10 11:09 编辑 ]
作者: xianglang    时间: 2012-9-10 11:18
石头的内存,在G4D中三项内存显示中,最后一项显示是多少?如果将镜像缩小到内存第三项显示值内,RAMXP是否正常?另外,换下FIRADISK试试。
作者: 不点    时间: 2012-9-10 11:29
标题: 回复 #4 xianglang 的帖子
是的,世界并不完美。有时候被迫得使用另外一种方法。被迫试验,也是一种痛苦。人是摆脱不了此类痛苦的。
作者: Climbing    时间: 2012-9-10 11:34
什么三项内存显示?不了解。

我是第一次做内存运行系统,以前没有太接触过(以前用过无盘天使,不过很久以前的了,还涉及不到这个问题),如果将winvblock换成firadisk,是否需要先禁用winvblock。
作者: 不点    时间: 2012-9-10 11:38
三项内存是指 grub4dos 屏幕顶行显示的常规内存、1M至4G 之间的内存以及 4G 以上的内存,这三个项目。
作者: xianglang    时间: 2012-9-10 11:43
如果第三项是0,那就看看第二项是多少——据说有些电脑,虽然显示很大,但是其中连续的不够大,MAP太大的镜像也可能会出问题。
作者: 不点    时间: 2012-9-10 11:47
石头的不像是这个问题,因为他加载在 4G 以下是成功的。他已经成功加载到 4G 以上了,说明在 4G 以上有足够的内存。

他的问题可能与 winvblock 有关。
作者: sratlf    时间: 2012-9-10 13:05
winvblock驱动本来就不支持高位内存  想用--top参数的话只能换用firadisk驱动
作者: 不点    时间: 2012-9-10 13:32
标题: 回复 #10 sratlf 的帖子
你是这方面的 high hand,我从未使用过 firadisk/winvblock,所以,我就不知道了。

这样石头应该满意了。
作者: Climbing    时间: 2012-9-10 14:50
我觉得你们没有仔细看,我的机器一共只有4G内存,问题是:XP只能用到3G(有的能用到3.25G),3G-4G之间的内存属于什么内存。我想将我的映像文件加载到3G-4G之间这段XP不能使用的内存中,我知道这段内存有一部分被系统的硬件所占用了。至于详细的内存结构,例如最大的连续块有多大等,从来没有认真了解过。
作者: 不点    时间: 2012-9-10 15:32
标题: 回复 #12 Climbing 的帖子
我们都仔细了,只是你没仔细而已。

你有一点不了解:4G 内存会被主板 BIOS 重新分配地址。有一部分会被分配到 4G 以上的地址空间中。

前面 xianglang 提的问题,你没注意看,你也没给个答复。他问你, 4G 以上部分是多少?
作者: xianglang    时间: 2012-9-10 17:14
看看你XP能识别几G?如果识别为3.2G,那么镜像要MAP --MEM --TOP就不能大于 4G-3.2G=800MB——这是别人的经验,论坛上以前好多人说过的,我没有这样的条件去试。




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3