MacBook 每隔 10 分钟自动唤醒

AIGC

结论:触发程序是 mDNSResponder。

macOS 内置的 DHCP/mDNS 客户端会反复创建 MaintenanceWake 电源断言,断言名 mDNSResponder:maintenance,唤醒请求里写明 info="DHCP lease renewal"。powerd 据此在 RTC 上设定维护闹钟,睡眠中的机器被拉起约 45 秒完成 DHCP 租约续期,然后重新入睡。

证据数据
唤醒原因分布(14 小时日志)112 次 DarkWake 中 102 次是 NUB.SPMI0Sw3IRQ ... rtc/Maintenance(RTC 维护闹钟);9 次 wifibt;1 次用户活动
唤醒请求方process=mDNSResponder request=Maintenance,info="DHCP lease renewal",deltaSecs 稳定在 476–504 秒
断言与唤醒的对应mDNSResponder 创建 MaintenanceWake 断言 115 次,与 102 次 rtc/Maintenance DarkWake 逐一配对,偏差 0 秒;按小时统计,断言数与唤醒数 1:1(14–23 点每小时 8–11 次)
周期吻合睡眠时长峰值 501/499/502/500/498 秒 ≈ 8.3 分,加 45 秒唤醒 ≈ 9.5 分钟,和你说的“每 10 分钟”对得上
排除项womp 0、networkoversleep 0 已关;无第三方程序持有唤醒断言;dasd(iCloud)有 27 次 SleepService 请求,但只造成零散唤醒

说白了就是:路由器的 DHCP 租期偏短,macOS 每 ~9 分钟要续租一次;睡眠中续租必须联网,就只能靠 RTC 闹钟把自己叫醒。

解决方案是去路由器把 DHCP 服务的租约时间改成 86400 秒,因为我之前 给 Docker 配置完整的 IPv6 macvlan 网络环境 让 Docker 容器都接到了局域网中,为了降低 Docker 容器占用一个 IP 地址的时长,把这个时间改成 600 秒,数字对的上。

Windows 可以使用 PIN 但无法修改 PIN

在 更新 BIOS 版本至 F12 后启动 Windows 提示 0xC0430001 错误 提到了

在 Windows 账户设置里,PIN 那一栏显示“该选项不可用”,提示“抱歉,此 PIN 不能用于你组织的资源”。

它会造成我没有办法在设置页面去修改我的 PIN,但可以通过登录页面点击我忘记了来重新设置一个新的。Windows Hello 以及 Passkey 等功能都是可继续使用的,之前保存的密钥在 BIOS 更新后也没有丢失。

这是在 AI 的帮助下定位了问题,他发现 dsregcmd /status 命令输出中 NgcSet 为 NO,代表未检测到当前用户的 Windows Hello 密钥,但当前 Windows 用户关联了 Liberty University(自由大学)的工作或学校账户。

$ dsregcmd /status
 
+----------------------------------------------------------------------+
| User State                                                           |
+----------------------------------------------------------------------+
 
                    NgcSet : NO
           WorkplaceJoined : YES
          WorkAccountCount : 1
             WamDefaultSet : YES
       WamDefaultAuthority : consumers
              WamDefaultId : https://login.microsoft.com
 
+----------------------------------------------------------------------+
| Work Account 1                                                       |
+----------------------------------------------------------------------+
 
 DeviceCertificateValidity : [ 2026-01-20 08:52:52.000 UTC -- 2036-01-20 09:22:52.000 UTC ]
               KeyProvider : Microsoft Platform Crypto Provider
              TpmProtected : YES
       WorkplaceTenantName : Liberty University
           WorkplaceMdmUrl :
      WorkplaceSettingsUrl :
                    NgcSet : NO

这个账户是之前 【DEAD】 免费白嫖3-5年的Microsoft 365来了,这回带copilot,有GPT-5.2 - 败家 - 美卡论坛 薅羊毛注册上的,Microsoft 365 Premium 一直持续到 2031 年。我用到现在,它的Copilot基本没啥用,OneDrive 我也没用上,也就这个 Office 套件能有点用。

所以应该就是这个原因了,去把它断开就好了,但我先不断开。

让 Bitwarden 浏览器插件也能使用 Windows Hello

BitWarden 桌面端应用又是一个浏览器,居然占用2GB,真是太可怕了。搜索到个 Aalivexy/bwbio: A lightweight, native handler for the Bitwarden browser extension’s biometric authentication. 可以绕过桌面端,让浏览器插件直接访问 Windows Hello,立马安装使用没有问题。甚至连 Windows Hello 输入 PIN 码的框也能正常显示在前台,而不是像之前那样需要手动去任务栏里找弹出的窗口