我遇到了一些启动程序无法在启动时启动的问题。Google 备份和同步以及 Dropbox。它们都在 CCleaner 中标记为已启用。
在 Windows 10 任务管理器中打开启动选项卡时,事情变得很奇怪。Google 被列出,但 Dropbox 没有。在 Google BU-and-Sync 偏好设置中,当我选中复选框以在启动时运行时,任务管理器启动选项卡中的行会正确消失并立即相应地出现。但对于 Dropbox,它甚至永远不会出现。
因此我决定进行进一步挖掘,并转到 CCleaner 中的启动项,右键单击选择“在 regedit 中打开...”
每次我使用不同的启动项执行此操作时,它都会在多个选项卡中打开 regedit,那时我才意识到注册表中似乎有两个版本的 SOFTWARE HIVE。
从 Windows 搜索栏打开 regedit 时,它会打开一个与从 CCleaner 打开注册表时不同的 SOFTWARE 配置单元(参见下面的屏幕截图 - 两个路径相同。)
但是正如您在下面的屏幕截图中看到的,在注册表的任何给定视图中我只有一个软件配置单元。
注意:我无法在任何其他第三方注册表管理器或自动运行软件上复制此问题。当通过所有其他第三方软件打开启动项的注册表时,它会打开默认注册表 - 就像我手动打开 regedit 一样。有人可以尝试使用 CCleaner 并尝试复制此问题吗?
有人能向我解释一下发生了什么事吗?
当比较两个结果中的 HKLM\SYSTEM\CurrentControlSet\Control\hivelist 时,条目看起来完全相同:
答案1
我在其他地方找到了答案。我会在这里发布它以造福其他人:
你说得很对,确实有两个不同的软件配置单元。
一个是 32 位注册表配置单元,另一个是 64 位。您在 Regedit 中看到哪个取决于您运行的是 32 位还是 64 位版本的 Regedit。我怀疑您的情况是 CCleaner 打开的是 32 位版本的 Regedit,而 Start 启动的是 64 位版本的 Regedit。实际上,64 位 Regedit 可以显示这两个软件配置单元……
而 32 位 Regedit 被重定向以显示 32 位配置单元,就好像它是唯一的软件配置单元一样。
要亲自查看,您可以同时运行 32 位和 64 位版本的 Regedit。从“开始”菜单打开默认的 64 位 Regedit。然后使用 WinKey+R 调出运行框并运行 32 位 Regedit %systemroot%\syswow64\regedit -m
:(-m开关允许您运行 Regedit 的第二个实例)。