Windows 7 Embedded - 以编程方式禁用磁盘缓存:
Posted
技术标签:
【中文标题】Windows 7 Embedded - 以编程方式禁用磁盘缓存:【英文标题】:Windows 7 Embedded - Disable Disk Caching Programmatically: 【发布时间】:2020-08-02 08:49:08 【问题描述】:前言:
我们使用Windows-7-Embedded
图像制作我们软件的客户端副本。
流程非常标准:
-
使用空白硬盘。
在硬盘上恢复内部
Windows-7-Embedded
映像。
在顶部安装其他软件。
硬盘准备就绪!
问题:
有时,可能由于系统崩溃,图像内部已经配置了一些配置 - reset.
我目前的问题是磁盘上的“禁用写入缓存”选项。 在图像中,该选项是关闭。 有时,它只是重置并开启。
我的问题:
如何以编程方式禁用磁盘写入缓存属性?
设计限制:
可以在启动时运行 .exe。该系统主要是 c++,因此这将是基于代码的解决方案的最佳语言。 可以运行 .bat 文件。 可以运行 .vbs 文件。不确定我们当前的基础架构与哪个版本兼容。图像(内部图像 -> 崩溃后):
说明:
做了我的研究。整体上在 SO 或 SE 中没有找到与 Windows 写入缓存选项相关的任何内容。确实找到了一堆 linux 相关的问题。 目前,系统崩溃是设计使然。这是显而易见的根本原因,但由于设计限制和预算问题无法解决。【问题讨论】:
【参考方案1】:您可以尝试使用注册表设置EnableCache。它适用于 FAT 文件系统,将其设置为 0 理论上将禁用磁盘缓存。虽然我没有测试过。
查看: HKEY_LOCAL_MACHINE\SYSTEM\StorageManager\FATFS 或 HKEY_LOCAL_MACHINE\SYSTEM\StorageManager\EXFAT
【讨论】:
以上是关于Windows 7 Embedded - 以编程方式禁用磁盘缓存:的主要内容,如果未能解决你的问题,请参考以下文章
为 Windows Embedded Compact 7 编译 boost 库
如何定制Windows Embedded Compact 7 shell详解
Windows Embedded Standard 7 找不到我的 .dll