ext4 오프셋 이전의 "FAT 파티션의 잘못된 점프" 및 "클러스터당 잘못된 섹터 수"

ext4 오프셋 이전의 "FAT 파티션의 잘못된 점프" 및 "클러스터당 잘못된 섹터 수"

TL;DR 파티션 테이블(?)은 NTFS 데이터 파티션 및 EXT4 파일 시스템이 포함된 드라이브의 Windows 디스크 관리로 인해 엉망이 될 수 있습니다. 확실히 데이터 손실이 전혀 없거나 거의 없습니다. testdisk나 다른 해결 방법은 모두 작동하지 않습니다. 지금 무엇을 시도해야 할지 모르겠습니다.

한동안 저는 ~330GB NTFS 데이터 파티션 + Windows 복구 파티션을 데이터 드라이브로 사용하는 1TB 드라이브와 ~660GB의 ext4 Linux 파일 시스템을 사용했습니다. 최근에 Windows 볼륨을 삭제하고 다시 포맷했습니다. 그런 다음 일부 데이터를 볼륨으로 전송하고 다시 삭제합니다. 그 후 Linux 시스템을 시작하려고 시도했지만 알 수 없는 파일 시스템에 의해 GRUB 구조로 쫓겨났습니다. 조사를 위해 Live CD를 부팅한 후 파일 시스템을 검사할 때 몇 가지 이상한 결과를 발견했습니다. fdisk -l을 실행한 결과:

Disk /dev/sdb: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: CT1000MX500SSD4
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: 02CF7D49-F583-4C04-9795-0455F781C90B

장치 시작 및 끝 섹터 크기 유형

/dev/sdb2 660166656 1953523711 1293357056 616.7G Linux filesystem

GRUB을 다시 설치해 보십시오(왜 NTFS라고 생각합니까? 하하):

NTFS signature is missing.
Failed to mount '/dev/sdb2': Invalid argument
The device '/dev/sdb2' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
NTFS signature is missing.
Failed to mount '/dev/sdb2': Invalid argument
The device '/dev/sdb2' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

ext4를 사용하여 명시적으로 마운트

mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sdb2, missing codepage or helper program, or other error.
dmesg(1) may have more information after failed mount system call.

fsck를 시도했습니다(mke2fs에서 얻은 모든 복구 블록을 시도했지만 소용이 없었습니다. 결과는 동일함)

fsck from util-linux 2.38.1
e2fsck 1.47.0 (5-Feb-2023)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sdb2

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>

파티션이 어떤 파일 시스템인지 알아내려고 합니다(wtf LOL).

ubuntu@ubuntu:~$ sudo file -sL /dev/sdb2
/dev/sdb2: OpenPGP Public Key

이것은 (특히 완전히 임의의 바이트를 읽는다는 것을 보여주는 마지막 것입니다) 모든 것이 손상된 파일 시스템이나 잘못 정렬되거나 엉망인 파티션 테이블을 가리킨다고 생각합니다. 해당 파티션에서 직접 아무것도 수행한 적이 없고 해당 드라이브의 다른 파티션에서만 작업했으며 그에 대한 증거가 없다는 사실을 고려할 때 실제 파일 시스템에 심각한 손상이 발생할 가능성은 거의 없다고 생각합니다. 하드 포맷과 같이 드라이브에서 발생한 파괴적인 작업이 없습니다. 내 생각엔 Windows가 어떻게든 파티션 테이블을 엉망으로 만들었고(자주 그렇듯이) 우리는 잘못된 오프셋에서 이를 설명하려고 노력하고 있는 것 같습니다.

몇 가지 파일 복구 도구를 실행했지만 잘못 해석된 일부 쓰레기 파일 형식을 제외하고는 유용한 것을 얻지 못했습니다.

