마운트하지 않고 .img 찾아보기


13

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

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

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

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



답변:


18

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

이렇게하려면 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먼저 존재 하는지 확인하십시오 .


1
알 수없는 문제는 print 명령을 실행할 때 알 수없는 partiton 테이블이라고 표시되어 오류가 발생했을 수 있습니다. 이미지가 깨진 것 같아요?
Ahatius

부러진 것 같아요 그러나 먼저 Google에서 오류를 발견하십시오.
벤더

1
Can't have a partition outside the disk!gparted와 마찬가지로 parted와 오류 ...
Philippe Gachoud

8

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

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

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


크기가 잘못되었지만 이것은 나를 위해 일했습니다. 블록 크기가 다른 것 같아서 크기를 바이트 단위로 지정해야했습니다. 이미지 파일을 원래 크기보다 짧은 크기로 자르면 데이터가 손실 될 수 있으므로주의하십시오.
golimar

1
올바른 크기를 어떻게 알 수 있습니까? 여기에 명령을 추가하십시오.
훈수

@Hunsu 크기는 오류 메시지 (dmesg)에보고됩니다.
Melebius
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.