给折腾ramdisk的朋友们一点建议

Ramdisk是什么,恐怕不需要我多说大家都知道。至于ramdisk有什么优点,百度一下你能看到因为ramsik有着很快的读写速度所以“放临时文件能加快速度”,“装软件可以秒开”等等各种优化的方法,比较犀利的言论还认为使用ramdisk可以延长续航时间,保护硬盘等等“高阶应用”

在此我觉得第一个想出延长续航时间,用于bt下载来保护硬盘的人实在是碉堡了,连这么神奇的功能都能开发出来。我对您的敬佩犹如滔滔江水,连绵不绝……

我也曾是一个热衷于折腾ramdisk的人,而且这一折腾,就是好几年(我会告诉你我从ramdisk7就开始折腾了么~)也有了不少经验,所以现在写出来和大家分享一下~

首先,也是终极建议,如果采纳,那么你就可以离开这个页面了。那就是,如果你不是富二代而且闲得慌想烧钱玩又或者是想要体验秒开的快感来自high的人,那么我建议您,不管你装的是什么ramdisk,卸了吧!

什么?你说你是32位系统,用不了高位内存?那你为什么不升级64位呢……

然后我来说一说我的理由吧。
其实ramdisk无非就是两种主流用法
一种是放临时文件,这类方法的使用思路就是避免上网、日常使用的软件临时文件读写,将其置于ramdisk,以减少物理磁盘IO,同时加速文件写入的作用
另一种就是秒开,也就是把软件,还有软件常用目录放到ramdisk之中。目的是大幅提升软件打开的速度。
虽然两者都可以见到立竿见影的效果,但是秒开除了提高打开速度,却做不到提高实际使用的性能的。不过如果你喜欢这种沉浸于秒开的快感也未尝不可,但这就和所谓的“开机速度”一样,没什么太大的意义,而且superfetch本身就能在内存充足的时候大幅提升常用软件的启动速度,内存盘的设定反而显得多此一举。而放临时文件,这是个见仁见智的问题,我觉得放临时文件并不值得,一来效果并没有秒开来的显而易见,二来放临时的盘太小容易出问题,太大则会使可用内存减小,反而会使实际性能下降,三来实际使用的时候临时文件往往没那么多,大部分时候内存盘还是空闲的,这部分空闲还不如给系统superfetch来的划算。再说你觉得系统的回写式缓存机制用来干嘛的?

而且,不过现在内存的价格有多白菜,你觉得是SSD便宜呢?还是内存便宜呢?

至于ramdisk可以通过减少访问硬盘来减少耗电量来延长续航,敢问阁下到底测试过没有这做法到底靠不靠谱,能延长多久?
还有那个什么给bt下载保护硬盘,我就懒得吐槽了,各位自己看着办吧……

如果你坚决不采纳这个建议,非要用ramdisk不可,那么请看下文

在觉得非要用ramdisk不可的话,我就建议你熟练掌握使用mklink来建立文件之间的连接符,那会在使用ramdisk的时候起到巨大的作用。当然,如果你懒得去记那些命令,可以考虑使用“Link Shell Extension”这个软件,他也能做到相同的内容。至于这个命令有什么用,我会慢慢说明清楚(详见3l)。

然后,我来谈一谈我对常见的ramdisk的看法吧。
Primo ramdisk
如果你打算短时间内拿ramdisk试一把玩玩,那么我相当推荐你使用他。原因在于1.默认试用30日,拿来玩正好。2.功能出众,动态内存分配特别合适做临时文件盘使用,多种关机写入方式不但保证秒开应用正常使用,还不会造成过长的关机时间,延时加载更可以避免开机时间因读取ramdisk储存在硬盘中的数据而减慢……剩下的我就不说了,省得被当作广告,反正如果真的只是拿ramsisk尝尝鲜,绝对是最佳选择没有之一。

