솔직히 어떻게 이런 일이 일어났는지 모르겠습니다. 내가 아는 한 openSUSE Tumbleweed(내 첫 번째 배포판)만 사용했지만 어떤 시점에서는 Fedora(두 번째 배포판)에서 더 이상 시작할 수 없었습니다.
로그와 오류를 잘 이해할 수 없으므로 여기에 몇 가지 정보가 있습니다. 자세한 내용은 언제든지 문의해 주세요.
올바르게 시작된 Fedora의 마운트 트리는 다음과 같습니다(아직 유효한 동안).
/dev/nvme0n1p1
에 포함/boot/efi
/dev/nvme0n1p2
에 포함/boot
/dev/nvme0n1p4
에 포함/
- 그리고
swapon
/dev/nvme0n1p3
.
저는 현재 openSUSE Tumbleweed를 실행 중입니다 /dev/sda1
(그리고 /dev/sda2
스왑 파티션도 있습니다). 이것이 내 두 디스크의 모든 파티션입니다.
문제를 찾는 가장 쉬운 방법은 openSUSE에서 이 작업을 수행하는 것입니다.
> sudo mount /dev/nvme0n1p4 /mnt
mount: /mnt: can't read superblock on /dev/nvme0n1p4.
dmesg(1) may have more information after failed mount system call.
또 다른 방법은 Fedora로 부팅하고 복구 콘솔에 들어간 후 오류를 찾는 것입니다. 나도 똑같이 했는데 로그의 마지막 몇 줄은 다음과 같습니다( rdsosreport.txt
).
[ 5.974350] gamestation systemd[1]: Mounting sysroot.mount - /sysroot...
[ 5.984799] gamestation kernel: BTRFS info (device nvme0n1p4): using crc32c (crc32c-intel) checksum algorithm
[ 5.984820] gamestation kernel: BTRFS info (device nvme0n1p4): using free space tree
[ 6.016320] gamestation kernel: BTRFS info (device nvme0n1p4): enabling ssd optimizations
[ 6.016329] gamestation kernel: BTRFS info (device nvme0n1p4): auto enabling async discard
[ 6.016333] gamestation kernel: BTRFS info (device nvme0n1p4): start tree-log replay
[ 6.016557] gamestation kernel: BTRFS error (device nvme0n1p4): parent transid verify failed on logical 75616649216 mirror 1 wanted 3774 found 3773
[ 6.016741] gamestation kernel: BTRFS error (device nvme0n1p4): parent transid verify failed on logical 75616649216 mirror 2 wanted 3774 found 3773
[ 6.016755] gamestation kernel: BTRFS warning (device nvme0n1p4): failed to read log tree
[ 6.019725] gamestation mount[509]: mount: /sysroot: can't read superblock on /dev/nvme0n1p4.
[ 6.019725] gamestation mount[509]: dmesg(1) may have more information after failed mount system call.
[ 6.019962] gamestation kernel: BTRFS error (device nvme0n1p4): open_ctree failed
[ 6.020361] gamestation systemd[1]: sysroot.mount: Mount process exited, code=exited, status=32/n/a
[ 6.020489] gamestation systemd[1]: sysroot.mount: Failed with result 'exit-code'.
[ 6.027539] gamestation systemd[1]: Failed to mount sysroot.mount - /sysroot.
[ 6.027691] gamestation systemd[1]: Dependency failed for initrd-root-fs.target - Initrd Root File System.
[ 6.027749] gamestation systemd[1]: Dependency failed for initrd-parse-etc.service - Mountpoints Configured in the Real Root.
[ 6.027796] gamestation systemd[1]: initrd-parse-etc.service: Job initrd-parse-etc.service/start failed with result 'dependency'.
[ 6.027841] gamestation systemd[1]: initrd-parse-etc.service: Triggering OnFailure= dependencies.
[ 6.028086] gamestation systemd[1]: initrd-root-fs.target: Job initrd-root-fs.target/start failed with result 'dependency'.
[ 6.028137] gamestation systemd[1]: initrd-root-fs.target: Triggering OnFailure= dependencies.
[ 6.028698] gamestation systemd[1]: Stopped target basic.target - Basic System.
[ 6.028859] gamestation systemd[1]: Reached target initrd-fs.target - Initrd File Systems.
[ 6.028909] gamestation systemd[1]: Stopped target sysinit.target - System Initialization.
[ 6.028965] gamestation systemd[1]: dracut-initqueue.service: Deactivated successfully.
[ 6.039256] gamestation systemd[1]: Stopped dracut-initqueue.service - dracut initqueue hook.
[ 6.039569] gamestation systemd[1]: dracut-pre-udev.service: Deactivated successfully.
[ 6.048075] gamestation systemd[1]: Stopped dracut-pre-udev.service - dracut pre-udev hook.
[ 6.048196] gamestation systemd[1]: dracut-cmdline.service: Deactivated successfully.
[ 6.054063] gamestation systemd[1]: Stopped dracut-cmdline.service - dracut cmdline hook.
[ 6.054162] gamestation systemd[1]: dracut-cmdline-ask.service: Deactivated successfully.
[ 6.060064] gamestation systemd[1]: Stopped dracut-cmdline-ask.service - dracut ask for additional cmdline parameters.
[ 6.070201] gamestation systemd[1]: Started emergency.service - Emergency Shell.
[ 6.070605] gamestation systemd[1]: Reached target emergency.target - Emergency Mode.
[ 6.070690] gamestation systemd[1]: Startup finished in 9.729s (firmware) + 7.721s (loader) + 1.540s (kernel) + 0 (initrd) + 4.529s (userspace) = 23.521s.
[ 6.087557] gamestation systemd[1]: Received SIGRTMIN+21 from PID 426 (plymouthd).
[ 6.100118] gamestation systemd[1]: Received SIGRTMIN+21 from PID 426 (plymouthd).
최종 출력은 다음과 같이 끝납니다 dmesg
.
[ 17.184467] sddm-greeter[1856]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set
[ 22.770519] wlp1s0: authenticate with 7c:16:89:d7:b9:b4
[ 22.817934] wlp1s0: send auth to 7c:16:89:d7:b9:b4 (try 1/3)
[ 22.818996] wlp1s0: authenticated
[ 22.823705] wlp1s0: associate with 7c:16:89:d7:b9:b4 (try 1/3)
[ 22.826980] wlp1s0: RX AssocResp from 7c:16:89:d7:b9:b4 (capab=0x511 status=0 aid=117)
[ 22.830069] wlp1s0: associated
[ 22.830376] ath: EEPROM regdomain: 0x80fa
[ 22.830383] ath: EEPROM indicates we should expect a country code
[ 22.830387] ath: doing EEPROM country->regdmn map search
[ 22.830391] ath: country maps to regdmn code: 0x37
[ 22.830395] ath: Country alpha2 being used: FR
[ 22.830400] ath: Regpair used: 0x37
[ 22.830404] ath: regdomain 0x80fa dynamically updated by country element
[ 22.873404] wlp1s0: Limiting TX power to 23 (23 - 0) dBm as advertised by 7c:16:89:d7:b9:b4
[ 31.647894] warning: `kded5' uses wireless extensions which will stop working for Wi-Fi 7 hardware; use nl80211
[ 32.940643] Bluetooth: RFCOMM TTY layer initialized
[ 32.940654] Bluetooth: RFCOMM socket layer initialized
[ 32.940660] Bluetooth: RFCOMM ver 1.11
[ 810.731875] BTRFS info (device sda1): qgroup scan paused
[ 845.654708] FAT-fs (sdb1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
이것이 내 상황입니다. 네 개의 파티션 모두에서 루트로 실행했지만 실제 출력은 ( ) fsck
만 얻었습니다. 의 경우 유일한 출력은 이며 여전히 이 슈퍼블록 문제가 있습니다.dev/nvme0n1p2
/boot
/dev/nvmesd4
fsck some-version-number
누구든지 도와줄 수 있나요? (몇 가지 일 때문에 Fedora가 필요하기 때문에 곧 다시 돌려받을 수 있다면 정말 감사하겠습니다...)
감사해요!
편집하다btrfs
: 마침내 파티션을 재배치하는 데 적합한 도구가 또는 이라는 것을 알게 되었습니다 btrfs filesystem
. 그래서 온라인에서 몇 가지 조사를 하고 몇 가지 명령을 시도해 보았는데 이제 모든 것이 잘 작동합니다. 기억이 잘 나지 않지만(지금은 TW 기록을 확인할 수 없습니다) 다음을 실행한 것 같습니다.
sudo btrfs rescue super-recover -v /dev/nvme0n1p4
;sudo btrfs rescue zero-log /dev/nvme0n1p4
이것이 내가 사용하는 정확한 명령인지는 모르겠지만 일단 알고 나면 필요한 것을 Google에 검색하는 것이 매우 간단하다고 생각합니다.
이것이 언젠가 누군가에게 도움이 되기를 바랍니다!