简介
RAM disk是通过使用软件将RAM模拟当做硬盘来使用的一种技术。
Ramdisk 是免费的,不用破解,而且基于微软的 rramdisk.sys 驱动程序(MOD),非常稳定安全可靠。
在特定的场景下,使用这项技术有些优点
- 在32位系统下,使用的内存最大是4G,可以将多余内存用作RamDisk,用来做临时文件的存储等,可以最大化内存利用率
- 用作Web缓存,提高页面加载速度,同时由于Ram的易失性,缓存会在断电后失去,这对于安全性有一定的易处
- 使用SSD时,写入寿命低,通过使用RamDisk,将一些Temp文件,或写的操作多的行为移动到RamDisk中,大大降低了硬盘的由写入引起的寿命消耗
本次介绍一款开源实现,ImDisk Virtual Disk Driver,一款可以执行命令行调用,也可以通过UI调用的一款软件
下载后的本体是 imdiskinst.exe
安装
1 通过人机交互安装
鼠标点击imdiskinst.exe即可
2 通过命令行等方式静默安装
这个软件并不是著名研发机构研发的软件,所以相比于python java等静默安装方式会有所不同
它的安装流程是将exe中的Driver拷贝到系统文件夹(%Systemroot%),然后在执行注册表,服务的安装
静默安装的参数
-y : 这个是exe的执行参数,用来静默拷贝
IMDISK_SILENT_SETUP :这个是环境变量的参数,通过阅读install.cmd源码发现,真正的静默安装依赖于这个变量,这个变量的值为1代表不会弹出任何Message Box
所以通过编写安装脚本,实现静默安装(或单行语句&&)
set IMDISK_SILENT_SETUP=1
imdiskinst.exe -y
使用
在安装成功后,imdisk会作为系统的一项服务,可以通过net status imdisk
进行检查,这也意味着使用需要管理员权限
创建磁盘
imdisk -a -s 512M -m X: -p "/fs:ntfs /q /y"
- -a 初始化一个虚拟磁盘
- -s 512M 磁盘大小
可用的单位有b, k, m, g, t, K, M, G, T - -m X: 设置挂载盘符,例如X盘 X:
- -p "fs:ntfs /q /y" 格式化磁盘
ntfs是windows的磁盘格式,如果使用其他系统,可以替换为fat (FAT16) or fat32 (FAT32)
创建成功后,一般使用dir x:\来判断是否可用,一般会返回x盘没有文件,而不是找不到驱动卷
删除磁盘
imdisk -d -m X:
imdisk -D -m X: 强制删除
注意事项
1 不断创建磁盘会造成多个实例问题,但是删除的时候只会删除一个,所以尽量不要重复创建(多次操作结果不具备幂等性)
2 断电后,磁盘内容会消失,尽量不要存储重要文件,或关机前备份
3 由于断电后会消失,所以需要开机启动时,自动创建,这个可以使用windows的计划任务管理器实现
参考文档
1 源代码:https://github.com/virtimus/imdisk
2 官方Release:http://www.ltr-data.se/opencode.html/
3 Windows下使用引导:https://forums.guru3d.com/threads/guide-using-imdisk-to-set-up-ram-disk-s-in-windows-with-no-limit-on-disk-size.356046/