Superspeed ramdisk plus
说了这个就不说同公司阉割版ramdisk了,反正只是个阉割产物。这家的ramdisk个人认为是最值得信赖的(不是绝对可信,绝对可信的只有你的第二块硬盘!)功能并不出众,但是经典稳定,可以说是稳定性最好的ramdisk,所以如果选择长期使用,那么Superspeed的是最佳选择,一来有完美破解(10.0版)虽然老了点,但其实也没什么问题,而且绝对满足各类强迫症患者的需求。而来该有的功能都有了,没加上的功能几乎都是为了保证稳定而不加上的。(你真的以为动态内存没问题吗,一个最显而易见的情况就是,内存负载大的情况下如果有新的临时文件写入,那么……)

buffalo ramdisk
可以说也是一个功能很出众的ramdisk,但是两大缺点让我觉得他不值得推荐。最显著的缺点是不支持ntfs格式,所以,根据我之前的建议,也就是不支持junction的特性,那么光是这个理由,就足以让我不推荐使用了。另一个比较糟糕的情况就是,只能建立一个磁盘(或许我out了,因为其实已经不折腾这个很久了,如果错了,还请拍砖)……不过他也有优点,就是建立的ramdisk部分的内存会被“硬件保留”让系统可用最大内存减少,避免了系统在内存不足时的意外行为

qsoft ramdisk
另一个功能强大,稳定性也不错的ramdisk,但是你界面就做的友好一点会死啊?!要完全看明白那些设置还得专门去读那些长长的说明文档,伤不起啊伤不起!除此之外倒也没什么特别的缺点。如果你对自己的理解力,耐心,技术有足够的信心,那么不妨使用这个版本的ramdisk

Gavotte ramdisk
缺点和buffalo类似,默认不支持ntfs(没记错的话好像可以用特殊方法强行建立),至于优点……他有什么优点?

其他的ramdisk还有很多,我就不一一说过来了,反正都差不多,没什么特别的特色。
至于性能,除了某几个设计特别失败的不知名的作品,其实意义都不大,莫非你觉得内存盘这种连续读写500m起版,4k随机200m以上的读写速度有那么点变化(哪怕快上一倍)你能感觉得出?

然后,我开始讲一下为什么要去了解mklink命令了。这个命令能干什么我就懒得从网上复制了,可自行百度相关内容了解,使用ntfs文件系统的junction特性可以很好的避免修改环境变量导致的潜在不稳定因素(一个典型的例子是在修改user temp变量后,office系列软件可能在特殊情况下出现环境变量错误,虽然可以通过注册表修改来修复,但是比较麻烦),也可以避免装秒开软件时因为掉电等特殊原因造成内存盘信息丢失而无法使用软件(如果放秒开软件,一般都是最常用的软件,如果发生这种情况,那么后果……)。另外,一个软件无论使用频率多高,总有一部分内容并不常用或并不需要ramdisk来加速,此时可以使用该特性将这部分文件转移到物理磁盘上用来减少内存盘占用,把好钢用在刀刃上。

无论你是准备用来放临时文件,还是准备安装软件,把目录直接指向ramdisk绝对是最差的选择了,没有之一,因为ramdisk的易失性决定了一旦发生意外,那么所有的数据一定是不可逆的丢失,这和硬盘的数据丢失不同,不管是软件,还是专业公司,哪怕是上帝都恢复不了。所以这种方式虽然可能在一般使用时用的很好很流畅,但是存在的一次性的灾难性的风险。当然你可以通过备份手段来减少数据丢失的风险(仅仅是丢失确实可以用数据恢复来修复)但是纵然如此,一旦发生故障,那么快速回复工作状态肯定是不可能的了。而且,万一是内存盘的软件本身出现故障(指不定你的杀毒软件那天就抽了呢)。那么仅仅靠备份数据是远远不够的。

