1TB 충돌된 NTFS 드라이브에서 ddrescue 이미지를 마운트하려고 합니다.

1TB 충돌된 NTFS 드라이브에서 ddrescue 이미지를 마운트하려고 합니다.

나는 Ask Ubuntu에 이것을 요청했지만 성공하지 못했고 슈퍼유저에게 다시 게시하는 것이 좋습니다. 그래서 여기 있습니다!

5년 후, 모든 가족 사진과 모든 음악이 담긴 1TB 외장 드라이브가 충돌했습니다. 어리석게도 저는 레이드에 두 개의 드라이브가 없었는데, 다시는 이런 일이 발생하지 않도록 투자했습니다.

dd_rescue를 사용하여 내 서버의 다른 2TB 영화 드라이브에 파일을 성공적으로 구출했지만 이 .img 파일을 마운트하는 방법을 이해할 수 없는 것 같습니다.

GNU ddrescue를 사용하고 있습니다.

또한 Windows 7에서 chkdsk \f를 실행하려고 했지만 "볼륨 비트맵을 수정하기 위한 디스크 공간이 부족합니다. CHKDSK가 중단되었습니다."라는 오류가 발생했습니다. Microsoft 웹사이트에 따르면 다음 오류 메시지에 대해 다음과 같이 설명합니다. "가능한 경우 NTFS 볼륨에서 불필요한 파일을 삭제한 다음 Chkdsk 명령을 다시 시도하세요. 파일을 삭제할 수 없으면 NTFS 볼륨을 다시 포맷하고 백업에서 데이터를 복원해야 합니다. .". 이미지에서 공간을 확보할 수 없기 때문에 무엇을 해야할지 모르겠습니다. 그리고 어쨌든 이전에는 1TB 중 400GB만 사용되었으므로 오류 메시지는 실제로 의미가 없습니다. Ask Ubuntu의 한 사람은 그것이 매우 큰 손상 때문일 수도 있다고 말했지만 ddrescue에 따르면 오류 크기는 31MB에 불과하므로 그것도 의미가 없습니다.

ddrescue 명령을 실행한 방법은 다음과 같습니다.

sudo ddrescue /dev/sdh1 /media/external/rescue/rescue.img /media/external/rescue/rescuelog

Initial status (read from logfile)
rescued:        1 TB,  errsize:  30944 kB,  errors:     345
Finished

내 테스트 명령은 다음과 같습니다.

파일 image.img

image.img: x86 boot sector, code offset 0x52, OEM-ID "NTFS    ", sectors/cluster 8, reserved sectors 0, Media descriptor 0xf8, heads 255, hidden sectors 2048, dos < 4.0 BootSector (0x80)

fdisk -l image.img

Disk image.img: 1000.2 GB, 1000203091968 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953521664 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2052474d

This doesn't look like a partition table
Probably you selected the wrong device.

    Device Boot      Start         End      Blocks   Id  System
image.img1   ?     6579571  1924427647   958924038+  70  DiskSecure Multi-Boot
image.img2   ?  1953251627  3771827541   909287957+  43  Unknown
image.img3   ?   225735265   225735274           5   72  Unknown
image.img4      2642411520  2642463409       25945    0  Empty

Partition table entries are not in disk order

fdisk가 'DiskSecure Multi-Boot' 및 두 개의 '알 수 없는' 파티션과 같은 이상한 파티션을 모두 표시하는 이유를 전혀 모르겠습니다. parted 명령은 정확해 보이는 정보를 제공했습니다.

헤어진 image.img 인쇄

WARNING: You are not superuser.  Watch out for permissions.
Model:  (file)
Disk /media/external/Rescue/image.img: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: loop

Number  Start  End     Size    File system  Flags
 1      0.00B  1000GB  1000GB  ntfs

올바른 플래그 등이 있는지 확실하지 않지만 여기서는 드라이브를 마운트하려고 합니다.

sudo mount -r -o 루프 image.img /mnt

ntfs_mst_post_read_fixup_warn: magic: 0x00000000  size: 4096   usa_ofs: 0  usa_count: 65535: Invalid argument
Index buffer (VCN 0x0) of directory inode 0x5 has a size (24) differing from the directory specified size (4096).
ntfs_mst_post_read_fixup_warn: magic: 0x00000000  size: 4096   usa_ofs: 0  usa_count: 65535: Invalid argument
Index buffer (VCN 0x0) of directory inode 0x5 has a size (24) differing from the directory specified size (4096).
ntfs_mst_post_read_fixup_warn: magic: 0x00000000  size: 4096   usa_ofs: 0  usa_count: 65535: Invalid argument
Index buffer (VCN 0x0) of directory inode 0x5 has a size (24) differing from the directory specified size (4096).

이제 실제로는 /mnt에 마운트되었지만 ls /mnt를 수행하면 "/mnt/ 디렉토리 읽기: 입력/출력 오류"가 반환됩니다.

도움을 주시면 감사하겠습니다. 추측이라도 환영합니다.

미리 감사드립니다!

답변1

나는 동일한 문제를 경험한 것 같습니다(실패한 ddrescue'd NTFS 드라이브에서 손상된 파티션 테이블("fdisk -l"이 엉망이지만 "parted"가 정확함, 마운트 명령이 실패함)

Failed to read last sector (1953520001): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
   or it was not setup correctly (e.g. by not using mdadm --build ...),
   or a wrong device is tried to be mounted,
   or the partition table is corrupt (partition is smaller than NTFS),
   or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/loop0': Invalid argument
The device '/dev/loop0' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

다음 명령을 사용하여 복구된 이미지를 마운트했습니다.

sudo ntfs-3g -o force imagefile /mountpoint

내 생각에 이는 다음과 같습니다.

sudo mount -t ntfs-3g imagefile /mountpoint

(여기서 발견http://www.makeuseof.com/tag/fix-corrupted-windows-ntfs-filesystem-ubuntu/(그리고 매뉴얼 페이지에서 그것을 읽어보려고 애썼다면... 바보같습니다.))

관련 정보