最近我的 Windows 安装出现了问题,所以我尝试使用 Linux 实用程序清空用户密码chntpw
。当这不起作用时,我尝试将另一个用户提升为管理员,此时我收到警告,我可能会遇到奇怪的行为因为此功能是实验性的,并且会改变 Windows 注册表。
我用过chntpw
,对文件进行操作C:\Windows\System32\config\SAM
当一切都不起作用时,我四处搜索,发现 Windows 会定期在 中保存其注册表配置单元的副本C:\Windows\System32\config\RegBackup
。因此,我使用其中SAM
的文件将用户密码恢复到正常(且可正常工作)的状态。此时,我可以使用我的常规用户帐户正常登录。一切似乎都很好,直到我注意到两个非常奇怪的问题:
- 尽管我在文件夹选项中特意选择了“在同一窗口中打开每个文件夹”,但资源管理器仍会为每个文件夹打开一个新窗口。
- 大多数
.exe
文件无法运行。每当我这样做时,我都会收到一条消息,提示找不到该文件。即使我不依赖变量PATH
并从命令提示符中通过绝对路径调用可执行文件,我也会出现同样的行为。现在这个问题和其他互联网资源都认为这是由于注册表项混乱造成的。鉴于之前的chntpw
警告,我倾向于相信这一点。唯一的问题是,我无法启动regedit.exe
:我得到了相同的“未找到”错误。
我尝试过
- 我认为 Windows 的定期备份功能很棒,因此我可以从备份中恢复所有修改过的注册表配置单元,所以我使用 Linux
find
获取了今天修改过的配置单元列表,发现这些配置单元是SECURITY
、SOFTWARE
和DEFAULT
。然而,从备份中恢复所有这些配置单元并没有帮助,所以我就在这里。
我该怎么做才能将我的注册表恢复到正常状态,以便我可以再次运行可执行文件?
笔记
- 一些可执行文件可以运行。我尝试了
mspaint
、calc
和cmd
,并且都成功运行。