이미지 쓰기로 인해 손실된 하드 디스크 파티션 복원

이미지 쓰기로 인해 손실된 하드 디스크 파티션 복원

1TB 외장하드가 있습니다. 실수로 내 SD 카드의 이미지를 열고(Windows 8에서 소프트웨어를 사용하여) "쓰기" 버튼을 클릭했습니다. 그러다가 바로 중단했어요. 하지만 이미지를 플러시한 후 몇 초 안에 모든 파티션이 손실된다는 사실에 충격을 받았습니다.

이미지 쓰기로 인한 파티션을 복원할 수 있는 방법이 있나요? 그리고 (언급된 이미지 때문에) 하드 디스크가 SD 카드 크기가 된다면 왜 크기가 커질까요?

"TestDisk"라는 강력한 소프트웨어를 사용해 보았으나 안타깝게도 모든 시도가 실패했습니다.

답변1

1TB 디스크가 어떻게 분할되었는지 아시나요? 파티션이 하나인 데이터 덤프 디스크였나요? 어떤 파일 시스템이 있었나요? NTFS?

NTFS 파일 시스템에는 일반적으로 파티션의 마지막 섹터에 백업 부팅 섹터가 있습니다. 디스크에 파티션이 하나만 있는 경우 대략 디스크 끝 부분에서 해당 파티션을 찾을 수 있습니다. 이를 위해 디스크 16진수 편집기를 사용할 수 있습니다. 디스크를 열고(보통 일반 파일 대신 디스크를 여는 특수 옵션이 있음) 디스크 끝을 살펴보세요. 어딘가에는 처음 몇 바이트에 "NTFS"라는 문자열이 있는 섹터가 있어야 합니다. 그것이 당신이 찾고 있는 백업 부문이 될 것입니다.

디스크의 마지막 섹터에 "EFI PART"라는 문자열이 있으면 GPT 파티션 디스크가 있는 것이므로 처음부터 파티션 테이블을 생성하는 것이 약간 까다롭습니다(16진수 편집기로만 가능).

"EFI PART" 문자열은 찾지 못했지만 마지막 섹터 어딘가에서 NTFS 문자열을 찾았다고 가정하고 다음을 수행합니다.

a) 새로운 빈 MBR 파티션 테이블을 생성합니다(섹터 0의 마지막 66바이트를 삭제하고 섹터 0의 마지막 2바이트에 55 AA를 넣습니다). b) 다음을 사용하여 새 파티션 항목을 생성합니다(끝 66바이트에서 시작). 값: 00 00 FF FF FF 07 FF FF FF 00 08 00 00 XX XX XX XX 마지막 4바이트(XX XX XX XX)는 실제로 디스크 크기에 따라 달라지며 NTFS 백업 섹터에서 찾은 값에 1을 더한 값과 일치해야 합니다. 오프셋 0x28에서 c) 이제 백업 NTFS 부팅 섹터를 복사하여 섹터 2048에 붙여넣습니다.

NTFS 마스터 파일 테이블(MFT)의 기본 위치는 디스크의 3GB인 클러스터 C0000입니다. 따라서 SD 이미지를 디스크에 쓰는 것을 실제로 중지한 경우 MFT 자체가 그대로 유지될 가능성이 높습니다. 아마도 손상된 것은 볼륨 비트맵과 미러 MFT이지만 일반적으로 chkdsk(또는 디스크 검사)를 실행하여 수정할 수 있습니다.

testdisk 프로그램은 디스크의 시작 부분을 유효한 새 파일 시스템(적어도 부분적으로)으로 덮어썼기 때문에 아무것도 찾는 데 어려움을 겪을 수 있습니다. 따라서 외부 마스터 파일 테이블을 실제로 어딘가에서 찾으려고 시도하지 않을 것입니다.

관련 정보