5

在恢复模式下运行标准 Windows 7 安装盘时,如果您打开命令行并运行自定义构建的应用程序,您将收到错误“不支持子系统”。我曾尝试与 /SUBSYSTEM:CONSOLE、WINDOWS 和 NATIVE 链接,但这些都不起作用。

我在使用分区表时遇到了一点困难(并且可能从 Windows 中包含的分区管理器中发现了一个错误,或者至少是“愚蠢”的行为),因此编写了一个实用程序来修复它。我的程序使用 'Windows.h' 来导入CreateFile,但是如果需要,我可以只使用标准 C++(甚至标准 C)而没有特定于 Windows 的标头。

我需要做什么才能让应用程序运行?

4

2 回答 2

5

Windows 恢复环境是 Windows 预安装环境的超集。

Windows PE 是 Windows 的精简版,缺少许多子系统,包括 WoW(Windows 上的 Windows)。

这意味着 32 位可执行文件(或任何具有 32 位组件的东西)将不会在 64 位 Windows PE 磁盘上运行。(请注意,WinPE 32 无法安装/修复 64 位系统,反之亦然)。

我的问题的解决方案是编译为 64 位代码——一个描述性的错误消息会很好微软:|

经过大量搜索找到: http ://technet.microsoft.com/en-us/library/cc766093(v=ws.10).aspx

于 2012-06-17T11:35:19.300 回答
0

您是否以任何方式使用 C++ CRT?我不认为这是支持的。我什至怀疑这CreateFile是否合适;NtCreateFile而是调查。

于 2012-06-17T08:43:02.630 回答