testdisk 및 gpart 정보를 사용하여 ext4 파티션 마운트

testdisk 및 gpart 정보를 사용하여 ext4 파티션 마운트

900,000개의 파일이 포함된 2TB 디스크의 ext4 파티션 테이블을 복구하려고 합니다. 원본 HD를 복제했고 현재 복제된 HD로 작업 중입니다. Parted Magic Live CD를 실행하고 있습니다.

testdisk를 사용하여 원래 삭제된 파티션의 모습을 얻었습니다.

Disk /dev/sdd - 2000 GB / 1863 GiB - CHS 243201 255 63
Partition Start End Size in sectors
>P Linux 0 1 1 243200 254 61 3907024000 [Duo]

이 번호 읽는 걸 도와줄 사람 있나요? 제가 아는 한, mount 명령을 통해 데이터를 사용할 수 있고 모든 것이 잘 되면 파일에 액세스하여 파일 전송을 시작할 수 있습니다. 그렇죠?

~에 따르면이 매뉴얼 페이지, testdisk에서 추출한 데이터를 사용하여 파티션을 복구할 수 있습니다.

"이제 TestDisk에서 제공한 값을 사용하면 fsck를 사용하여 ext2/ext3 파일 시스템을 복구할 수 있습니다. TestDisk가 블록 번호 24577에서 블록 크기가 1024바이트인 슈퍼블록을 찾으면 다음을 실행하세요."

# fsck.ext3 -b 24577 -B 1024 /dev/hda1

하지만 정확히 어떻게 되는지는 모르겠습니다.

그건 그렇고, gpart의 더 유용한 데이터는 다음과 같습니다.

# gpart -gv /dev/sdd

dev(/dev/sdd) mss(512)
Primary partition(1)
   type: 131(0x83)(Linux ext2 filesystem)
   size: 1907726mb #s(3907024000) s(63-3907024062)
   chs:  (0/1/1)-(1023/254/63)d (0/0/0)-(0/0/0)r
   hex:  00 01 01 00 83 FE FF FF 3F 00 00 00 80 74 E0 E8

Primary partition(2)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
   hex:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Primary partition(3)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
   hex:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Primary partition(4)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
   hex:  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Begin scan...
Possible partition(Linux ext2), size(1734848mb), offset(2mb)
   type: 131(0x83)(Linux ext2 filesystem)
   size: 1734848mb #s(3552968704) s(4096-3552972799)
   chs:  (1023/255/0)-(1023/255/0)d (0/0/0)-(0/0/0)r
   hex:  00 FF C0 FF 83 FF C0 FF 00 10 00 00 00 00 C6 D3

~에 따르면이 게시물나는 이 정보를 사용하여 나에게 도움을 줄 수 있습니다.

"이번에 유용한 정보를 얻었습니다. s(63-117258434) 부분은 시작 섹터인 63을 보여줍니다. 섹터는 512바이트이므로 파티션의 정확한 시작 오프셋은 32256입니다. 따라서 이 파티션을 마운트하려면 간단히 문제: "

mount -o loop,ro,offset=32256 /storage/image/diskofperson.dd /mnt/recovery

"보라, 파일 시스템에 대한 접근 권한을 얻었습니다."

/storage/image/jdiskofperson.dd on /mnt/recovery type vfat (ro,loop=/dev/loop0,offset=32256)

어떤 도움이라도 좋을 것입니다.

답변1

이게 도움이 될지는 모르겠지만...

testdisk가 파티션을 인식하는 지점에 도달하면 해당 파티션을 선택하고 구조를 자세히 살펴보고 파일을 표시하는 메뉴 옵션을 선택할 수 있어야 합니다. 여기에서 파일 복사를 선택할 수 있습니다.

그러나 원하는 파티션을 식별한 위치로 돌아가면 새 파티션 테이블을 디스크에 쓰는 [w]rite 옵션이 화면에 표시됩니다. 그러면 복구된 파티션과 다른 가짜(최선의 추측) 파티션이 제공됩니다. 이 시점에서 데이터를 복사하고 필요한 경우 디스크를 복구하십시오.

한번만 해봤기 때문에 자세한 내용은 잘 모르겠습니다. 그러나 FreeBSD의 fdisk로 파티션 테이블을 조작한 후 testdisk는 내가 필요한 NTFS 파티션을 복원했습니다.

복구를 위해 testdisk 외에는 아무것도 필요하지 않았지만 testdisk에서 초기 장치 유형 선택을 할 때 파티션 테이블을 msdos에서 gpt로 변경했기 때문에 결국 데이터를 복사하고 디스크를 다시 포맷하게 되었습니다.

답변2

디스크를 디스크에 직접 복제했기 때문에, 찾은 데이터를 이용해 간단히 gpart파티션 테이블을 복원할 수 있습니다. 실제로 gpart가 이를 다시 생성할 수 있습니다.

gpart -gv -W /dev/sdd /dev/sdd
partprobe /dev/sdd

그런 다음 , 에서 /dev/sdd1파일 시스템 복구 도구를 사용합니다 ./dev/sdd1e2fsck /dev/sdd1

관련 정보