我已通过 WEDU 下载了所有最新更新到我的 DS,并通过“验证 > 添加适用更新”将这些更新添加到我的应答文件中。但是,当我现在尝试安装此映像时,内存不足。
我尝试安装映像的计算机有 2GB 内存。这不多,但它是一个嵌入我正在尝试安装的设备嵌入操作系统。
我创建的应答文件非常小,在添加更新之前产生了 1.3GB 的图像。
除了安装更多内存或在安装 Windows 后运行 Windows 更新之外,还有其他方法可以解决此问题吗?
答案1
更新的 cab 文件列在您的应答文件中,看起来像这样:
<source location="%distributionshareroot%\Packages\SecurityUpdate\x86~package_for_kb3164033~~~~6.1.1.0~1.0\Windows6.1-KB3164033-x86.cab" />
WES7 SP1 的标准安装可能位于此路径中(这也是 %distributionshareroot%):
c:\Program Files (x86)\Windows Embedded Standard 7\DSSP1
请注意,%distributionshareroot% 不太可能存在于您的环境中 - 据我所知,它仅在 ICE 内部才有意义。
在您的 %distributionshareroot% 中,您将找到“install.wim”。在执行任何其他操作之前,请复制该文件!例如:
copy /B "c:\Program Files (x86)\Windows Embedded Standard 7\DSSP1\install.wim" "c:\Program Files (x86)\Windows Embedded Standard 7\DSSP1\install-copy.wim"
然后创建一个名为 %distributionshareroot%\mount 的目录
接下来,安装 install.wim、添加 cab 文件并卸载/提交(示例如下)。这一切都通过 DISM 完成。 警告:一些 cab 文件可能会破坏您的安装! 您可能需要恢复到 install.wim 的副本并消除问题更新。
要恢复您的副本:
copy /B /Y "c:\Program Files (x86)\Windows Embedded Standard 7\DSSP1\install-copy.wim" "c:\Program Files (x86)\Windows Embedded Standard 7\DSSP1\install.wim"
我目前正在查找哪些更新有问题。到目前为止,我知道 kb2871997 破坏了我的安装。我对此的持续研究可以在以下网址找到:DISM 中的更新破坏了 Windows Embedded Standard 7
假设您的 %distributionshareroot% 是我上面提到的位置,命令应该如下所示。
山:
DISM /Mount-Wim /WimFile:"\Program Files (x86)\Windows Embedded Standard 7\DSSP1\install.wim" /Index:1 /MountDir:"\Program Files (x86)\Windows Embedded Standard 7\DSSP1\mount"
添加更新KB3164033(卸载前可以添加多个更新):
DISM /image:"\Program Files (x86)\Windows Embedded Standard 7\DSSP1\mount" /Add-Package /Packagepath:"\Program Files (x86)\Windows Embedded Standard 7\DSSP1\Packages\SecurityUpdate\x86~package_for_kb3164033~~~~6.1.1.0~1.0\Windows6.1-KB3164033-x86.cab" /NoRestart
最后卸载/保存/提交:
DISM /Unmount-Wim /MountDir:"\Program Files (x86)\Windows Embedded Standard 7\DSSP1\mount" /Commit
将更新添加到 install.wim 后,即可将其从应答文件中删除。
答案2
您最后自己解决这个问题了吗?
我的 Windows 7 Standard SP1 也遇到了类似的问题。我的构建系统运行良好,直到我更新了 WEDU 并通过 WEDU 执行了 800 安全更新和修复。
我将其安装在具有 4GB 内存的 Intel NUC 上。在安装软件包期间,由于内存不足而失败,因此为了解决这个问题,我能够将内存容量从 4GB 增加到 8GB,安装成功完成。从那时起,我能够获取我的 WIM 映像并将其应用于具有 4GB 设置的其他系统。
我找到了一篇文章,它在不增加内存的情况下解决了这个问题。
Windows Embedded 更新的 RAM 和磁盘资源耗尽
- 创建由更新和修补程序组成的小型配置集,然后使用 DISM 将它们应用于目标映像。
- 使用 Windows Update 下载并安装更新。
- 使用磁盘清理清除 c:\Windows\winsxs 目录。
我还没有想出一个解决方案,可以在不增加内存或安装后执行更新的情况下完成此操作。但好处是,只需在单个系统上执行此操作,然后获取该系统的映像并在运行 sysprep 后将其应用于其他系统。这样,您就不必在每个单独的系统上进行更新。