时移和 btrfs。恢复无法挂载/home

时移和 btrfs。恢复无法挂载/home

我正在使用 btrfs (这似乎是这个问题不可或缺的一部分)。

通过时移恢复并重新启动后,我遇到以下错误

[Failed] Failed to mount /home.
[Depend] Dependancy failed for Local File Systems
You are in emergency mode. After logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" or "exit" to default mode.

显然,Control-D、重新启动和默认模式等不起作用。我尝试了 timeshift --restore 并收到以下错误。

在此输入图像描述

它显示“在路径 /run/timeshfit/837/backup 处发现设备 /dev/nvme0n1p2 的陈旧安装。\n 已成功卸载。\n E: 无法删除目录。\n Ret=256”。

我认为问题是,它无法将 /dev/nvme0n1p2 挂载到 /home。但我不知道如何解决它。

非常感谢一些悲伤的帮助

干杯。

PS 这是我的 /etc/fstab 输出,当我以 root 身份登录时(紧急启动后) 在此输入图像描述 我有一种感觉,打字

mount /dev/nvme0n1p2 /home

可能会修复它,但我担心它可能只会擦除驱动器或其他东西......

答案1

解决方案:进入 root 后(只需在紧急模式下输入密码)我编辑了/etc/fstab *在那里我删除了它所说的位subvolid=xxx$。例如来自

UUID=xxx-yyy-zzz  /home  btrfs  rw,noatime,compress=zstd:3,ssd,space_cache,commit=120,subvolid=257,subvol=/@home 0 0

UUID=xxx-yyy-zzz  /home  btrfs  rw,noatime,compress=zstd:3,ssd,space_cache,commit=120,subvol=/@home 0 0

保存并重新启动。

固定的

  • 从技术上讲,我先输入了mount /dev/nvme0n1p2 /home,然后使用了sudo vim /etc/fsbat.但应该是相同的结果,除非我犯了严重错误。

使用全部风险由您自己承担:)但这对我有用。

非常感谢 Arch Reddit 子版块上的 @Albator78: https://www.reddit.com/r/archlinux/comments/qhb13t/comment/hieiyyk/?utm_source=reddit&utm_medium=web2x&context=3

答案2

我会告诉你我是如何解决我的问题的。在一个脚本因在多个文件中更改主管理员帐户的用户名而挂起后,我的系统搞乱了。这使我无法满足正确的登录凭据。我“强制移动”了上次更新的所有根文件在问题 EG 之前恢复: mv -f /run/timeshift/backup/timeshift/snapshots/2023-05-13_17-55-48/* /

在此之后,我注销并重新登录。重新启动。启动后重新登录时,一旦发生这种情况。

现在,在执行此操作之前,我一直遇到“无法安装设备”。

但经过这个小动作之后。打开 TimeShift,单击第一个(最早日期)启动来恢复...如果这不起作用,请关闭 TimeShift 并重复下一个。

最终,这些文件将与您已经强制保存到根目录的文件足够匹配,并将支持您进行新的恢复。

这对我来说是一个生死攸关的情况,因为在破坏系统之前我花了 3 个小时来设置我的 Fedora 服务器。幸运的是,在设置服务器之前放置了 TimeShift 备份。 May 失去了 3 个小时的工作,但恢复了 3 个月的时间和文件。

相关内容