更新并重新启动后,Linux 中的 ecryptfs 主目录无法在启动时解密和挂载。这引起了一些恐慌,因为 Mint 似乎完全从头开始重新安装(但内容/usr/
仍然存在,并且 wifi 仍然配置,所以我知道这只是受影响的主目录。/home/username/
只是全新的。
该/home/.ecryptfs/username/
目录仍然存在(带有子目录.ecryptfs
和.Private
),并且磁盘上的可用空间量没有增加。我设法从实时 USB 挂载并解密它,并将未加密的数据备份到外部存储。有关恢复所有内容的任何提示(即无需从头开始重新安装 Linux,然后将未加密的主目录复制到其位置)?
真的没想到会发生这样的事情。我不知道哪个更新搞砸了。更新的软件包有:
firefox-locale-en:amd64 (96.0.2+linuxmint1+una, 96.0.3+linuxmint1+una), firefox-locale-nl:amd64 (96.0.2+linuxmint1+una, 96.0.3+linuxmint1+una), libwebkit2gtk-4.0-37:amd64 (2.34.3-0ubuntu0.20.04.1, 2.34.4-0ubuntu0.20.04.1), gir1.2-webkit2-4.0:amd64 (2.34.3-0ubuntu0.20.04.1, 2.34.4-0ubuntu0.20.04.1), firefox:amd64 (96.0.2+linuxmint1+una, 96.0.3+linuxmint1+una), libjavascriptcoregtk-4.0-18:amd64 (2.34.3-0ubuntu0.20.04.1, 2.34.4-0ubuntu0.20.04.1), gir1.2-javascriptcoregtk-4.0:amd64 (2.34.3-0ubuntu0.20.04.1, 2.34.4-0ubuntu0.20.04.1
我唯一能想到的另一件事是,我在重新启动之前刚刚安装了两个不同的 CUDA 版本(但无论如何/usr/local
)。
编辑:重新检查/var/log/apt/history.log
并发现在那之前(大约一个小时前),我已经安装了cmake
(使用apt
)。安装的内容如下:Install: librhash0:amd64 (1.3.9-1, automatic), cmake-data:amd64 (3.16.3-1ubuntu1, automatic), cmake:amd64 (3.16.3-1ubuntu1)
。我不记得在安装 cmake 和运行其他更新之间进行过任何重新启动。 librhash 的安装可能是问题的原因吗?
Edit2:恢复了问题发生之前的 Timeshift 快照,希望是我安装的某些软件导致了问题。没有运气。
答案1
在尝试诊断发生的情况后,最可能的原因是 SSD 修剪不良。或太阳光线。没有把握。
跑去journalctl | grep fstrim
检查一下。这就是我所做的,我每周进行一次修剪,在命运重启前约 3 小时进行。
对于其他可能遇到此问题的人,请从实时 USB 启动,挂载/解密您的主目录(https://askubuntu.com/a/873171/1113584)并将您的数据复制到安全的地方。然后备份你的包(使用dpkg --get-selections > mylist.list
和flatpak --list > flatpaklist.list
- 因为 Mint 的备份工具看不到任何已安装的包)。不要忘记将这些 .list 文件也复制到备份中。
此时 ecryptfs 可能已经崩溃,不值得修复。那么恢复系统需要做什么:
- 重新安装 Mint(带或不带加密)
- 重新安装刚刚创建的两个 .list 文件中的所有程序
从刚刚用来安装 Mint 的实时 USB 再次启动,打开备份和安装 Mint 的分区,这会弄乱权限,所以只需跳到 4)- 复制回您刚刚备份的 /home/ 目录
如果一切顺利,您的系统应该会恢复到以前的样子(并且浪费了一天的时间)。
感谢 #linuxmint-help 的 lARRYlAFFER 和 DJPH 提供的建议。