禁用安全模式
原文:https://jocent.me/2017/06/12/disable_safemode.html
安全模式是Windows操作系统中一种特殊的登陆系统的方式。该模式是在不加载第三方设备驱动程序的情况下启动操作系统,进入后可以删除顽固文件、查杀病毒、解除组策略等。因为企业办公网环境下往往会部署一些安全防护类的软件,用户如果能够进入安全模式,则轻易的就可以干掉这些防护类、监控类的软件,所以企业内部往往会禁用安全模式。手动禁用往往比较麻烦,网上下载的工具质量又参差不齐,因此本文将介绍禁用安全模式以及禁用之后再启用安全模式的代码层面实现方法,你自己就可以写一个,快捷方便安全。
方法其实比较简单,就是把注册表
1 | HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/SafeBoot |
键下的Minimal
和Network
键删掉 或 改名即可。推荐改个名字(方便以后恢复启用安全模式),比如: 改成Minimal_backup,Network_backup 等。如果手动的进行修改的话,由于权限不足,操作会比较麻烦,可参考百度经验。
本文主要介绍下如何使用代码的方式去实现禁用,文章最后会给出现成的工具下载链接。
第一步,调整进程权限
1 2 3 | CAccessToken token;CAccessToken token; token.GetProcessToken(TOKEN_ALL_ACCESS); token.EnablePrivilege(SE_TAKE_OWNERSHIP_NAME); |
第二步,调整指定注册表键的权限
下面以更改 MACHINE\\SYSTEM\\CurrentControlSet\\Control\\SafeBoot\\Minimal
的权限为例,Network键是一样的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | SetNamedSecurityInfoW(L "MACHINE\\SYSTEM\\CurrentControlSet\\Control\\SafeBoot\\Minimal" , SE_REGISTRY_KEY, OWNER_SECURITY_INFORMATION, (PSID)Sids::Admins().GetPSID(), NULL, NULL, NULL); CDacl dacl; dacl.AddAllowedAce(Sids::Admins(), GENERIC_ALL); SetNamedSecurityInfoW(L "MACHINE\\SYSTEM\\CurrentControlSet\\Control\\SafeBoot\\Minimal" , SE_REGISTRY_KEY, DACL_SECURITY_INFORMATION, NULL, NULL, (PACL)dacl.GetPACL(), NULL); |
第三步,将 Minimal 和 Network 改名或删除即可,由于比较简单,这一步就不贴代码了
上面介绍的是禁用的方法,启用的方法就是其逆过程,将之前改的名字再改回去即可
也可以在修改之前先备份一下SafeBoot的注册表,供恢复使用,备份命令如下
1 | REG EXPORT HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot D:\safemode.reg |
禁用安全模式工具下载链接:DisableSafeMode 地址2 地址3
使用方法:1. 双击运行是禁用安全模式,需要以管理员方式运行 2. 命令行方式执行,带任意的参数(比如: DisableSafeMode.exe xxx),是启用安全模式。
工具会修改敏感位置注册表,所以安全工具会弹个窗警告一下。
注意:对于个人用户其实是不推荐禁用安全模式的,当因为某些原因无法进入系统时,安全模式是救命稻草。
补充:也可以使用命令修改注册表单独禁用"最后一次正确的配置"
1 2 | Reg Add "HKEY_LOCAL_MACHINE\SYSTEM\Select" /v LastKnownGood /t REG_DWORD /d 00000001 /f Reg Add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v ReportBootOk /t REG_SZ /d 0 /f |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本