![Windows 注册表 NTUSER.DAT 大小在编辑时没有改变](https://linux22.com/image/795926/Windows%20%E6%B3%A8%E5%86%8C%E8%A1%A8%20NTUSER.DAT%20%E5%A4%A7%E5%B0%8F%E5%9C%A8%E7%BC%96%E8%BE%91%E6%97%B6%E6%B2%A1%E6%9C%89%E6%94%B9%E5%8F%98.png)
我正在尝试通过比较文件大小来同步默认用户注册表文件。现在,我注意到更改注册表值时 NTUSER.DAT 的大小不会改变。
两个问题:
- 为什么尺寸没有变化?
- 我怎样才能强制改变尺寸?
答案1
这Windows 注册表是一个分层数据库,它利用二叉树的某种变体来管理其空间和搜索。当节点中没有更多空间来添加额外设置时,注册表将通过分配 4KB 内存块和备份文件来扩展。它永远不会释放内存。不幸的是,没有 API 或工具来压缩此结构。
我正在尝试通过比较文件大小来同步默认用户注册表文件。现在,我注意到更改注册表值时 NTUSER.DAT 的大小不会改变。
两个问题:
这Windows 注册表是一个分层数据库,它利用二叉树的某种变体来管理其空间和搜索。当节点中没有更多空间来添加额外设置时,注册表将通过分配 4KB 内存块和备份文件来扩展。它永远不会释放内存。不幸的是,没有 API 或工具来压缩此结构。