忘记Windows密码?免费BIOS级U盘工具重置SAM数据库

发布时间:2026/10/8 15:43:05
忘记Windows密码?免费BIOS级U盘工具重置SAM数据库 直接说结论这不是黑客手段也不是绕过系统漏洞更不需要“重装大法”。我在去年底做了个免费的 BIOS 级启动工具专门解决一个很常见但又很尴尬的场景你明明有一台自己的电脑但开机时死活想不起 Windows 登录密码旁边又没有另一个管理员账户可用。工具的思路很朴素把一段很小的引导程序放进 U 盘让电脑从 U 盘启动在 Windows 还没加载之前接管硬件然后读取本地账户数据库把密码直接清掉整个过程开机状态下几秒钟完成。这篇文章把原理、制作过程、实际操作和踩过的坑都摊开来讲适合所有被 Windows 密码卡住过的人也适合想自己维护电脑但不想重装系统的朋友参考。先说清楚一件事这工具只针对你自己拥有合法使用权的机器帮自己救急不是拿去开别人锁的。如果你拿它做不该做的事别来问我怎么处理后果。以下所有步骤我都拿自己的老笔记本和一台组装机反复试过实测稳定才敢拿出来分享。1. 为什么忘记密码别急着重装——底层原理先说清楚很多人一遇到忘记 Windows 密码第一反应就是重装系统觉得“反正数据不要了”。但重装系统成本极高驱动要重打软件要重装各种配置要重调没个半天下不来。而清掉一个本地账户密码其实只需要修改系统里的一小段数据完全不必动整个系统。1.1 Windows密码究竟存在哪里Windows 本地账户的密码信息并不是存在“某个文件”里而是存在一个叫 SAMSecurity Account Manager安全账户管理器的数据库文件中具体位置在C:\Windows\System32\config\SAM。这个文件在系统运行的时候被锁定你没法直接在 Windows 里打开它编辑。但注意SAM 文件本身并没有加密而是用系统密钥做了保护并且密码的哈希值以特定结构存储在里面。当你在登录界面输密码时Windows 会把你输入的字符通过某种方式转换成一个哈希值然后和 SAM 数据库里存的哈希值做比对。比对一致就放行不一致就提示密码错误。所以从理论上说只要我们能修改 SAM 数据库里对应账户的密码字段或者把它清空系统下次登录时就不会再要求密码。1.2 为什么能绕过而不是破解我经常看到有人在网上问“有没有能跑出 Windows 密码的软件”这其实是误解。暴力破解那个哈希值在计算上是不可行的尤其是微软把哈希算法做得越来越复杂之后单纯用 GPU 硬跑基本是浪费时间。真正可行的思路不是“破解密码”而是“重置密码”——直接把密码字段替换成空值或者把账户标记改为“无需密码”。这就好比你家门锁的钥匙丢了你不去配钥匙而是直接把锁芯换掉一劳永逸。所以这个工具的本质是一个运行在操作系统启动之前的小型环境。它趁 Windows 还没锁定 SAM 文件的时候直接读取系统分区修改 SAM 数据库。整个过程不涉及任何密码猜测也不依赖系统漏洞而是充分利用了“物理接触电脑的人可以更改任何软件状态”这一基本事实。1.3 BIOS工具的定位与适用边界这里说的“BIOS工具”更准确的叫法应该是“基于 UEFI/BIOS 的启动盘工具”。电脑开机时首先加载的是固件BIOS 或 UEFI固件负责初始化硬件然后根据启动顺序去加载硬盘上的操作系统。如果我们把 U 盘插上并把启动顺序改成 U 盘优先固件就会执行 U 盘里的引导程序从而在 Windows 之前获得控制权。这个工具解决的场景包括但不限于忘记 PIN 码注意 PIN 和密码机制不同后面单说、忘记微软账户密码但本地账户密码没改过、重装系统时忘了原管理员密码、二手电脑买来发现前主人设了密码。但它绝不适用于打开别人的电脑因为只要对方启用了 BitLocker 或者 TPM 2.0 的某些保护机制这种物理改 SAM 的方案就会被拦下来。2. 工具设计与使用前准备别听到“BIOS工具”就觉得高不可攀其实制作过程比想象中简单。整个工具的设计思路就三条体积小、启动快、操作傻瓜化。2.1 免费工具的核心思路利用BIOS/UEFI启动环境直接改SAM我最初的想法是用一个精简的 Linux 环境里面内置几行脚本去挂载 NTFS 分区然后调用chntpwChange NT Password这类工具修改 SAM。但后来发现这样做有两个问题一是 Linux 内核和配套工具加起来体积大启动慢二是很多人并不熟悉 Linux 命令界面不够友好。所以我换了个思路把工具做成一个开机菜单用户只需要按数字键就能完成操作。具体实现上U 盘引导区用 GRUB2 或者 Syslinux 都可以我最终选了 GRUB2因为它在 UEFI 模式下兼容性好而且制作启动盘的工具多。引导菜单会给用户几个选项第一个就是“自动清除 Windows 密码”后面跟着的脚本会依次完成识别系统分区 → 挂载为可写 → 定位 SAM 数据库 → 备份原文件 → 修改密码字段 → 卸载分区 → 重启。整个过程没有任何需要记忆的命令行。2.2 需要准备的材料和硬件要求说实话最麻烦的部分不是工具本身而是准备工作。你需要的东西如下。一台能正常开机、能进入 BIOS 界面的电脑这是前提如果电脑连 BIOS 都进不去那就得拆机清 CMOS但那是另一回事一个空闲的 U 盘容量 1GB 以上就够我用的旧 4GB U 盘做的另一台正常的电脑用来制作启动盘Win 或 Mac 都行下载我发布的这个工具镜像包体积不大大概 20MB 左右硬件兼容性方面这个工具基于标准 UEFI 规范2012 年以后的电脑基本都支持。个别老电脑只有传统 BIOSLegacy BIOS我也做了一版带 MBR 引导的镜像所以两条路都堵死了。2.3 安全提示与数据备份这里必须反复强调虽然操作本身不涉及删除系统文件但万事都有万一。修改 SAM 数据库本质上是在改系统关键文件万一停电、U 盘损坏、写入中断可能导致账户数据库损坏。所以我在工具里强制做了一件事在修改之前自动把原始的 SAM 文件备份到 U 盘上的backup文件夹里并生成一个时间戳。一旦操作失败可以把备份放回去恢复原状。我在给朋友帮忙的时候也会先问一句“电脑里有没有用 BitLocker 加密的盘”如果有通常我不建议直接用这个工具而是先让他用微软账号重置密码登录算是一种预检。把自己数据搞丢的案例我见过太多那种求助帖简直不忍直视。3. 实操过程开机几秒清掉密码重点来了。我按实际操作顺序一步步写你照着做就行。3.1 写入U盘/制作启动盘制作启动盘推荐两个工具一个是开源跨平台的 Ventoy一个是老牌的 Rufus。如果你不想折腾直接用 Ventoy 最简单把 U 盘插到电脑上打开 Ventoy2Disk.exe点击安装它会自动把 U 盘做成一个引导盘。然后把下载好的工具镜像文件ISO 格式直接复制到 U 盘里。开机的时候选择从 U 盘启动Ventoy 会自动列出镜像你选择那个 ISO回车就进了工具环境。Rufus 也可以但相对讲究一点。打开 Rufus选择你的 U 盘分区类型建议选“GPTUEFI”然后选择那下载的 ISO 镜像点开始等它写入完成。写入速度一般几十秒。有一点要提醒Rufus 在写入的时候会把 U 盘格式化成 FAT32如果 U 盘里有数据记得先备份。提示Ventoy 的优势在于可以随时更换镜像不用反复格式化 U 盘Rufus 的优势在于对老旧电脑传统 BIOS 模式的兼容性更好。你自己权衡。3.2 开机进入BIOS引导这一步最让人头疼原因在于每台电脑进入 BIOS 的快捷键都不一样。戴尔和联想多数是 F2华硕是 Del 或 F2惠普是 F10ThinkPad 是 F1有些组装机直接按 Del。最稳妥的方法是想办法看到开机画面时屏幕左下或右上角提示“Press F2 to enter Setup”之类的字眼那一瞬间手速跟上。如果你手速跟不上也可以这样开机后不停按快捷键例如每秒按两下 F2一直到出现 BIOS 界面。如果实在进不去 BIOS还有一种临时方案Windows 设置里进入“更新与安全 → 恢复 → 高级启动 → 立即重新启动”然后在重启后的蓝色界面里选择“使用设备”你就能选 U 盘设备启动。实际测试这种方式在大多数机型上都能绕开手工按快捷键的不确定性。3.3 进入工具菜单执行清密码启动 U 盘后屏幕上会出现一个菜单界面。第一个选项写得很直白“Clear Windows Password”。你按数字 1 然后回车工具会自动进行以下操作。扫描所有硬盘分区找到那个标记为“系统保留”或者C:的分区识别 NTFS 文件系统。挂载该分区为读写模式。定位到Windows\System32\config\SAM文件。复制一个副本到 U 盘的backup目录。读取 SAM 文件中的账户列表然后对选中的账户执行“清空密码”操作。卸载分区提示你拔掉 U 盘并重启。整个过程大概 10 秒钟不到这就是为什么标题里说“开机几秒钟就能清掉密码”。实际上的“几秒”是指工具执行的时间不包括你开机和按按键的时间但确实比重装系统快得多。3.4 重启验证与收尾操作完成后拔掉 U 盘重启电脑。在登录界面你会看到密码输入框变空了。你直接点一下回车或者什么都不输按回车就能进入桌面。如果进入后发现账户变成“未设置密码”状态可以在系统设置里重新设置一个新密码。这里还有个细节如果你原来用的是 PIN 码Windows 10/11 推荐的那种数字快捷登录方式事情会稍不一样。因为 PIN 码并不是存在 SAM 数据库里的而是由 TPM 芯片或系统固件管理。清空 SAM 里的密码不会自动解除 PIN有时会出现打了 PIN 却提示错误的情况。解决办法是登录后到“设置 → 账户 → 登录选项 → PIN”先移除 PIN再重新设置。还有一种更省事的方法登录进去后直接创建新密码把本地账户密码改掉PIN 自动被新密码覆盖。4. 常见问题与排查实录这部分每一条都是我在实际帮助别人时遇到的而且几乎每条都有人曾经踩过坑。4.1 进不了BIOS怎么办如果开机按快捷键怎么都进不了 BIOS先看看是不是键盘不响应。现在很多键盘是无线接收器或蓝牙BIOS 阶段尚未加载驱动无法识别。我建议换一个有线 USB 键盘再去试或者看看电脑的 USB 接口有没有插错尽量插在后置或主板直出接口上。还有种情况是 Windows 的快速启动功能导致开机过程“半跳过”你按快捷键的时机其实被吞掉了。这时候先强制关机一次长按电源键 10 秒然后再次开机时第一时间连续按快捷键。如果实在不行就用前面说的 Windows 高级启动菜单。另外联想、华硕部分笔记本有一个独立的小圆孔或按键叫做 Novo 键联想或 Recovery 键华硕按一下会弹出恢复菜单里面就包含选择启动设备的选项。这个比进 BIOS 还快值得记一下。4.2 U盘无法启动的排查做了启动盘但开机还是进 Windows大概率是启动顺序问题。BIOS 里有一个叫“Boot Priority”或者“Boot Sequence”的选项默认第一项是硬盘你把 U 盘调到最前面保存退出后再试。还有一种可能是 U 盘是 USB 3.0 接口但电脑在 BIOS 阶段只支持 USB 2.0偶尔会有兼容问题可以换个 USB 2.0 接口试试。如果 U 盘确实出现在了启动列表中但选中后直接黑屏或花屏那大概率是镜像本身和你电脑的 UEFI 固件兼容性不太好。我通常的做法是换 Ventoy 重新做一遍Ventoy 的兼容性处理得比我手搓的 GRUB 好很多实测解掉了不少奇怪的启动问题。4.3 清除后账户状态异常有次帮同事清密码重启后登录时提示“你的账户已被停用”。原因是他电脑原来给 Administrator 账号设置过“账户已禁用”的策略而我们用工具去清的是 Administrator 账户的密码。工具里只改了密码字段没有动账户状态所以出现了这种结果。遇到这种情况你需要进安全模式再手动启用账户。安全模式的进法重启后按住 Shift 的同时点“电源 → 重启”进入高级启动后选“疑难解答 → 高级选项 → 启动设置 → 重启”然后按数字键 4 或 5 进入安全模式。在安全模式下用命令行net user administrator /active:yes可以启用该账户。4.4 遇到BitLocker/TPM等特殊情况划重点如果电脑开启了 BitLocker 驱动器加密且加密密钥没有备份到你的微软账户或 U 盘里那么任何外部工具直接修改 SAM 之后重启时可能会提示“输入恢复密钥”才能访问驱动器。这不是工具出 bug而是 BitLocker 在检测到磁盘被外部修改时触发了保护机制。所以我在工具界面上专门加了一行红色提醒“如果此电脑开启了 BitLocker请先确定恢复密钥的位置再继续操作”。真遇到这个情况你只能老老实实去找恢复密钥——它在你的微软账户页面登录 account.microsoft.com/devices 可查看设备 BitLocker 恢复密钥或者你当初保存的.beleg文件里。如果没有那抱歉数据在密码学层面就是死活读不出来这也是为什么我反复强调看清条件再动手。4.5 为什么我不建议直接删除SAM文件网上有些老旧方法说“把 SAM 文件删掉就能重置密码”。千万别这么做。直接删除 SAM 文件会导致整个系统账户数据库丢失Windows 重启后会认为这是一台全新机器你会被要求重新初始化系统甚至可能无法进入现有的“已安装系统”状态。表面看是密码没了但你的桌面配置、用户配置文件、软件授权信息也全部乱七八糟。而我们的工具只是精准修改密码字段保留其他所有账户结构和登录配置文件两者差别巨大。4.6 工具的安全性与完整性我发布的是开源项目你可以在 GitHub 上看到全部源码——其实核心就几个脚本加一个开源的chntpw工具。这些组件全部来自公开代码库没有任何闭源二进制、没有联网上传功能、没有后门行为。我建议你在使用任何同类工具前先检查是不是开源、有没有说明文件、修改系统的方式是什么。市面上某些收费的“密码重置”软件本质上也是在做同样的事却敢收几十美元属实赚的是信息差。5. 经验总结与后续扩展我从头到尾做完这个工具之后最大的感受是重置 Windows 密码这件事技术难度其实很低真正难的是让人安心地使用以及在操作前想清楚各种边界条件。5.1 我在实操中踩过的坑第一个坑是分辨系统引导模式。我在一台 2018 年的台上型主机上第一次测试时制作的是 UEFI 引导盘结果开机根本没反应。后来才发现那台机器的 SATA 硬盘装的是传统 MBR 系统而且 BIOS 里关掉了 UEFI 启动。改用传统模式启动盘后一切正常。现在我会把镜像同时做到一个 U 盘的两个分区上一个分区放 UEFI 引导另一个放传统 MBR 引导确保覆盖面足够。第二个坑是 SAM 文件权限问题。某些电脑的 SAM 文件在 Windows 关机时会被标记为“重新启动会还原”也就是所谓的“脏”状态。工具如果直接读写这种文件有极小概率失败所以我在读取前先做一次文件完整性校验如果发现异常会提示你先正常关机一次再操作而不是强行改。这功能在后面几个版本里才加进去但也帮好几个用户避开了写入损坏的风险。5.2 这个工具还能做什么既然能改 SAM那能做的事就不限于清空密码。现在我在这套环境里还集成了另外几个实用功能显示当前账户列表和账户状态可以查看是否有隐藏账户、Guest 是否开启解锁被禁用的账户把账户状态从“Disabled”改为“Enabled”把普通账户提升为管理员使用usermod类功能修改账户组备份整个 SAM 数据库到 U 盘能在系统出问题之前留下恢复快照挂载分区并能直接浏览和复制文件如果机器只是忘了密码但你需要紧急拷贝某个文档这个功能很有用有人可能会问这样算不算“入侵系统”还是那句话工具本身是中性的。它像一个物理钥匙你用它打开自己家的门就是防盗门用它去撬别人家的门那就是违法。希望看到这篇文章的人都把它用在正道上至少像我这样给自己和家人多留一条退路。5.3 给新手的建议如果你从没做过 U 盘启动盘第一次操作别急着在重要电脑上试。先拿一台已经不常用或者准备重装的电脑练手过程中控制好变量用 Rufus 或者 Ventoy 都行第一步先确认能从 U 盘启动进入菜单后再选“清密码”操作完成后用备份的 SAM 文件恢复原样再试一次。练熟之后整个过程只需要几分钟。我还建议把制作好的启动 U 盘放在抽屉里当作一个小道具。电脑密码忘记这种问题不常出现但一旦出现就是麻烦很大。提前花几分钟做一个小小的 U 盘省下的可能是按小时计算的维修费。更重要的是不要把密码写在便利贴上贴在显示器上也别用生日这种全办公室都知道的数字做密码。这是很多被人“借电脑”却意外发现电脑被改了密码的根源。个人体会最深的一点技术永远是在为“让人省心”服务的如果你做一个工具弄得比重装系统还复杂说明方向已经偏了。我后来把这个工具精简到菜单只有三级每个菜单项都写明确的中文说明即便是不懂电脑的人也能在 10 分钟之内看懂并操作完。免费不是偷工减料的理由恰恰因为免费才更要把体验做好——这大概是我这个老运维人最后的倔强。