BTRFS 是一个不错的文件系统,但当你被迫连续两次硬重置系统时,情况就不一样了。在这种情况下,文件系统上所有最近所做的文件更改都会以某种方式被破坏。其中总有 Linux 注册表 dconf。
因此,在计算机硬重启后,您将处于损坏的 dconf 状态 - 所有值都被强制为默认值,并且您被禁止对其进行任何修改。
删除整个/home/$USER
文件夹并从头开始重新创建可以解决问题。但这会花费大量时间并丢失更多数据。
我想知道是否有更好的方法来修复或重置 dconf。最好有检查旧值的选项。
我希望有一些 dconf 设置的备份,就像在 Windows Word 中一样。
答案1
您可以在 中找到用户 dconf 数据库~/.config/dconf
,系统级值存储在 上/etc/dconf
。数据库是快速读取二进制文件和文本文件的组合,位于与数据库同名但以 .d 结尾的目录中:
我的意思是默认系统级值存储在/etc/dconf/ibus
(二进制文件)和/etc/dconf/ibus.d
(充满文本文件的目录)中
您应该首先检查问题是否出在用户或系统级文件中,然后删除(或恢复)有问题的文件。
您应该在中找到用户文件(不是系统级文件)的备份~/.config/dconf/
,其名称为 user.XXXXXX,其中 X 可以是任何字母。
您可以阅读 dconf 系统管理员指南这里了解更多信息。
答案2
经过一番寻找,我在~/.config/dconf
:下发现了两个文件,user
大小为0
字节,以及user.H37S4
正常大小为几 kB 的文件。
删除user
文件并重命名user.H37S4
->user
不仅可以修复注册表,还可以将设置恢复到以前的状态。
我已经在从 Unity 和整个图形桌面环境中注销时在虚拟终端下更改了这些文件。