손실된 파티션의 모든 파일을 복구하세요

손실된 파티션의 모든 파일을 복구하세요

두 개의 파티션이 있는 SDD가 있습니다. 첫 번째는 32G이고 두 번째는 드라이브의 남은 공간을 차지합니다. 첫 번째는 Ubuntu가 설치된 루트 파티션입니다. 두 번째는 일반 수납공간이다.

실수로 다음 명령을 사용하여 이 sdd에 dd를 지정했습니다.

dd if=/2g-ubuntu.iso of=/dev/sda

3G 미만의 연속 데이터가 물리적 디스크 시작 부분에 기록되므로 이 덮어쓰기는 두 번째 파티션에 도달하지 않습니다. 그래서 즉시 드라이브를 마운트 해제하고 읽기 모드로만 마운트했습니다. 두 번째 파티션의 inode와 영역에는 아무 것도 기록되지 않았으므로 해당 파일은 영향을 받지 않았습니다.

testdisk는 슈퍼블록이 손상되었다고 알려줍니다.

모든 백업 슈퍼블록을 읽으려고 시도했지만 그 슈퍼블록도 손상되었습니다.

따라서 파일을 복구하려면 inode와 해당 영역 데이터를 읽는 데 의존해야 하는 것 같습니다.

디스크의 해당 부분을 가리키고 모든 파일을 수집할 수 있는 프로그램이 있습니까? testdisk를 봤는데 파일 형식만 찾는 것 같은데 판단하지 않고 모든 파일을 찾으려면 필요합니다.

문제 해결 - dd를 사용하여 손실된 파티션 찾기

from subprocess import Popen, PIPE

count = 0

skip32Gigs = 0

while 1:

    dd_args = ["dd", "if=/dev/sda", "bs=512", "skip=" + str(skip32Gigs+count), "count=4"]
    file_args = ['file', "-"]
    print 'dd_args', dd_args

    dd_process = Popen(dd_args, stdout=PIPE)
    file_process = Popen(file_args, stdin=dd_process.stdout, stdout=PIPE)
    dd_process.stdout.close()
    out, err = file_process.communicate()

    print out.split(), err

    if "Linux" in out.split():
        break

    count += 1

트리플 엑스

관련 정보