恢复磁盘上支持哪个Windows子系统

时间:2012-06-17 02:11:47

标签: c++ windows subsystem

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

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

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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