在已安装的设备上不带 --repair 的“btrfs check --force”

在已安装的设备上不带 --repair 的“btrfs check --force”

/home我尝试检查包含并看到的设备:

$ sudo btrfs check --force /dev/vg_svelte/home
WARNING: filesystem mounted, continuing because of --force
ERROR: cannot open device '/dev/vg_svelte/home': Device or resource busy
ERROR: cannot open file system

笔记: btrfs check是只读操作。--repair进行任何更改都需要添加。

btrfs-check手册页表明它应该起作用:

   --force
       allow to work on a mounted filesystem. Note that this should work
       fine on a quiescent or read-only mounted filesystem but may crash if
       the device is changed externally, eg. by the kernel module. Repair
       without mount checks is not supported right now.

这个问题是关于如何检查 btrfs 根文件系统。

为什么我不能btrfs check --force在没有--repair安装的设备上吗?

我正在运行 Manjaro Linux。

答案1

与其他 Linux 文件系统(ext3、ext4 等)一样,检查 btrfs 根文件系统的正确过程是从 LiveCD 或救援 USB/CD/USB 引导系统,并在使用实用程序卸载目标文件系统时检查目标文件系统由 LiveCD 提供。

答案2

btrfs-progsv5.17 中,btrfs check --force现在可以在已安装的文件系统上运行。

答案3

要真正自由地对文件系统进行更正,必须将其卸载,因此您永远无法在正在运行的系统上执行此操作。实时、救援,有时您可以通过安装媒体来完成。任何 Linux 都可以,不必是同一类型,它只需要知道文件系统类型即可。我一直在 amd64 Debian 笔记本电脑上 fsck Raspberry Pi SD。您将需要重新启动。

相关内容