답변:
그것은 전에 정확히 무엇이 있었는지에 달려 있지만, 이것을 복구하는 것이 쉬울 수도 있습니다 (-ish).
dd
안전한 위치에 USB 드라이브의 전체 이미지를 만드는 데 사용하십시오 .
dd
안전한 위치에 USB 드라이브의 전체 이미지를 만드는 데 사용하십시오 .
예, 전체 이미지를 보관하십시오. 데이터 복구 작업은 종종 예상보다 많은 손상을 일으킬 수 있습니다.
해당 USB 드라이브의 파티션 레이아웃이 어떤지 기억하십시오. 적어 두십시오 . 리눅스 커널이 디스크를 엉망으로 만들었을 때 시스템 로그가 있다면 도움이 될 수있다. 종종 발견 된 파티션에 대한 데이터를 출력 할 것이다.
fdisk를 사용하여 동일한 파티션 테이블로 MBR을 다시 작성하십시오. 파티션을 포맷하거나 fsck하지 마십시오 .
읽기 전용 ( -o ro
) mount
옵션으로 파티션을 마운트하십시오 .
성공하면 모든 파일을 안전한 위치에 복사하고 터미널과 로그에 I / O 오류가 있는지 확인하십시오. 파티션 경계 오류가 표현되는 일반적인 방법은 기본 장치의 범위를 벗어난 액세스를 이용하는 것입니다.
복사에 실패하면 이미지를 복원하고 4 단계로 돌아가십시오.
다른 작업을하기 전에 USB 드라이브의 전체 이미지를 가지고 있다고 언급 했습니까?
추신 : 복구 프로세스를 자동화하려는 TestDisk 와 같은 도구를 살펴볼 수도 있습니다 . 그러나 여전히 전체 이미지를 먼저 얻어야합니다.
PS2 : 충분히 편안하다고 느끼면 조금 실험 해 볼 수도 있습니다. 첫 번째 파티션의 시작 지점에 대해 합리적인 가정을 할 수 있다면 첫 번째 파티션 tune2fs -l
의 정확한 크기를 얻는 데 사용할 수 있습니다 .
bs=...
블록 크기를 늘리고 속도를 높이는 옵션을 원할 수 있습니다 .
bs=64K
입니다. TestDisk는 확실히 시도해 볼 가치가 있으며 실제 디스크뿐만 아니라 디스크 이미지 파일에서도 작동 할 수 있습니다. 행운을 빕니다!
cat /dev/sdx >backup.img
는 dd
많은 상황에서 보다 빠르며 확실히이 상황에서는 느리지 않습니다.
ext4
파티션과 데이터 를 복원하기 위해 디스크 전체의 ext4 파티션 하나를 만드는 방법을 생각했습니다. 이것은 @thkala가 제안한 것처럼 데이터에 액세스tune2fs -l
하고을 사용 하여 파티션에 대한 정보를 검색 할 수 있게했습니다 . 이 정보는 매우 실현 가능하며 변경되지 않았습니다.
매우 흥미롭게도 gparted는 이 경고에서 알 수 있듯이 실제 파티션 크기 를 알아낼 수 있습니다 .
파티션 내 10.96 GiB의 할당되지 않은 공간. 파티션을 채우도록 파일 시스템을 늘리려면 파티션을 선택하고 메뉴 항목을 선택하십시오.
11GiB가 NTFS 파티션의 크기 였기 때문입니다.
사용되지 않은 공간 인 IIRC는 ext4가 여전히 사용 가능한 공간임을 알 수 있습니다. gparted에 할당 된 할당되지 않은 공간 은 NTFS 파티션 인 것 같습니다. 이제 첫 번째 파티션이 끝나는 곳, 즉 총 바이트 수를 알아내어 어떻게 파티션을 복원 할 수 있습니까?
마지막으로 TestDisk 는이를 쉽게 처리했습니다.
dd if=/dev/sdx of=backup.img
맞습니까?