对于我的辅助硬盘(非启动硬盘),我处于先有鸡还是先有蛋的境地:
- 我的 BTRFS 挂载已变为只读,因为没有剩余空间。
btrfs filesystem resize
仅适用于已安装的卷。- 我需要在强制模式下卸载这个 ro 挂载(因为设备忙)。
- 如果我尝试安装 rw,则会因错误而失败(很可能是由于没有剩余空间导致的)
- 如果我尝试运行,
btrfs check --repair
它显示设备繁忙
要做什么才能找出哪些东西一直处于/dev/sda
忙碌状态?我的硬盘列在 中/etc/fstab
,这重要吗 ( UUID=262a8d86-279a-4f6b-8968-32e200c32255 /mnt/hdd btrfs defaults,compress=zlib 0 1
)???
我试过:
lsof | grep /dev/s
-> 没有lsof | grep /mnt/hdd
-> 没有- 相同,对于
fuser
-> 没有
所以:
mount -o recovery /dev/sda /mnt/hdd
[63035.539792] BTRFS 错误(设备 sda):不允许在发生错误后重新挂载读写
如果我尝试运行:
root@myhost:/mnt# btrfs check --repair /dev/sda
enabling repair mode
ERROR: cannot open device '/dev/sda': Device or resource busy
ERROR: cannot open file system
答案1
从https://btrfs.wiki.kernel.org/index.php/Btrfsck 强烈建议获取最新版本的 btrfs-tools 并使用以下命令恢复重要数据:
mount -o recovery,ro /dev/sda /mnt/hda
btrfs restore
在你之前:btrfs check --repair
建议安装 ro。