뭔가(아마도 mkswap)가 내 btrfs 파티션을 손상시켰습니다.

뭔가(아마도 mkswap)가 내 btrfs 파티션을 손상시켰습니다.

저는 아치(특히 노력하는 OS)를 처음 접했지만 문제가 시스템에 있는지 잘 모르겠습니다. 간단히 말해서, 내 노트북에는 세션을 저장할 스왑 파일이 없기 때문에 덮개를 닫은 후 절전 모드로 전환되지 않습니다. 그런 다음 명령을 사용하여 아치 위키에 작성된 가이드에 따라 계속 생성했습니다 mkswap. 아치 위키에 설명된 몇 가지 작업을 수행한 후 노트북을 절전 모드로 전환해 보았지만 아무 일도 일어나지 않았습니다. 며칠 동안 시스템이 제대로 작동했지만 yay를 사용하여 업데이트하고 재부팅을 시도했습니다. 노트북이 다시 시작되지 않았지만 최대 절전 모드를 시도할 때 세션이 로드되었습니다. 해당 세션에서 다시 시작한 후 시작되지 않았습니다. 문제는 시스템 파티션에 있었지만 fsck해결되었습니다. 그런 다음 손상된 btrfs 파티션을 마운트할 수 없기 때문에 부팅에 실패합니다. 문제의 btrfs 파티션은 Linux 시스템 파티션 앞에 위치하며 백업되지 않은 중요한 데이터가 포함되어 있는 것으로 이해됩니다.

내 가설은 mkswap이 시스템 파티션을 압착하여 스왑 파티션을 보상하려고 시도했지만 어떻게 든 btrfs 파티션에 영향을 미치고 인식하지 못했다는 것입니다.

이것은 btrfs 검사의 결과입니다:

Opening filesystem to check...
checksum verify failed on 246038528 wanted 0x00000000 found 0xb6bde3e4
checksum verify failed on 246038528 wanted 0x00000000 found 0xb6bde3e4
checksum verify failed on 246038528 wanted 0x00000000 found 0xb6bde3e4
bad tree block 246038528, bytenr mismatch, want=246038528, have=0
ERROR: could not setup csum tree
ERROR: cannot open file system

중요한 점은 시스템 파티션이 완벽하게 작동하고 w10에서 btrfs 파티션도 손상된 것을 확인하는 이중 부팅에서 랩톱을 사용하고 있다는 것입니다.

btrfs 확인 --수리 시도:

Starting repair.
Opening filesystem to check...
checksum verify failed on 246038528 wanted 0x00000000 found 0xb6bde3e4
checksum verify failed on 246038528 wanted 0x00000000 found 0xb6bde3e4
checksum verify failed on 246038528 wanted 0x00000000 found 0xb6bde3e4
bad tree block 246038528, bytenr mismatch, want=246038528, have=0
WARNING: could not setup csum tree, skipping it
parent transid verify failed on 71958528 wanted 45315 found 45751
parent transid verify failed on 71958528 wanted 45315 found 45751
parent transid verify failed on 71958528 wanted 45315 found 45751
Ignoring transid failure
parent transid verify failed on 201768960 wanted 45297 found 45330
parent transid verify failed on 201768960 wanted 45297 found 45330
parent transid verify failed on 201768960 wanted 45297 found 45330
Ignoring transid failure
checksum verify failed on 202014720 wanted 0x00000000 found 0xb6bde3e4
checksum verify failed on 202014720 wanted 0x00000000 found 0xb6bde3e4
checksum verify failed on 202014720 wanted 0x00000000 found 0xb6bde3e4
bad tree block 202014720, bytenr mismatch, want=202014720, have=0
ERROR: failed to read block groups: Input/output error
ERROR: cannot open file system

시도했습니다 btrfs restore -v(프로젝트에 대한 반복적인 텍스트의 벽을 건너뛰기):

ERROR: root [5 0] level 0 does not match 2

Could not open root, trying backup super
ERROR: superblock bytenr 274877906944 is larger than device size 101518934016
Could not open root, trying backup super

GParted에서 크기 조정도 시도했지만 오류로 인해 허용되지 않았습니다.

편집: 그럼... 데이터를 복구할 수 있는 방법이 있나요?

EDIT2: 스왑 파일을 생성하는 방법은 다음과 같습니다.

sudo swapoff -a
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
sudo mkswap /swapfile
free
sudo swapon /swapfile
grep SwapTotal /proc/meminfo

중요: 스왑 파티션에 대한 정보가 포함되도록 /etc/fstab을 편집하는 것을 잊었지만 문제는 스왑 파티션이 생성되지 않고 대신 내 시스템 부분과 btrfs 부분(데이터만 포함)이 f-ed되었다는 것입니다. .

관련 정보