将应用程序从运行 WinXP 嵌入式的昂贵且不可靠的专用嵌入式 x86 盒迁移到运行普通 Win7-64 的 COTS 硬件(Dell E6410 笔记本电脑)。目前,使用 Windows 7 嵌入式进行部署是不可行的。
问题是,系统仍然有点“嵌入”。电源几乎随时可能无预警断电。我们已精简操作系统并移除电池功能,以便系统可根据需要断电。
应用程序从不写入磁盘,因此我们不会严重损坏任何东西。应用程序启动并运行后,系统基本上处于空闲状态(除了一些计算、图形、TCP/IP 和串行通信),因此操作系统很快进入相当稳定的状态。
然而,断电后,它会正确地抱怨 Windows 未成功关闭,并向用户显示 Windows 错误恢复文本屏幕。如果不理会它,它最终会继续正常启动,但如果可能的话,我们希望跳过该步骤。
WinXP 嵌入式设计为自动执行此操作,所以我知道这是可能的。我查看了内核开关,但没有看到任何关于“跳过 Windows 错误恢复”的记录。
我也广泛阅读了有关启动过程的内容:http://jdebp.eu./FGA/windows-nt-6-boot-process.html
我知道我可以在注册表中禁用自动 chkdsk,但这也不是一回事。
那么,我该如何简化启动过程,以免给用户带来常规情况的困扰?
答案1
有迹象表明,设置传递给 WINLOAD 的启动状态策略设置即使在非嵌入式 Windows NT 6 上也可以工作。命令({current}
当然,如果合适可以更改)将是
bcdedit /set {当前} 启动状态策略 ignoreallfailures不过我自己还没尝试过。
答案2
IgnoreShutdownFailures 应该足够了。
http://msdn.microsoft.com/en-us/library/ff794974(v=winembedded.60).aspx