hta*_*tie 7 memory windows-7 hard-drive cache power-management
我想告诉操作系统停止使用我的硬盘,而只使用 RAM 作为缓存。
最理想的是,我想告诉 Windows:
a) 将可执行映像和必要的引导数据预缓存到 RAM 中,以及 b) 将所有磁盘写入缓冲到 RAM。
这可能吗?
背景:
我的笔记本电脑硬盘声音很大,我想在我不需要它时让它进入睡眠状态(例如,“hdparm -Y”)。
一个典型的用例是启动 Win 7 只是为了与远程系统建立远程桌面连接,从而将笔记本电脑仅用作哑终端。无需打开 HD 电源,因为一切都在内存、LAN 等中发生。
我曾尝试基本上都在系统空闲时关闭磁盘活动:杀死几乎所有的进程,在高级模式下使用的工艺监控,试图找到其中的过程是负责执行磁盘活动,但没有成功。
我最接近我的目标是使用 XP,当时我安装了由 Microsoft 制造并专为 Windows Embedded 测试设计的 RAM 覆盖驱动程序。这确实有效:所有磁盘操作都被拦截,这阻止了物理 HD 活动。
不幸的是,WinCE RAM 覆盖驱动程序很难使用,最后我设法损坏了磁盘,因为我应该卸载和刷新内容的顺序非常特殊。:-(
我现在已经在我的 Win7 机器上安装了一个 RAM 磁盘 (RamDisk Plus) 并尝试在其上安装便携式应用程序,但我认为即使在 RAM 磁盘上安装用户配置文件,将所有临时文件放在那里等也不会足够:有一些磁盘活动源自 Windows 内核级别,最终想要写入物理磁盘,从而唤醒硬盘驱动器。
这种需求还有其他几个用例:保持系统凉爽,以更少的功率运行笔记本电脑,延长物理和固态驱动器的使用寿命等。
建议?
我不相信你能做到这一点。Windows 是围绕系统分区始终可用的概念设计的,您对 RAM 覆盖的实验表明它不是为您的想法而设计的。
相反,更改系统分区。使用非硬盘驱动器启动分区——LiveCD 或 USB 密钥。您当然可以禁用 Windows 对非系统分区的访问,因此将系统分区从硬盘驱动器上移开可以让您关闭所有连接的硬盘驱动器。
更新:
在查看 EWF 上的材料后,是的,这是可能的。
我仍然认为这是一个非设计任务的案例,但是......
您在 WinXP 中使用的 EWF 来自 Embedded XP。Win-7 模拟版本是Windows Embedded Standard 2009,并且包含增强型写入过滤器。我不知道您是否能够将 EWF 硬塞进 Win-7,但是与旧的 Embedded XP 版本相比,现代版本的运气会更好。
看起来您想要"EWF RAM Reg mode",它将您的 EWF 配置数据放在系统注册表中,并且不需要驱动器上的单独分区。其他模式(EWF 磁盘和 EWF RAM 模式)至少需要一个单独的分区才能运行。
您将需要查看有关EWF 性能注意事项的技术文档,尤其是禁用 NTFS 上的上次访问时间戳、禁用系统还原和更改页面文件的大小(尽管如果可能,最好禁用它)。
考虑设计您自己的运行时映像作为您的操作系统基础。通过这样做,您可以消除在嵌入式静态配置中可能有问题的 Win-7 组件(这实际上就是您所描述的内容)。您可能还想使用已检查的构建(如果可用),至少在您按预期工作之前。
即使这充其量也是有根据的猜测。这种方法似乎是 LiveCD 用来实现其魔力的方法,因此您可能会更幸运地研究这些方法。即使 LiveCD 不是您的最终目标,它们用于构建系统映像的方法也可能对您有所帮助。祝你好运!