- 主题:[求助]BTRFS文件系统SCRUB出现Uncorrectable怎么处理?
3个月前,我发过一个帖子,是我在A系统休眠,然后开机进入B系统,接着再重启回到A系统,这个时候B系统所在的btrfs的文件系统损坏。(这两个系统都设置了自动挂载对方的分区,就是这样导致B系统所在分区损坏)
昨天晚上我不小心又重复了一次这个操作,B系统的分区再次挂掉。
目前在想办法修复系统文件,根据网上搜到的资料,找回了root,成功mount上了。但在scrub的时候出现Uncorrectable,这种应该怎么处理呢?
root@sunshine: /var/log # btrfs scrub status /lvm/sandisk
UUID: 4b2a631c-3507-4c63-86b3-89e854810bac
Scrub started: Thu Jun 8 14:28:52 2023
Status: finished
Duration: 0:38:13
Total to scrub: 106.00GiB
Rate: 47.34MiB/s
Error summary: csum=13414
Corrected: 0
Uncorrectable: 13414
Unverified: 0
--
FROM 59.40.10.*
btrfs check
btrfs rescue
最后是btrfs restore
然后审视一下自己的工作流程。已经出过两次大问题了。建议修改。
【 在 ttaudi 的大作中提到: 】
: 3个月前,我发过一个帖子,是我在A系统休眠,然后开机进入B系统,接着再重启回到A系统,这个时候B系统所在的btrfs的文件系统损坏。(这两个系统都设置了自动挂载对方的分区,就是这样导致B系统所在分区损坏)
: 昨天晚上我不小心又重复了一次这个操作,B系统的分区再次挂掉。
: 目前在想办法修复系统文件,根据网上搜到的资料,找回了root,成功mount上了。但在scrub的时候出现Uncorrectable,这种应该怎么处理呢?
: ...................
--
FROM 119.130.152.*
btrfs修复三板斧啊,可是我修完了运行scrub还是出现Uncorrectable。数据倒是备份出一些了,也坏了一些文件,在读取这些的时候显示Input/Output Error。
操作流程肯定有问题的,我桌面电脑目前装了arch和debian,经常在这两个系统中切换,所以休眠容易引发问题。
我在想后续要么只留一个系统,要么用同一个swap,这样如果在遇到休眠重启,就不会进入另外一个系统了。
【 在 Dazzy 的大作中提到: 】
: btrfs check
: btrfs rescue
: 最后是btrfs restore
: ...................
--
FROM 101.32.200.*
搜了两天,目前看到的解决方案是先运行:
btrfs scrub start -Bf /dev/sandisk/root;
然后把有问题的文件找出来:
find /lvm/sandisk -type f -exec cp -v {} /dev/null \; 2> corrupted-files.txt
最后删除这些文件,再次scrub就恢复正常了。
--
FROM 120.231.213.*