ddrescue 이미지 파일의 내용을 가져옵니다.

ddrescue 이미지 파일의 내용을 가져옵니다.

내 하드 드라이브에 오류가 발생하여 약 400GB의 데이터가 포함되어 있었는데 그 중 약 50GB를 복구해야 했습니다. 모든 데이터는 특정 디렉토리(/사진 2018/).

하드 드라이브는WD 마이 패스포트 에센셜 WDBAAA5000ABK(500GB, USB 2.0). 여기에는 내 데이터가 포함된 FAT32 파티션과 일부 WD 소프트웨어가 포함된 또 다른 파티션이 포함되어 있습니다.

을 사용해 보았습니다 ddrescue --no-split -r3 /dev/sdb1 defekt_wd.iso defekt_wd.log. 많은 오류가 발생했지만(출력이 없음) 결국 출력 파일을 얻었습니다. 이것이 표시된다면 로그 파일은 1.2MB입니다. 이 과정에서 하드 드라이브의 소음이 점점 커지고 상당히 뜨거워집니다.

콘텐츠를 추출하는 다양한 방법을 찾았지만 어느 것도 성공하지 못했습니다. 내가 시도한 것은 다음과 같습니다.

첫째, 기존 설치(그러나 보증 조건으로 인해 현재 컴퓨터에서 커널을 다시 컴파일할 수는 없지만 이것이 다른 컴퓨터에서도 작동할 것이라고 생각되면 이미지 파일을 복사할 수 있습니다)

# mount defekt_wd.img /tmp/defektdisk
mount: Could not find any loop device. Maybe this kernel does not know about the loop device? (If so, recompile or `modprobe loop'.)
# modprobe loop
FATAL: Module loop not found.

둘째, xorriso를 사용하십시오.

# xorriso -indev defekt_wd.img -ls
xorriso 1.3.2 : RockRidge filesystem manipulator, libburnia project.
xorriso : NOTE : Loading ISO image tree from LBA 0
libisoburn: WARNING : No ISO 9660 image at LBA 0. Creating blank image.
Drive current: -indev 'defekt_wd.img'
Media current: stdio file, overwriteable
Media status : is written , is closed
Media summary: 1 session, 228724832 data blocks,  436g data,     0 free
Volume id    : 'ISOIMAGE'
Valid ISO nodes found: 0

또한 7-zip을 사용하여 아카이브를 추출/목록/테스트해 보았습니다. 예를 들면 다음과 같습니다.

# 7z l defekt_wd.img 
7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,2 CPUs)
Error: defekt_wd.img: Can not open file as archive
Errors: 1

출력은 다음과 같습니다 file.

# file defekt_wd.img
defekt_wd.img: x86 boot sector, code offset 0x58, OEM-ID "BSD  4.4", sectors/cluster 64, Media descriptor 0xf8, heads 255, hidden sectors 2048, sectors 975394816 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 119038, reserved3 0x800000, serial number 0xac2710e2, label: "XYZ "

내 현재 이론은 이미지 파일에 두 개의 파티션이 포함되어 있지만 그 중 하나의 내용을 추출하는 방법을 모른다는 것입니다. 다음에 무엇을 해야 할지 조언을 주실 수 있나요?

답변1

/dev/sdb1의 이미지를 생성했으므로 해당 파티션의 이미지만 생성한 것입니다(전체 드라이브가 될 수 있는 /dev/sdb와 반대). 첫 번째 파티션이 데이터를 포함하는 한, 올바른 선택입니다.

설치하는 방법은 다음과 같습니다.

mount -o loop defekt_wd.img /tmp/defektdisk

디스크 이미지의 파티션 테이블(있는 경우)에 대한 자세한 정보를 얻으려면 다음을 사용하십시오.

fdisk -l defekt_wd.img

답변2

내 작업 솔루션은 ddrescue 출력 파일의 내용을 다른 물리적 하드 드라이브(동일한 크기 또는 더 큰 드라이브)에 복사하는 것입니다.

# ddrescue -f defekt_wd.img /dev/sdb to_harddrive.log
GNU ddrescue 1.19
Press Ctrl-C to interrupt
rescued:   468428 MB,  errsize:       0 B,  current rate:    4653 kB/s
   ipos:   468428 MB,   errors:       0,    average rate:   34703 kB/s
   opos:   468428 MB, run time:    3.74 h,  successful read:       0 s ago
Finished                                     

복구된 콘텐츠가 포함된 물리적 하드 드라이브를 마운트할 수 있었고 운 좋게도 중요한 사진 50GB 중 약 80%를 검색할 수 있었습니다. 대부분의 사진이 JPEG이기 때문에 부분적으로 손상된 사진도 일부 잘라낼 수 있었습니다.

답변3

같은 문제가 있었지만 exFAT 파일 시스템을 사용했습니다. Ubuntu 20.04 저장소에는 exFAT를 수정하는 도구가 없기 때문에 Testdisk( testdisk /path/to/broken.img)를 사용하여 파일을 추출했습니다. Testdisk는 Recuva, Windows 또는 Windows exFAT 복구가 수행할 수 없는 파일 목록을 계속 읽을 수 있습니다. 이 목록을 통해 Testdisk는 파일 이름과 메타데이터를 포함한 모든 이미지를 다른 볼륨에 복사할 수 있습니다.

관련 정보