中国开发网: 论坛: 程序员情感CBD: 贴子 585980
haitao
gavotte内存盘使用FA
gavotte内存盘使用FA
2006-08-23 作者:■ 长沙 李云浩 来源:cfan.com.cn

  
本刊在第6期《入侵内存——用RAMDisk制作虚拟内存盘》一文中介绍了功能强大的免费虚拟内存盘RAMDisk的使用方法,在文章刊登后,受到了很多读者的欢迎。该文作者整理了一些比较经典的读者问题,如果你在使用这款软件时遇到了麻烦,那么可以看看下面的文章(本文中的“我”为作者本人)。
问:gavotte的内存盘有什么软件兼容性的问题吗?
答:我用的软件比较多了,似乎没有发现和内存盘冲突的软件。

问:在日常使用内存盘时,除了要防止断电外还要注意什么?
答:我所在地区电压比较稳定,很少断电,而且我是在Windows 2003 Server上运行的,比较稳定,一般都不关机,仅仅是休眠,这也是某种意义上的连续运行。
特别要注意的是重要数据不要在内存盘上进行操作,否则一旦操作系统突然死机,或电脑断电,损失将是无可挽回的。另外,如果你的内存过小,建议不要使用内存盘,以免系统更慢。除了这些外,没什么特别需要注意的了。

问:如何实现内存盘的关机自动保存,开机后回复到上一次关机的状态?
答:这需要在Windows的组策略里增加启动、关机脚本功能。具体的设置方法如下(以镜像文件保存为aaa.img为例):
首先,打开“记事本”编辑器,制作名为LoadImage.bat的批处理文件,文件内容为D:\RAMDisk\RAMDisk.exe /L aaa.img;再用“记事本”建立一个SaveImage.bat的批处理文件,文件内容为D:\RAMDisk\RAMDisk.exe /S aaa.img;然后,按WIN+R,打开“运行”窗口,输入“gpedit.msc”(不含引号)后回车,打开“组策略”编辑器。依次展开“计算机配置→Windows设置→脚本(启动/关闭)”,双击窗口右侧的“启动”项,然后用“添加”按钮(见图1),将“LoadImage.bat”加入为启动脚本(参数不需要添加),这样每次启动时系统都会自动加载镜像文件aaa.img。用同样方法将SaveImage.bat加到“关机”脚本中。




这样每次关机时,RAMDisk都会把内存盘的内容自动存储到镜像文件aaa.img中,下次开机时再载入该文件。要注意两个批处理文件中RAMDisk.exe及aaa.img的保存路径要写完整。

问:从“命令提示符窗口”启动RAMDisk程序时,该窗口就被锁定了,必须关闭RAMDisk程序才能继续在控制台输入命令,我该怎么办?
答:你可以在“命令提示符窗口”用Start RAMDisk.exe命令来调用RAMDisk,这样RAMDisk运行后,控制台可以继续输入命令。建议你直接在“资源管理器”中调用。

问:能同时虚拟两个盘吗?一个软驱,一个硬盘。
答:很遗憾,目前还不能,gavotte的RAMDisk没有这个功能。如果你很需要这个功能,可以用FileDisk(支持Windows 2000/XP)虚拟一个软驱出来,下载地址为http://www.acc.umu.se/~bosse/filedisk.zip,使用说明可以参考http://www.acc.umu.se/~bosse/上的相关内容。然后,再用RAMDisk虚拟一个硬盘。

问:能否在没有真实软驱的情况下,制作杀毒软件的杀毒磁盘,或者运行一些需要使用验证钥匙盘才能使用的软件?
答:如果软盘没有什么特殊加密的手段,那就可以,如果软盘使用了加密磁道数据之类,那就无法模拟了。至于验证用的钥匙盘,有些恐怕不行,但有些是可以使用的。

问:RAMDisk虚拟内存盘是否可以自动调整大小?
答:目前还不行。

问:为什么运行RAMDisk.exe这个文件的时候会先闪烁一下命令行窗口,然后才弹出窗口?
答:这是我特意设计的。特意把RAMDisk做成一个控制台程序,当以GUI模式启动的时候,把控制台窗口关闭之前,就会看到控制台窗口闪一下,但是如果在“命令提示符”的界面下运行,就不会出现这个现象。

问:内存盘可以进行磁盘整理吗?
答:虚拟出的分区,用Windows XP自带的碎片整理程序不能识别,但是Norton 2003 SpeeDisk可以识别并整理,因为是内存,所以速度很快。但其实这根据没有必要,如果需要整理,只要先备份内存盘上需要保留的数据,然后重新启动电脑即可。