但是如果使用junction特性,通过备份和建立两层连接,那么就可以在已有备份的情况下,迅速恢复工作状态(最简单的方法就是删除原有连接符,建立一个新的连接符指向备份目录重启即可)另一方面,使用目录连接符安装在ramdisk上的软件,一般情况下任何时候都可以完美移动到物理磁盘上而不会出现目录变更的故障(少数直接使用目标地址的软件除外)。建立链接符的方式不多说,建立为这样一种方式的映射

即整个ramdisk映射为处在物理磁盘上的一个过渡目录,如将ramdisk(Z:)映射为"C:\Ramdisk"的一个文件夹,此时处在“Z:\”的目录由于连接符的关系映射为了"C:\Ramdisk"中的目录(如“Z:\Firefox”映射为"C:\Ramdisk\Firefox"此时访问"C:\Ramdisk\Firefox"即访问“Z:\Firefox”)然后再将过渡目录中的文件夹映射为“C:\Program Files\Firefox”此时运行firefox会读取处于“C:\Program Files\Firefox”,再由目录连接符的关系跳转为"C:\Ramdisk\Firefox",最后回到“Z:\Firefox”

尤其推荐不修改环境变量而是通过映射的方式来更改临时文件目录,这样可以避免因临时环境变量多次变化(或是特殊情况)导致临时环境变量出错。

这样,在正常使用的情况下,访问program files中的处于ramdisk的文件可以通过两个连接符跳转到内存盘上,而当ramdisk发生故障时通过改变过渡目录的指向(完全生效需重启)
即当ramdisk发生故障,无法访问其中数据,此时有处在C盘的ramdisk的备份目录(如“C:\Ramdisk Backup”),删除"C:\Ramdisk"的目录连接符,建立一个新的"C:\Ramdisk"连接符指向“C:\Ramdisk Backup”,此时此时运行firefox会读取处于“C:\Program Files\Firefox”,再由目录连接符跳转为"C:\Ramdisk\Firefox",最后回到“C:\Ramdisk Backup”而不是“Z:\Firefox”避免了ramdisk发生故障导致放在ramdisk内的秒开软件无法启动

(当然你也可以不用过渡目录,但是那样的话需要一个一个子目录改过来,操作比较复杂)
此时虽然备份目录中的文件访问速度远远不如ramdisk,但是可以最快的恢复正常使用的状态,然后你需要做的,就是恢复ramdisk中的文件,再更改过渡目录的指向为ramdisk即可快速恢复为ramdisk出现故前的状态了。

