디스크의 첫 512 바이트를 삭제했습니다. 데이터를 어떻게 복구 할 수 있습니까?


12

실수로 512 바이트 바이너리를 잘못된 USB 디스크에 썼으며 dd장치에 fdisk더 이상 파티션이 표시되지 않습니다 .

나는 모든 데이터가 사라 졌다고 생각했지만 다행히도 처음 512 바이트로 제한되었으므로 dd if=/dev/sdx | strings데이터가 여전히 존재하는 것으로 보입니다 dd. 그것을 복구 할 수있는 방법이 있습니까?

디스크에는 두 개의 파티션이 있습니다 : ext4 (~ 4GB) 파티션과 나머지 16GB는 NTFS로 포맷되었습니다.

답변:


13

그것은 전에 정확히 무엇이 있었는지에 달려 있지만, 이것을 복구하는 것이 쉬울 수도 있습니다 (-ish).

  1. dd안전한 위치에 USB 드라이브의 전체 이미지를 만드는 데 사용하십시오 .

  2. dd안전한 위치에 USB 드라이브의 전체 이미지를 만드는 데 사용하십시오 .

  3. 예, 전체 이미지를 보관하십시오. 데이터 복구 작업은 종종 예상보다 많은 손상을 일으킬 수 있습니다.

  4. 해당 USB 드라이브의 파티션 레이아웃이 어떤지 기억하십시오. 적어 두십시오 . 리눅스 커널이 디스크를 엉망으로 만들었을 때 시스템 로그가 있다면 도움이 될 수있다. 종종 발견 된 파티션에 대한 데이터를 출력 할 것이다.

  5. fdisk를 사용하여 동일한 파티션 테이블로 MBR을 다시 작성하십시오. 파티션을 포맷하거나 fsck하지 마십시오 .

  6. 읽기 전용 ( -o ro) mount옵션으로 파티션을 마운트하십시오 .

  7. 성공하면 모든 파일을 안전한 위치에 복사하고 터미널과 로그에 I / O 오류가 있는지 확인하십시오. 파티션 경계 오류가 표현되는 일반적인 방법은 기본 장치의 범위를 벗어난 액세스를 이용하는 것입니다.

  8. 복사에 실패하면 이미지를 복원하고 4 단계로 돌아가십시오.

  9. 다른 작업을하기 전에 USB 드라이브의 전체 이미지를 가지고 있다고 언급 했습니까?

추신 : 복구 프로세스를 자동화하려는 TestDisk 와 같은 도구를 살펴볼 수도 있습니다 . 그러나 여전히 전체 이미지를 먼저 얻어야합니다.

PS2 : 충분히 편안하다고 느끼면 조금 실험 해 볼 수도 있습니다. 첫 번째 파티션의 시작 지점에 대해 합리적인 가정을 할 수 있다면 첫 번째 파티션 tune2fs -l의 정확한 크기를 얻는 데 사용할 수 있습니다 .


# 1 : dd if=/dev/sdx of=backup.img맞습니까?
edmz 2016 년

@ 블랙 : 예. bs=...블록 크기를 늘리고 속도를 높이는 옵션을 원할 수 있습니다 .
thkala

사용하기에 좋은 블록 크기는 bs=64K입니다. TestDisk는 확실히 시도해 볼 가치가 있으며 실제 디스크뿐만 아니라 디스크 이미지 파일에서도 작동 할 수 있습니다. 행운을 빕니다!
PM 2Ring

달리기 cat /dev/sdx >backup.imgdd많은 상황에서 보다 빠르며 확실히이 상황에서는 느리지 않습니다.
roaima

6

ext4파티션과 데이터 를 복원하기 위해 디스크 전체의 ext4 파티션 하나를 만드는 방법을 생각했습니다. 이것은 @thkala가 제안한 것처럼 데이터에 액세스tune2fs -l 하고을 사용 하여 파티션에 대한 정보를 검색 할 수 있게했습니다 . 이 정보는 매우 실현 가능하며 변경되지 않았습니다.

매우 흥미롭게도 gparted는 이 경고에서 알 수 있듯이 실제 파티션 크기 를 알아낼 수 있습니다 .

파티션 내 10.96 GiB의 할당되지 않은 공간. 파티션을 채우도록 파일 시스템을 늘리려면 파티션을 선택하고 메뉴 항목을 선택하십시오.

11GiB가 NTFS 파티션의 크기 였기 때문입니다.

여기에 이미지 설명을 입력하십시오

사용되지 않은 공간 인 IIRC는 ext4가 여전히 사용 가능한 공간임을 알 수 있습니다. gparted에 할당할당되지 않은 공간 은 NTFS 파티션 인 것 같습니다. 이제 첫 번째 파티션이 끝나는 곳, 즉 총 바이트 수를 알아내어 어떻게 파티션을 복원 할 수 있습니까?


마지막으로 TestDisk 는이를 쉽게 처리했습니다.


우수한. 자신의 답변 을 수락 하여 질문에 대한 적절한 해결책이 있음을 분명히하십시오.
roaima

@roaina 예, 최소 2 일의 개막 기간이 만료 될 예정입니다.
edmz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.