将Launch10=shell.exe更改为其他值...现在该怎么办?

3
我正在使用Windows CE 5,之前我错误地更改了HKLM> init> Launch10的值,将其从shell.exe更改为我的程序。现在我知道应该更改Launch50。
因此,当我的物理设备启动时,我只会得到一个空屏幕,并且由于shell实际上用于开发框和设备之间的通信,因此我无法从计算机连接到它。
有什么想法/建议吗?
更新 - 如果有一种执行出厂重置的方法,我不知道,由于安全螺丝,我无法接触设备的内部,我可以访问的部分没有任何选项。 - 没有其他应用程序启动,尽管我期望某些应用程序启动,因此没有办法启动任何内容。此时,网络连接和USB甚至都没有打开。 - 平台通常通过ActiveSync进行调试器连接,但自从我进行更改以来它不起作用。远程注册表是我开始进行更改的方式。 - 当我取出电池时,有一个小板子我能够移除,下面有一个端口,但我不熟悉这种类型。它看起来比普通的串行连接要宽得多,引脚也更多。 - 我试图弄清楚KITL连接的事情,但没有设置它,不确定它是否有效。 - 据我所知,操作系统不在可移动媒体上,或者如果是,我无法确定并且无法物理访问媒体。
现在是好消息:该设备支持“安全启动”选项,我已经能够访问它。这会将设备加载到Windows CE的简化版本中,以便您可以修复系统。但是,该版本非常简化,我无法远程连接到它。我该怎么做才能更改映像,以便重建注册表?
已解决 我打电话给供应商,他们能够向我展示注册表文件夹的位置。我删除了注册表文件夹,并成功启动了操作系统。唯一的问题是所有已安装的应用程序都无法工作/被视为未安装。幸运的是,我有几个这些设备,因此一旦我知道注册表文件夹的位置,我只需将工作正常的设备上的文件复制到死机的设备上即可解决问题。

我在这里没有看到任何关于编程、开发或代码的内容。 - Ben Voigt
@Ben:它涵盖了设备/平台开发。 - ctacke
1个回答

2
因此,操作系统不再启动shell - 这可能会有问题,取决于设备的能力(您对此告诉我们很少)。
  • 您能恢复到出厂状态吗?如果可以,那将撤销您的更改。
  • 您能使其他应用程序运行吗?(即平台是否具有一些OEM特定的“启动”功能)?如果可以,您可以运行一个应用程序来恢复注册表键
  • 平台是否具有调试器连接性?使用平台工具中的远程注册表编辑器可能是恢复它的方法
  • 有没有重新刷写操作系统的方法?这是比较狠的,但可能是恢复它的唯一方法
  • 您有KITL连接选项吗?您可以使用它进行工具连接。
  • 您能更改操作系统镜像吗?这将使现有注册表的MD5哈希无效,并强制其构建新的注册表。
  • 操作系统本身是否在可移动介质上?将其插入PC并删除注册表蜂房可能会恢复。

如果您没有这些解决方案,您可能会成为新的砖块所有者-联系OEM,看看他们是否可以为您恢复。


取决于“安全”操作系统允许什么。您能浏览文件系统吗?该文件系统是否与原始文件系统匹配(即,它们看到相同的物理文件)?您可能能够找到原始操作系统注册表文件(如果您很幸运,可能是hive),然后只需删除它们,或者只是启动新操作系统可能已经重建了它们。查找system.hv和user.hv(它们默认情况下会被隐藏,因此更改资源管理器以显示隐藏文件)。 - ctacke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接