엉망이 된 파티션에서 디렉터리 구조와 파일을 복구하는 방법

엉망이 된 파티션에서 디렉터리 구조와 파일을 복구하는 방법

내 외장 하드 드라이브에서 이상한 일이 일어나고 있어(묻지 마세요) (중요한) 데이터에 액세스할 수 없게 됩니다...설치할 수 없어요. 이 데이터는 vfat 파일 시스템에 있습니다.

하나의 도구로 많은 것을 얻을 수 있고,가장 중요한. 파일을 유형별로 디렉터리로 정렬하지만 원래 디렉터리 구조의 전체 데이터가 필요합니다. 또한 이 도구는 생성된 파일에 대해 임의의 이름을 제공하며 특정 수의 파일 형식으로 제한됩니다.

파티션 테이블이 손상된 것 같은데(확실하지 않음) 수정 방법을 모르겠습니다. 이것이 출력이다gpart전체 드라이브의 경우:

# gpart -vd /dev/sdb

dev(/dev/sdb) mss(512) chs(121601/255/63)(LBA) #s(1953520065) size(953867mb)
Primary partition(1)
   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(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: 131(0x83)(Linux ext2 filesystem)
   size: 947827mb #s(1941150015) s(12370050-1953520064)
   chs:  (770/0/1)-(1023/254/63)d (770/0/1)-(121600/254/63)r
   hex:  00 00 C1 02 83 FE FF FF 82 C0 BC 00 3F 99 B3 73

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

내가 관심 있는 파티션 중 하나는 다음과 같습니다.리눅스 ext2 파일 시스템. 내가 아는 한 그것은 정확하지 않습니다(vfat이지만 NTFS일 수도 있음). 이것은 다른 출력에 따르면 부정확합니다.gpart(신뢰해야 할까요?) 이번에는 파티션만 지정합니다.

# gpart -vd /dev/sdb3

dev(/dev/sdb3) mss(512) chs(120831/255/63)(LBA) #s(1941150015) size(947827mb)

* Warning: strange partition table magic 0x606B.
Primary partition(1)
   type: 031(0x1F)(UNKNOWN)
   size: 522639mb #s(1070366139) s(4182104394-5252470532)
   chs:  (961/156/44)-(97/173/28)d (260323/244/28)-(59601/209/5)r
   hex:  F7 9C EC C1 1F AD 1C 61 4A D9 45 F9 BB 7D CC 3F

Primary partition(2)
   type: 249(0xF9)(UNKNOWN)
   size: 47812mb #s(97919955) s(4081875516-4179795470)
   chs:  (993/11/62)-(249/64/22)d (254084/254/55)-(260180/59/54)r
   hex:  D4 0B FE E1 F9 40 16 F9 3C 7A 4C F3 D3 23 D6 05

Primary partition(3)
   type: 211(0xD3)(UNKNOWN)
   size: 711401mb #s(1456950127) s(4249722057-5706672183)
   chs:  (671/191/48)-(644/231/52)d (264532/245/43)-(87874/144/6)r
   hex:  63 BF B0 9F D3 E7 B4 84 C9 9C 4D FD 6F 4B D7 56

Primary partition(4)
   type: 089(0x59)(UNKNOWN)
   size: 715318mb #s(1464971513) s(1293543745-2758515257)
   chs:  (1003/227/11)-(789/19/55)d (80519/95/26)-(171709/161/30)r
   hex:  43 E3 CB EB 59 13 F7 15 41 E9 19 4D F9 B0 51 57

답변1

이것이 파티션 경계 문제라고 생각하십니까, 아니면 디스크에 하드웨어 오류가 있음을 알고 계십니까?

시도해 볼 만한 몇 가지 사항:

  • dd파티션 내용을 어딘가에 복사( )한 다음 파티션 유형을 다시 Vfat/NTFS로 변경합니다.
  • 다양한 FS 마운트 옵션 등을 시도해 보세요.
  • 원래 파티션 레이아웃의 복사본(이전 아나콘다 설치 로그 등)에서 복원합니다.

답변2

다른 드라이브에 충분한 공간이 있는 경우 dd 또는 ddrescue(또는 dd_rescue)를 사용하여 오류가 발생한 드라이브의 이미지를 생성합니다. 원본 드라이브에 하드웨어 오류가 있는 경우 마스터 복사본을 갖고 있는 것이 좋습니다. 또한 마스터 이미지를 블록 장치로 마운트(복사본)할 수도 있습니다("mount -o" 루프백 사용?).

관련 정보