无需外部工具,如何让Windows在按下重启/关机按钮时修改系统文件并还原备份的SAM文件
无需外部工具,如何让Windows在按下重启/关机按钮时修改系统文件并还原备份的SAM文件
嘿,我完全get你的需求——你用chntpw修改了SAM文件绕过登录,现在就想在系统重启或关机时自动把备份的SAM替换回原位置,全程不用Live CD这类外部工具对吧?其实Windows本身就自带了专门处理这类系统文件替换的原生机制,叫PendingFileRenameOperations,这是注册表层面的操作,完美匹配你的要求。
下面给你一步步讲具体怎么操作:
- 首先确认你的SAM备份文件位置:比如你说放在Windows根目录,假设备份文件名是
SAM.backup,原SAM文件的路径是C:\Windows\System32\config\SAM(如果你的系统不在C盘,记得替换成对应盘符)。 - 打开注册表编辑器:按下Win+R组合键,输入
regedit回车,一定要以管理员身份运行,不然没权限修改系统级的注册表项。 - 定位到指定路径:在注册表左侧导航栏找到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager。 - 找到或新建
PendingFileRenameOperations值:在右侧面板里找这个多字符串值,如果没有的话,右键空白处→新建→多字符串值,命名为PendingFileRenameOperations。 - 编辑这个多字符串值:双击打开,输入以下两行内容(注意顺序不能错):
\??\C:\Windows\SAM.backup \??\C:\Windows\System32\config\SAM解释一下:第一行是你的备份文件路径,第二行是要被替换的原SAM文件路径。Windows会在下次启动的预加载阶段执行替换——因为系统运行时SAM文件被独占锁定,只有在启动前的这个阶段才能完成替换操作。
- 保存修改,关闭注册表编辑器就搞定了。
等你按下重启按钮后,Windows会在关机过程中记录下这个替换任务,下次开机时,还没加载系统核心组件就会自动把备份的SAM替换回原位置,重启后系统就会恢复到修改前的正常状态了。
一些注意事项:
- 务必保证你的SAM备份文件完整无损坏,否则替换后可能导致系统无法正常启动。
- 操作注册表前,建议右键导出
Session Manager这个键做个备份,万一操作失误,还能导入备份恢复。
备注:内容来源于stack exchange,提问作者shashankx86
相关产品推荐
相关产品推荐