这种映射的方式在我看来,是最能保证系统稳定高效工作的一种方案,可以很好的避免因内存盘故障而出现不必要的系统崩溃。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PrimoCache和PrimoRamdisk 重置试用期 PrimoCache 支持版本 V2.4.0 V2.5.0 V2.6.0 PrimoRamdisk 支持版本 V5.7.0 如果同时安装了PrimoCache 和 PrimoRamdisk, 那么重置试用期的时候如果只是针对其中的一个软件执行重置动作, 则会影响到另一个软件,因为这两个软件存储试用期相关信息当中使用了一个共用的文件, 就是windows\system32\下面的特殊隐藏文件, 重置试用期势必要执行清理这个文件的动作,所以如果同时安装使用了Primo的两款软件的话, 重置试用期的时候必须要针对两个软件都处理一下,即两个软件都进行试用期重置动作。 如果只安装使用PrimoCache则不是必须下载这个脚本。使用单独针对PrimoCache的脚本就可以了。 这个脚本可以处理只安装了 PrimoCache 和 PrimoRamdisk 其中一种软件的试用期重置。 也可以处理同时安装了PrimoCache 和 PrimoRamdisk 两个软件的试用期重置。 临时目录 由于涉及到处理PrimoRamdisk, 内存虚拟硬盘的使用情况当中, 一定存在不少用户会把系统变量中的TEMP临时目录指向虚拟内存盘, 而软件过期之后,虚拟内存盘就会无效,这样变量TEMP就指向了一个无效的目录。 脚本当中涉及到使用临时目录作为工作目录,用于存储临时文件, 处理PrimoCache的话可以直接利用系统的TEMP变量, 但是涉及到处理PrimoRamdisk的话,由于上面的原因就不能使用系统的TEMP变量了, 否则极有可能会有用户在某个特定时刻运行脚本会遭遇错误。 所以脚本里的临时目录设定在脚本所在目录下,不再使用系统变量的TEMP目录。
执行BAT脚本,对PrimoCache软件重置试用期60天。 支持版本如下: 2.4.0 2.5.0 2.6.0 脚本原始主体来自网络,非我原创。 虽然没见过原始脚本之前就发现了准确的文件和注册表信息位置, 但是对于重置标志开关,自己肯定没能力发现,通过解读脚本和测试,也对软件的保护机制有了比较多的认识。 不站在前辈的肩膀上,就不可能快速实现,难于看到真实的风景。 也长见识,两个软件的利用是绝对的亮点,甚至会对软件未来版本的应对方案带来应对压力。 原始脚本功能已经齐全。我则修改也算作优化,几百行变为几十行。 去掉无效工具或不必用的工具和以及相应的代码,尽 可能的减少使用没必要用的第三方工具。简化流程,只留干货。实现多版本支持。 和过去的2.2版本相比,PrimoCache对试用期机制做了不少改动, 在用户计算机上增加了存储相关信息方式,使用了不同的信息保护方法, 重置试用期还得使用特定的标志。而且还对注册表相关的存储点监控, PrimoCache驱动有效的情况下,普通方式修改信息很难逃避监控,会被识别。 以前只用注册表存储相关信息,现在增加了一个80字节的机密文件,系统占用防删除, 敢于使用这种保护策略,那么名声在外的unlocker肯定是首先被研究突破的对象, 所以unlocker这类工具不管用。这个固定大小的机密文件名字为16个字符长度, 名字应该是根据某些硬件信息计算后得出的结果,类似如硬盘序号,网卡物理地址等, 机器固定名字就不变,不同机器文件名会不同,看着类似随机值,但和机器应该是有相对应关系。 这个文件倒是没被监控,只要解除占用,随时删除都可以。 注册表子键位置基本没变,权限保护,空字符名字防删除,隐藏保护, 以及监控,对注册表上存储的试用期相关信息保护的比较严格。 重置开关,重置标记,这个东西怀疑是内部人外泄出来的。 要么就是有人反编译或跟踪解读程序找到的。总之发现它应该不容易。 试用期重置方法 大致有手工笨法清理 和 全自动脚本清理两种 笨法也可以有两种 一种是在本机原系统上操作,先卸载 再清理残留的文件和注册表信息。 软件卸载会清理绝大部分信息,但是为了记住用户使用时间,肯定得留下记录, 由于是卸载软件,相当于内鬼已走,无人看守,不再是被监控,所以只要清理掉就可以了。 然后再重新安装软件,由于清理掉了重要记录,所以对软件来说就是第一次安装。 笨法第二种是登陆其他操作系统,对软件所在的系统进行清理, 由于目标系统是非运行状态,所以不再有监控,不再有占用这类障碍,唯一障碍就是清理注册表。 如果有优秀第三方能够软件那么会很容易。否则只能选择注册表挂载,然后特殊工具提升权限或者特殊命命令那个清理。 最后别忘了写入特殊标记开关。这样目标系统重启后就相当于接到命令重置试用期了。 最后就是在运行的目标系统上执行脚本,不用卸载,快速处理完成后重启就会生效,重置试用期。 由于有监控存在,此方法如果想用老方法运行简单脚本去清理的话,本虽然可以清理, 但由于受监控,所以会失败,所以必须借助其他第三方工具处理注册表, 当然删除系统占用的文件也得用特殊工具。基本上两个工具在BAT的指引下,可以快速完成任务, 巧妙避过监控。PrimoCache下次升级保护措施难度不小。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值