그런 다음 테스트 디스크를 사용해 보았습니다. 처음에는 fdisk에서 찾은 것과 동일한 Linux 파일 시스템 파티션을 보았지만 파일 형식도 전혀 해석할 수 없었습니다. NTFS 파일 시스템과 ext4 파일 시스템 사이의 정확한 전환 지점에서 이상한 오류 메시지를 제외하고는 빠르고 심층적인 검색 결과가 나오지 않았습니다. (이 드라이브에 한때 존재했던 Windows 복구 파티션의 형식인 FAT와 관련이 있는데, 그것이 문제의 원인(?)일 수도 있습니다. 아래에 테스트 디스크 로그를 첨부했습니다. 솔직히 지금은 어떻게 해야 할지 모르겠습니다.

Sat Sep 16 04:30:31 2023
Command line: TestDisk

TestDisk 7.1, Data Recovery Utility, July 2019
Christophe GRENIER <[email protected]>
https://www.cgsecurity.org
OS: Linux, kernel 6.2.0-20-generic (#20-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr 6 07:48:48 UTC 2023) x86_64
Compiler: GCC 12.2
ext2fs lib: 1.47.0, ntfs lib: libntfs-3g, reiserfs lib: none, ewf lib: none, curses lib: ncurses 6.3
User is not root!
Hard disk list


TestDisk exited normally.
Using locale 'C.UTF-8'.


Sat Sep 16 04:30:31 2023
Command line: TestDisk /debug

TestDisk 7.1, Data Recovery Utility, July 2019
Christophe GRENIER <[email protected]>
https://www.cgsecurity.org
OS: Linux, kernel 6.2.0-20-generic (#20-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr 6 07:48:48 UTC 2023) x86_64
Compiler: GCC 12.2
ext2fs lib: 1.47.0, ntfs lib: libntfs-3g, reiserfs lib: none, ewf lib: none, curses lib: ncurses 6.3
/dev/sda: LBA, HPA, LBA48 support
/dev/sda: size 468862128 sectors
/dev/sda: user_max 468862128 sectors
/dev/sda: native_max 468862128 sectors
/dev/sdb: LBA, LBA48 support
/dev/sdb: size 1953525168 sectors
/dev/sdb: user_max 1953525168 sectors
Warning: can't get size for Disk /dev/mapper/control - 0 B - 0 sectors, sector size=512
Hard disk list
Disk /dev/sda - 240 GB / 223 GiB - CHS 29185 255 63, sector size=512 - KINGSTON SA400S37240G, S/N:50026B7783AA5D9F, FW:SBFKB1H5
Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63, sector size=512 - CT1000MX500SSD4, S/N:2031E2BDCD5C, FW:M3CR023
Disk /dev/loop0 - 2372 MB / 2263 MiB - 4634632 sectors (RO), sector size=512
Disk /dev/loop1 - 369 MB / 352 MiB - 722280 sectors (RO), sector size=512
Disk /dev/loop10 - 462 KB / 452 KiB - 904 sectors (RO), sector size=512
Disk /dev/loop11 - 157 MB / 150 MiB - 307552 sectors (RO), sector size=512
Disk /dev/loop12 - 14 MB / 13 MiB - 28120 sectors (RO), sector size=512
Disk /dev/loop2 - 1015 MB / 968 MiB - 1983984 sectors (RO), sector size=512
Disk /dev/loop3 - 253 MB / 242 MiB - 495928 sectors (RO), sector size=512
Disk /dev/loop4 - 4096 B - 8 sectors (RO), sector size=512
Disk /dev/loop5 - 76 MB / 72 MiB - 149488 sectors (RO), sector size=512
Disk /dev/loop6 - 96 MB / 91 MiB - 187776 sectors (RO), sector size=512
Disk /dev/loop7 - 482 MB / 460 MiB - 943256 sectors (RO), sector size=512
Disk /dev/loop8 - 12 MB / 12 MiB - 25240 sectors (RO), sector size=512
Disk /dev/loop9 - 55 MB / 53 MiB - 109032 sectors (RO), sector size=512
Disk /dev/nvme0n1 - 240 GB / 223 GiB - CHS 228936 64 32, sector size=512

Partition table type (auto): EFI GPT
Disk /dev/sdb - 1000 GB / 931 GiB - CT1000MX500SSD4
Partition table type: EFI GPT

Interface Advanced
hdr_size=92
hdr_lba_self=1
hdr_lba_alt=1953525167 (expected 1953525167)
hdr_lba_start=34
hdr_lba_end=1953525134
hdr_lba_table=2
hdr_entries=128
hdr_entsz=128
2 P Linux filesys. data 660166656 1953523711 1293357056

Analyse Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63
hdr_size=92
hdr_lba_self=1
hdr_lba_alt=1953525167 (expected 1953525167)
hdr_lba_start=34
hdr_lba_end=1953525134
hdr_lba_table=2
hdr_entries=128
hdr_entsz=128
Current partition structure:
2 P Linux filesys. data 660166656 1953523711 1293357056

search_part()
Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63
check_FAT: Bad jump in FAT partition
check_FAT: Bad number of sectors per cluster

SYSV4 Marker at 37956/138/52

recover_sysv4
0 0000 0000 00 00 00 00 00 00 00 00
Unknown 609771885 717560551858540 717559942086656 [CjS­Þ0]
SysV4, 367390 TB / 334139 TiB
0 0000 0000 00 00 00 00 00 00 00 00
Partition not added.

LVM magic value at 64813/225/1
check_FAT: Bad jump in FAT partition
check_FAT: Bad number of sectors per cluster

Results

interface_write()

No partition found or selected for recovery

search_part()
Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63
check_FAT: Bad jump in FAT partition
check_FAT: Bad number of sectors per cluster

SYSV4 Marker at 37956/138/52

recover_sysv4
0 0000 0000 00 00 00 00 00 00 00 00
Unknown 609771885 717560551858540 717559942086656 [CjS­Þ0]
SysV4, 367390 TB / 334139 TiB
0 0000 0000 00 00 00 00 00 00 00 00
Partition not added.

LVM magic value at 64813/225/1
check_FAT: Bad jump in FAT partition
check_FAT: Bad number of sectors per cluster

Results

interface_write()

No partition found or selected for recovery
simulate write!

Interface Advanced
hdr_size=92
hdr_lba_self=1
hdr_lba_alt=1953525167 (expected 1953525167)
hdr_lba_start=34
hdr_lba_end=1953525134
hdr_lba_table=2
hdr_entries=128
hdr_entsz=128
2 P Linux filesys. data 660166656 1953523711 1293357056

TestDisk exited normally.

Intel/mbr 모드에서는 왜 안 됩니까?

Fri Sep 15 20:55:18 2023
Command line: TestDisk

TestDisk 7.1, Data Recovery Utility, July 2019
Christophe GRENIER <[email protected]>
https://www.cgsecurity.org
OS: Linux, kernel 6.2.0-20-generic (#20-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr 6 07:48:48 UTC 2023) x86_64
Compiler: GCC 12.2
ext2fs lib: 1.47.0, ntfs lib: libntfs-3g, reiserfs lib: none, ewf lib: none, curses lib: ncurses 6.3
User is not root!
Hard disk list


TestDisk exited normally.
Using locale 'C.UTF-8'.


Fri Sep 15 20:55:18 2023
Command line: TestDisk /debug

TestDisk 7.1, Data Recovery Utility, July 2019
Christophe GRENIER <[email protected]>
https://www.cgsecurity.org
OS: Linux, kernel 6.2.0-20-generic (#20-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr 6 07:48:48 UTC 2023) x86_64
Compiler: GCC 12.2
ext2fs lib: 1.47.0, ntfs lib: libntfs-3g, reiserfs lib: none, ewf lib: none, curses lib: ncurses 6.3
/dev/sda: LBA, HPA, LBA48 support
/dev/sda: size 468862128 sectors
/dev/sda: user_max 468862128 sectors
/dev/sda: native_max 468862128 sectors
/dev/sdb: LBA, LBA48 support
/dev/sdb: size 1953525168 sectors
/dev/sdb: user_max 1953525168 sectors
Warning: can't get size for Disk /dev/mapper/control - 0 B - 0 sectors, sector size=512
Hard disk list
Disk /dev/sda - 240 GB / 223 GiB - CHS 29185 255 63, sector size=512 - KINGSTON SA400S37240G, S/N:50026B7783AA5D9F, FW:SBFKB1H5
Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63, sector size=512 - CT1000MX500SSD4, S/N:2031E2BDCD5C, FW:M3CR023
Disk /dev/loop0 - 2372 MB / 2263 MiB - 4634632 sectors (RO), sector size=512
Disk /dev/loop1 - 369 MB / 352 MiB - 722280 sectors (RO), sector size=512
Disk /dev/loop10 - 462 KB / 452 KiB - 904 sectors (RO), sector size=512
Disk /dev/loop11 - 157 MB / 150 MiB - 307552 sectors (RO), sector size=512
Disk /dev/loop12 - 14 MB / 13 MiB - 28120 sectors (RO), sector size=512
Disk /dev/loop2 - 1015 MB / 968 MiB - 1983984 sectors (RO), sector size=512
Disk /dev/loop3 - 253 MB / 242 MiB - 495928 sectors (RO), sector size=512
Disk /dev/loop4 - 76 MB / 72 MiB - 149488 sectors (RO), sector size=512
Disk /dev/loop5 - 4096 B - 8 sectors (RO), sector size=512
Disk /dev/loop6 - 96 MB / 91 MiB - 187776 sectors (RO), sector size=512
Disk /dev/loop7 - 482 MB / 460 MiB - 943256 sectors (RO), sector size=512
Disk /dev/loop8 - 12 MB / 12 MiB - 25240 sectors (RO), sector size=512
Disk /dev/loop9 - 55 MB / 53 MiB - 109032 sectors (RO), sector size=512
Disk /dev/nvme0n1 - 240 GB / 223 GiB - CHS 228936 64 32, sector size=512

Partition table type (auto): EFI GPT
Disk /dev/sdb - 1000 GB / 931 GiB - CT1000MX500SSD4
Partition table type: Intel

Interface Advanced
Geometry from i386 MBR: head=256 sector=63
check_part_i386 1 type EE: no test
1 P EFI GPT 0 0 2 121601 80 63 1953525167

Analyse Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63
Geometry from i386 MBR: head=256 sector=63
check_part_i386 1 type EE: no test
Current partition structure:
1 P EFI GPT 0 0 2 121601 80 63 1953525167

Warning: Bad ending head (CHS and LBA don't match)
No partition is bootable

search_part()
Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63

Results

interface_write()

No partition found or selected for recovery
simulate write!

write_mbr_i386: starting...
write_all_log_i386: starting...
No extended partition

Analyse Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63
Geometry from i386 MBR: head=256 sector=63
check_part_i386 1 type EE: no test
Current partition structure:
1 P EFI GPT 0 0 2 121601 80 63 1953525167

Warning: Bad ending head (CHS and LBA don't match)
No partition is bootable

search_part()
Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63
Search for partition aborted

Results

interface_write()

No partition found or selected for recovery
simulate write!

write_mbr_i386: starting...
write_all_log_i386: starting...
No extended partition
Partition table type (auto): EFI GPT
Disk /dev/sdb - 1000 GB / 931 GiB - CT1000MX500SSD4
Partition table type: EFI GPT

Interface Advanced
hdr_size=92
hdr_lba_self=1
hdr_lba_alt=1953525167 (expected 1953525167)
hdr_lba_start=34
hdr_lba_end=1953525134
hdr_lba_table=2
hdr_entries=128
hdr_entsz=128
2 P Linux filesys. data 660166656 1953523711 1293357056
search_superblock

2 P Linux filesys. data 660166656 1953523711 1293357056
Support for this filesystem wasn't enabled during compilation.

2 P Linux filesys. data 660166656 1953523711 1293357056
Support for this filesystem wasn't enabled during compilation.
gpt_change_part_type
Change partition type:
2 P Linux filesys. data 660166656 1953523711 1293357056
Change partition type:
2 P ext4 660166656 1953523711 1293357056
New options :
Dump : No
Align partition: Yes
Expert mode : Yes

Analyse Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63
hdr_size=92
hdr_lba_self=1
hdr_lba_alt=1953525167 (expected 1953525167)
hdr_lba_start=34
hdr_lba_end=1953525134
hdr_lba_table=2
hdr_entries=128
hdr_entsz=128
Current partition structure:
2 P Linux filesys. data 660166656 1953523711 1293357056

search_part()
Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63
check_FAT: Bad jump in FAT partition
check_FAT: Bad number of sectors per cluster

SYSV4 Marker at 37956/138/52

recover_sysv4
0 0000 0000 00 00 00 00 00 00 00 00
Unknown 609771885 717560551858540 717559942086656 [CjS­Þ0]
SysV4, 367390 TB / 334139 TiB
0 0000 0000 00 00 00 00 00 00 00 00
Partition not added.

LVM magic value at 64813/225/1
check_FAT: Bad jump in FAT partition
check_FAT: Bad number of sectors per cluster

Results
Can't open backup.log file: No such file or directory
interface_load
0 0000 0000 00 00 00 00 00 00 00 00

interface_write()

No partition found or selected for recovery

search_part()
Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63
check_FAT: Bad jump in FAT partition
check_FAT: Bad number of sectors per cluster

SYSV4 Marker at 37956/138/52

recover_sysv4
0 0000 0000 00 00 00 00 00 00 00 00
Unknown 609771885 717560551858540 717559942086656 [CjS­Þ0]
SysV4, 367390 TB / 334139 TiB
0 0000 0000 00 00 00 00 00 00 00 00
Partition not added.

LVM magic value at 64813/225/1
check_FAT: Bad jump in FAT partition
check_FAT: Bad number of sectors per cluster

Results
0 0000 0000 00 00 00 00 00 00 00 00

interface_write()

No partition found or selected for recovery
simulate write!

Interface Advanced
hdr_size=92
hdr_lba_self=1
hdr_lba_alt=1953525167 (expected 1953525167)
hdr_lba_start=34
hdr_lba_end=1953525134
hdr_lba_table=2
hdr_entries=128
hdr_entsz=128
2 P Linux filesys. data 660166656 1953523711 1293357056
search_superblock

2 P Linux filesys. data 660166656 1953523711 1293357056
Support for this filesystem wasn't enabled during compilation.
New options :
Dump : No
Align partition: No
Expert mode : Yes

Analyse Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63
hdr_size=92
hdr_lba_self=1
hdr_lba_alt=1953525167 (expected 1953525167)
hdr_lba_start=34
hdr_lba_end=1953525134
hdr_lba_table=2
hdr_entries=128
hdr_entsz=128
Current partition structure:
2 P Linux filesys. data 660166656 1953523711 1293357056

search_part()
Disk /dev/sdb - 1000 GB / 931 GiB - CHS 121601 255 63
Search for partition aborted

Results

interface_write()

No partition found or selected for recovery

도움을 주시면 감사하겠습니다! 파일 시스템/파일 이름은 해당 드라이브에 있는 데이터 중 가장 중요한 부분이므로 Photorec과 같은 도구를 사용하는 것은 실제로 도움이 되지 않습니다. 유일한 방법은 가능하다면 파티션을 복구하는 것입니다. 맨 위

답변1

misc/findsuper.ce2fsprogs 소스 트리에서 유틸리티를 빌드하고 실행해 보세요. 전체 디스크를 스캔하고 파티션의 예상 시작 오프셋과 함께 찾은 슈퍼블록을 보고합니다.

일반 파티션이 있으면 제대로 작동하지만 LVM을 사용하고 루트 파일 시스템의 크기를 조정하면 더 복잡해집니다.

관련 정보