/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-progs
v5.17 中,btrfs check --force
现在可以在已安装的文件系统上运行。
答案3
要真正自由地对文件系统进行更正,必须将其卸载,因此您永远无法在正在运行的系统上执行此操作。实时、救援,有时您可以通过安装媒体来完成。任何 Linux 都可以,不必是同一类型,它只需要知道文件系统类型即可。我一直在 amd64 Debian 笔记本电脑上 fsck Raspberry Pi SD。您将需要重新启动。