マウントせずに.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
OK、問題は、printコマンドの実行時にエラーが発生する可能性があると思います。これは、不明なパーティションテーブルを示しているためです。画像が壊れていると思いますか?
アハティウス

壊れているように見えます。ただし、最初にGoogleでエラーを検索してください。
ベンダー

Can't have a partition outside the disk!GPartedの...のように別れとエラー
フィリップ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

(^これがログの2つの数値の最初の大きい数値であることに注意してください)

その後、マウントは幸せになり、データにアクセスできました。


サイズは間違っていましたが、これでうまくいきました。ブロックサイズが異なっていたので、バイト単位でサイズを指定する必要がありました。イメージファイルを元のサイズよりも短いサイズに切り捨てると、データが失われる可能性があるため注意してください。
ゴリマー

1
正しいサイズをどのように知っていますか?ここにコマンドを追加してください。
フンス14

@Hunsuサイズはエラーメッセージ(dmesg)で報告されます。
メレビウス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.