btrfs 파일 시스템은 읽기 전용입니다.

btrfs 파일 시스템은 읽기 전용입니다.

지난 며칠 동안 저는 컴퓨터가 부팅 직후 또는 직후에 읽기 전용 모드로 전환되는 것을 확인했습니다. 아래는 dmesg에 표시된 오류입니다. 나는 전체 출력을 게시했습니다dmesg | grep btrfs

  [  109.322761] WARNING: CPU: 1 PID: 230 at fs/btrfs/extent-tree.c:3076 btrfs_run_delayed_refs+0x167/0x1b0 [btrfs]
[  109.322822]  pps_core lpc_ich sg crypto_user ip_tables x_tables btrfs xor zstd_decompress zstd_compress xxhash raid6_pq sr_mod sd_mod cdrom hid_generic usbhid hid mvsas libsas ahci scsi_transport_sas libahci ehci_pci xhci_pci libata xhci_hcd ehci_hcd crc32c_intel scsi_mod usbcore usb_common nvidia_drm(PO) nvidia_modeset(PO) drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm agpgart nvidia(PO) ipmi_devintf ipmi_msghandler
[  109.322910] Workqueue: btrfs-extent-refs btrfs_extent_refs_helper [btrfs]
[  109.322945] RIP: 0010:btrfs_run_delayed_refs+0x167/0x1b0 [btrfs]
[  109.322989]  delayed_ref_async_start+0x8d/0xa0 [btrfs]
[  109.323014]  normal_work_helper+0x39/0x370 [btrfs]
[  109.323111] BTRFS: error (device sdb4) in btrfs_run_delayed_refs:3076: errno=-17 Object already exists

파일 시스템은 읽기 전용이므로 이것이 내가 가진 오류 정보의 전부입니다. btrfs check를 실행했는데 결과는 다음과 같습니다.

WARNING: filesystem mounted, continuing because of --force
Checking filesystem on /dev/sdb4
UUID: 3fdec1ea-351f-40c3-a75a-974279e1d0e7
checking extents
checking free space cache
there is no free space entry for 15187968-15192064
there is no free space entry for 15187968-20971520
cache appears valid but isn't 12582912
ERROR: errors found in free space cache
found 79941521408 bytes used, error(s) found
total csum bytes: 71290456
total tree bytes: 1052409856
total fs tree bytes: 905068544
total extent tree bytes: 58998784
btree space waste bytes: 181546084
file data blocks allocated: 285620469760
 referenced 77330452480

철저히 설명하기 위해 fdisk가 표시하는 드라이브의 파티션 맵은 다음과 같습니다.

Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: F8B87DB6-4AB2-4090-9C36-93F4CD94C9B3

Device        Start        End    Sectors  Size Type
/dev/sdb1      2048     411647     409600  200M EFI System
/dev/sdb2    411648    2508799    2097152    1G Linux filesystem
/dev/sdb3   2508800   18982911   16474112  7.9G Linux swap
/dev/sdb4  18982912 3907028991 3888046080  1.8T Linux filesystem

이 문제를 해결하는 데 도움을 주시면 감사하겠습니다. btrfs 복구를 시도했습니다. 내가 실행한 1시간 동안 계속 같은 내용이 인쇄되었습니다. 체크섬에 관한 내용이었습니다. 라이브 시스템에서 실행되었기 때문에 정확한 출력이 없습니다.

관련 정보