注册表分成两半,其中一半跟着你走
机器那一半住在 C:\Windows\System32\config——支撑 HKEY_LOCAL_MACHINE 及其兄弟项的 SYSTEM、SOFTWARE、SAM 和 SECURITY 配置单元。用户那一半就是 NTUSER.DAT,每个账户一个文件,就在配置文件文件夹里随行。登录时内核把它作为 HKEY_CURRENT_USER 挂载进注册表树;注销时,只要没有东西保持它加载,它就会干净地卸载,你在本次会话中改动的一切都留在那个文件里。
两个兄弟文件 NTUSER.DAT.LOG1 和 NTUSER.DAT.LOG2 是配置单元的事务日志:它们捕获写入中的数据,让保存到一半的断电无法破坏单元。它们与文件本体一起,构成了“Windows 用户配置文件”的真正主体——一文件夹数据,加上系统在登录时嫁接给你的一段私有注册表。这也正是配置文件能以文档文件夹绝不会“坏”的方式“坏掉”的原因。
里面到底有什么
在用户眼里,那里的东西几乎没一样像“注册表”——它是用户级状态,而且几乎全是你想保留的设置。健康的配置单元有 3 到 30 MB。当某个行为不端的应用开始每次会话写入几 MB 的键时,文件就会膨胀、登录变慢——因为整个单元会在登录时载入内存。
- HKCU\Software——你运行的一切的应用级设置,单元里最大的一块
- HKCU\Environment——你个人的 PATH 和变量,省略 /M 开关时 setx 写入的位置
- 用户级自启动:HKCU\Software\Microsoft\Windows\CurrentVersion\Run 下的 Run 和 RunOnce 键在每次登录时启动你的托盘工具
- 手动设置的文件关联——“打开方式”在 Explorer\FileExts 下创建的 UserChoice 条目
- 资源管理器自己的记忆:任务栏布局、快速访问的固定项、“运行”对话框历史、输入过的路径
- 标记为“登录时重新连接”的映射网络驱动器,位于 HKCU\Network 之下
为什么没人能“清理”它
这个文件从登录到注销被独占锁定——登录期间你无法复制、打开或编辑自己的 NTUSER.DAT,任何清理工具同样不能。承诺“压缩”它的工具要么离线工作,要么导出再重新导入注册表,这会丢失数据,而且对现代的、带索引的单元没有任何可测的改善。膨胀的单元是症状:该治的是往里面写垃圾的那个应用,而不是该拿吸尘器吸的文件。
人人迟早会遇到的故障模式:如果单元在登录时无法加载——损坏,或另一个进程占着它——Windows 会带着警告把你登进临时配置文件,桌面看起来像恢复了出厂设置。解决办法永远不是删除 NTUSER.DAT,那会让重置变成永久。办法是解除让单元保持加载的东西,或从另一个管理员账户用注册表编辑器的“加载配置单元”命令离线修复。
常见问题与解答
删除 NTUSER.DAT 安全吗?
不安全——它是你的设置,不是缓存:删掉它,Windows 会给你一个全新的空配置文件,应用恢复默认设置、桌面变空、任务栏恢复新布局。
为什么我不能复制自己的 NTUSER.DAT?
内核从登录到注销一直独占锁定该单元。可以在该配置文件注销后从另一个管理员账户复制,或在登录时用 reg export 导出 HKCU。
继续阅读
联系我们: [email protected]