问:用IE下载大于内存盘容量的文件都不行,怎么回事?
答:IE下载文件时,都会把文件先缓存到临时文件夹中,然后才拷贝到指定的目录。也就是说,如果你用IE下载100MB的大文件,就必须有100MB的缓存空间,所以内存盘的容量必须大于下载的文件大小。但对于浏览网页,一般IE的缓存空间足够了,这种特殊情况下,建议你还是使用辅助的下载软件(如FlashGet等)进行下载。

问:如果把TEMP目录指向内存盘,那有没有容量冲突问题?比如设定内存盘为50MB,则当解压DVDRip,或者安装程序自动解压出的临时文件超过50MB,或者编辑的文件超过虚拟盘容量,其结果是什么?
答:如果超出了范围,则肯定解压失败,一般都会有错误报告。如果经常解压缩大文件,还是不要把临时文件目录设定到内存盘上为好。

问:现在内存盘中只有一个TEMP目录,有没有可以默认就建立几个目录的方法,重启动后还保留这几个目录?
答:建立一个BAT文件,在该文件中写上建立目录的命令,放到“启动”项里,就可以建立多个目录了。

问:把IE临时文件设到内存盘后,Cookies每次关机后能够得到保存么?
答:在Windows 2000/XP/2003中,Cookies是保存在操作系统所在分区的“\Documents and Settings\用户名\Cookies”这个文件夹下,并不受IE缓存目录的影响,所以不会丢失Cookies。
小提示
在Windows 2000/XP/2003中,Cookies的保存位置是由注册表中[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion \Explorer\Shell Folders]项下的Cookies键值来决定的,你可以在此处修改。

问:不知道GUI界面是否有更改TEMP路径的选项,或者设定多个路径更改,以便手动选择或自动恢复原设置?
答:目前没有这个功能,但可以写两个批处理文件,一个用于把TEMP目录设置到内存盘,一般用于把TEMP目录修改回系统缺省的目录。注意,修改TEMP后需要重新登录才能起作用,其中setx命令为Windwos Server 2003自带,如果是Windows 2000/XP的用户则需要到http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/setx-o.asp下载该命令。
1.TMPReset.bat,把TEMP路径设置成系统缺省的路径(见图2)



@echo off
echo set the environment variant TEMP TMP to default System Path
set TEMP_NEW=%USERPROFILE%\Local Settings\Temp
SETX TEMP "%TEMP_NEW%"
SETX TMP "%TEMP_NEW%"
echo NOW LogOff then Logon
echo TEMP will be %TEMP_NEW%
2.TMPSet.bat,把TEMP路径设置到内存盘上
@echo off
echo set the environment variant TEMP TMP to RAMDisk
rem if your new temp dir is not R:\temp,modify it to what you want
set TEMP_NEW=R:\temp
SETX TEMP "%TEMP_NEW%"
SETX TMP "%TEMP_NEW%"
echo NOW LogOff then Logon
echo TEMP will be %TEMP_NEW%

问:RAMDisk最大支持的内存盘是多少?
答:理论上,内存盘是没有大小限制的,只受到实际内存的限制。但如果内存盘设置过大,就会出现重启的现象。遇到这种情况可以先将内存盘设置得小一些,比如要设置一个768MB的内存盘,可以先设置一个16MB的内存盘,然后再修改其容量为768MB即可。另外,建议在设置内存盘时,要留出系统所用的内存空间,不然会事得其反。比如在一台只有256MB内存、使用Windows XP的电脑上,就不要使用128MB的内存盘了,否则只能减慢系统的运行速度,让系统变得不稳定。

小编有话说:本文作者在撰写本文的同时,还升级了他的RAMDisk GUI程序,主要进行了BUG修复,并新增了/L加载镜像文件的参数。下载地址为http://www.newhua.com/cfan/200412/ramdisk.rar。
我的blog:http://szhaitao.blog.hexun.com & http://www.hoolee.com/user/haitao
--以上均为泛泛之谈--
不尽牛人滚滚来,无边硬伤纷纷现 人在江湖(出来的),哪能不挨刀(总归是要的)
网络对话,歧义纷生;你以为明白了对方的话,其实呢?

您所在的IP暂时不能使用低版本的QQ,请到:http://im.qq.com/下载安装最新版的QQ,感谢您对QQ的支持和使用

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录