마운트하지 않고 .img 찾아보기 파일을 마운트하는 데 문제가 있습니다 mount

.img 파일을 마운트하지 않고 찾아 볼 수 있습니까? clonezilla 파티션 스냅 샷에서 생성 한 .img 파일이 있습니다. 어떻게 든 명령을 사용하여 파일을 마운트하는 데 문제가 있습니다 mount -o loop sda5.img /mnt/.

dmesg | tail 다음과 같은 오류가 표시됩니다.

[1325.395286] EXT4-fs (loop0) : 잘못된 형상 : 블록 수 11221248이 장치 크기를 초과 함 (11218432 블록)

누구나 마운트하지 않고 탐색하는 방법이 나이 오류의 원인을 알고 있습니까?



답변

이것이 전체 하드 드라이브의 이미지이거나 확장 파티션의 이미지 일 수있는 경우, 파티션 레이아웃과 파일에서 각 파티션의 오프셋을 알아야 마운트 할 수 있습니다.

이렇게하려면 parted도구 가 필요합니다 . 다음 명령으로 도구를 설치할 수 있습니다.

apt-get install parted

설치 후 parted이미지 파일 경로로 시작하십시오. parted프롬프트가 표시됩니다 :

$ parted /path/to/image/file/sda5.img
GNU Parted 2.3
.....
(parted)

이 프롬프트 (앞에 접두사 (parted))에 다음 명령을 입력하십시오.

(parted) unit B
(parted) print
.....
Number  Start          End            Size           Type     File system  Flags
 1      1048576B       1573912575B    1572864000B    primary  ntfs         boot
 2      1573912576B    156774694911B  155200782336B  primary  ntfs
 3      156774694912B  171454758911B  14680064000B   primary  ntfs
 4      171454758912B  180044693503B  8589934592B    primary

(parted) q

출력의 표는 파일의 각 파티션 오프셋과 각 파티션의 파일 시스템 유형을 알려줍니다. 예를 들어 위의 예제 출력에서 ​​첫 번째 파티션을 마운트하려면 다음 명령을 입력해야합니다.

sudo mount -o loop,ro,offset=1048576 /path/to/image/file/sda5.img /mnt/partition

/mnt/partition먼저 존재 하는지 확인하십시오 .


답변

Clonezilla 스냅 샷에서 생성 된 ext4 이미지에서도 이와 동일한 문제가 발생했습니다.

실제로 나를 위해 일한 것은 truncate를 사용하여 파티션 테이블이보고하는 크기로 파일을 확장하는 것이 었습니다. 내 경우에보고 된 오류 dmesg는 다음과 같습니다.

[15687.653868] EXT4-fs (loop0): bad geometry: block count 18482176 exceeds size
  of device (18352672 blocks)

그래서 파일 길이를 다음과 같이 조정했습니다.

truncate -o -s 18482176 /path/to/partition.img

(^ 로그에서 두 숫자 중 첫 번째 숫자이며 더 큼)

그 후 마운트는 행복했고 내 데이터에 액세스 할 수있었습니다.


답변