슈퍼블록으로 인해 손상된 ext4 파티션을 복구하시겠습니까? (크기 조정 후 실패, 백업 매직 넘버가 작동하지 않음)

슈퍼블록으로 인해 손상된 ext4 파티션을 복구하시겠습니까? (크기 조정 후 실패, 백업 매직 넘버가 작동하지 않음)

배경

Linux 루트 ext4 파티션이 있고 더 많은 공간이 필요합니다. Windows 설치에서 해당 파티션을 지운 다음 라이브 USB의 KDE 파티션 관리자에서 나머지 내용을 수정합니다.

저는 파티션 관리/복구에 대한 경험이 전혀 없기 때문에 아마도 해서는 안 될 일을 하고 있는 것 같습니다.

유제:ext4 슈퍼블록 복원

이전 파티션 구조(기억나는대로)
|device|type              |
|------|------------------|
|sda1  | ESP Windows      |
|sda2  | MS Reserved      |
|sda3  | Win partition    | 
|sda4  | -(unallocated)-  |
|sda5  | ESP Linux        | *
|sda6  | Swap             | *
|sda7  | Solus Linux      | 
|sda8  | Win recovery env |

재해가 발생하기 전 단계

  • 이동을 가능하게 하기 위해 중간 파티션(*으로 표시)을 삭제하고 Linux 확장을 시작했습니다.
  • 나는 움직였다부분파티션을 확장하는 데 사용되는 할당되지 않은 공간
  • 확신하다파티션 확장 후 공간을 두지 마세요
  • 시간이 좀 걸리고 크기 조정이 성공했지만 작업 오류로 종료되었습니다 e2fsck: bad magic number[...] superblock invalid.

내가 뭘 한거지

오류가 발생한 후 검색 결과 fdisk파티션이 어떤 식으로든 잘못 정렬되어 일부 섹션이 시작되어서는 안 되는 곳에서 끝났음을 나타내는 "디스크 순서 오류"( sda7이전에 나타남 )가 보고되었음을 발견했습니다.sda4

  • 공부했다나쁜 매직넘버그리고슈퍼 블록 오류
  • 매직넘버는 백업으로 교체하는 것이 좋습니다.
  • 모든 것을 시도했지만 e2fsck -b {number} /dev/sda7아무것도 작동하지 않았습니다.

그런 다음 파티션 크기를 조정하는 데 주의를 돌렸고 fdisk자체적으로 크기를 조정하는 것을 발견했으며 Linux 파티션을 올바른 위치에 배치하는 트릭을 수행했습니다.

  • 이제 섹터가 정확합니다. 나는 재조정이 다른 것에 영향을 미치지 않는지 확인하기 위해 다른 사람들을 앞뒤로 확인했습니다.

하지만 나는알 수 없는 파일 시스템 유형으로 표시되는 액세스할 수 없는(마운트할 수 없는) 크기 조정된 파티션(Linux 루트, ext4)에서 여전히 멈춰 있습니다.

(현재 출력은 하단에 있습니다)

크기 조정으로 인해 파티션(수퍼블록)에 대한 정보가 변경되고 제대로 업데이트되지 않았기 때문에 이 모든 일이 발생한 것 같습니다.



회복하려면 어떻게 해야 합니까?

  1. 어떻게든 슈퍼블록 정보를 재구성할 수 있나요?
  2. 파티션을 지우기 전에 파티션 내용을 백업하여 올바르게 다시 생성할 수 있는 방법이 있습니까? 지나가다 봤는데 ddrescue내가 찾던게 맞나봐
  3. 무엇에 대해 testdisk? 유망해 보이지만 ATM을 이해하기에는 너무 복잡합니다. 여기서 도움을 받으면 좋을 것 같습니다.

어떤 답변이라도 대단히 감사하겠습니다.



산출

재구성된 파티션 구조

# fdisk -l /dev/sda

Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Disk model: ADATA SU650     
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 2268FBBE-207C-44A8-A784-28F30D837464

Device         Start       End   Sectors  Size Type
/dev/sda1       2048    206847    204800  100M EFI System
/dev/sda2     206848    239615     32768   16M Microsoft reserved
/dev/sda3     239616 189430999 189191384 90.2G Microsoft basic data
/dev/sda4  189431808 192237567   2805760  1.3G  ## temporary fs to avoid mixing up
/dev/sda5  192237568 233375743  41138176 19.6G Linux filesystem
/dev/sda6  233375744 234438655   1062912  519M Windows recovery environment

(예, 저장 공간이 매우 제한되어 있습니다. 아니요. 현재로서는 다른 옵션이 없습니다.)

파티션을 마운트해 보세요

# mount /dev/sda5 /target     
mount: /target: wrong fs type, bad option, bad superblock on /dev/sda5, missing codepage or helper program, or other error.

잘못된 매직 넘버 오류:

# e2fsck -v /dev/sda5

e2fsck 1.45.6 (20-Mar-2020)
ext2fs_open2: Bad magic number in super-block
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/sda5

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
 or
    e2fsck -b 32768 <device>

관련 정보