是否可以强制所有磁盘活动到 RAM?

是否可以强制所有磁盘活动到 RAM?

我想告诉操作系统停止使用我的硬盘,而只使用 RAM 作为缓存。

最佳情况下,我想告诉 Windows:

a) 将可执行映像和必要的引导数据预缓存到 RAM 中,以及 b) 将所有磁盘写入缓冲到 RAM 中。

这可能吗?

背景:

我的笔记本电脑硬盘声音很大,当我知道不需要它时我想让它进入睡眠状态(例如“hdparm -Y”)。

典型用例是启动 Win 7 以建立与远程系统的远程桌面连接,从而将笔记本电脑仅用作哑终端。无需打开硬盘,因为所有操作都在内存、LAN 等中发生。

我基本上已经尝试过了一切在系统空闲时关闭磁盘活动:杀死几乎所有进程,在高级模式下使用进程监视器尝试找出哪个进程负责执行磁盘活动,但没有成功。

我最接近实现目标的一次是在 XP 上,当时我安装了 Microsoft 开发的专为 Windows Embedded 测试而设计的 RAM 覆盖驱动程序。这确实有效:所有磁盘操作都被拦截,从而阻止了物理 HD 活动。

不幸的是,WinCE RAM 覆盖驱动程序很难使用,而且我最终损坏了磁盘,因为我卸载和刷新东西的顺序非常特殊。:-(

我现在已经在 Win7 盒子上安装了 RAM 磁盘(RamDisk Plus)并尝试在其上安装便携式应用程序,但我认为即使在 RAM 磁盘上安装用户配置文件、将所有临时文件放在那里等还不够:有一些磁盘活动源自 Windows 内核级别,最终想要写入物理磁盘,从而唤醒硬盘。

此需求还有其他几个用例:保持系统凉爽、以更少的电量运行笔记本电脑、延长物理和固态驱动器的使用寿命等。

有什么建议吗?

答案1

我不相信你能做到这一点。Windows 的设计理念是系统分区始终可用,而你对 RAM 覆盖的实验表明,它并不是按照你的想法设计的。

相反,更改系统分区。使用非硬盘启动分区——LiveCD 或 USB 密钥。您当然可以禁用 Windows 对非系统分区的访问,因此将系统分区移出硬盘驱动器将允许您关闭所有连接的硬盘驱动器。

更新
在查阅了 EWF 上的材料后,是的, 这个有可能。

我仍然认为这是一个不符合其设计目的的情况,但是......

您在 WinXP 中使用的 EWF 来自 Embedded XP。Win-7 类似物是Windows Embedded Standard 2009,并且包括增强型写入过滤器。我不知道您是否能够将 EWF 强行塞入 Win-7,但使用现代版本会比使用旧的嵌入式 XP 版本更顺利。

看起来你想要“EWF RAM Reg 模式”,它将 EWF 配置数据放在系统注册表中,并且不需要驱动器上的单独分区。其他模式(EWF 磁盘和 EWF RAM 模式)至少需要单独的分区才能运行。

您将需要查看以下技术文档EWF 性能注意事项, 特别禁用 NTFS 上的最后访问时间戳禁用系统还原, 和更改页面文件的大小(如果可能的话,最好禁用它)。

考虑设计你自己的运行时映像作为操作系统基础。通过这样做,您可以消除在嵌入式静态配置中可能存在问题的 Win-7 组件(这基本上就是您所描述的)。您可能还想使用经过检查的版本(如果可用),至少直到您让一切按预期运行为止。

即使这样,最好,有根据的猜测。这种方法似乎是 LiveCD 用来发挥其魔力的方法,所以您可能更愿意研究它们。即使 LiveCD 不是您的最终目标,他们用来构建系统映像的方法也可能对您的努力有所帮助。祝您好运!

答案2

如果钱不是问题,你可以用固态硬盘。我有一台配备 SSD 的 MacBook,它非常安静(而且速度更快)。

相关内容