rawディスクイメージを展開するにはどうすればよいですか?


13

提供される公式のイメージは、生のディスクイメージddです。

画像を大きくするにはどうすればよいですか?/(ルート)パーティションのサイズを変更するにどうすればいいですか?


拡大することの意味が正確にわかりません。ディスク dd 'するに、イメージで「パーティションのサイズ変更」を実行しようとしていますか?
ジョスト

これは1つの目標ですが、そのためにはディスクイメージを拡張する必要があります。
アレックスチェンバレン

回答:


13

この質問で説明したように、画像を拡大するには2つの方法があります。以下に、ファイルを1キロバイト拡張する2つの例を示します。

DDは非スパースファイルを作成します

dd if=/dev/zero bs=1k count=1 >> myimage.img

切り捨てはスパースファイルを作成します

truncate -s +1024 myimage

おそらく切り捨てを使用したいでしょう。スパースファイルは、実際にブロックを書き込むのではなく、使用するブロックのメタデータのみを書き込みます。これにより、ファイルの作成が高速になり(実際のゼロをディスクに書き込む必要がないため)、ディスク上のスペースが節約されます。

AppleのHFS +ファイルシステムは、スパースファイルをサポートしていません。


HFS +はPOSIXに準拠していませんか?linux.die.net/man/2/truncate
アレックス・チェンバレン

スパースファイルのサポートがPOSIX iの要件である場合、そうではないと思います。HFS +といくつかのext(i推測)stackoverflow.com/a/193015/689893の違いの素晴らしいデモンストレーションです。どうやらそれはファイルを作成しますが、スパースファイルではなく通常のファイルのようなディスクスペースを使用します。
ジョスト

いいえ、私は誤解していたと思います!
アレックスチェンバレン

スパースファイルの場合でもdd、それは正しいでしょうか?
アレックスチェンバレン

スパースファイルにはデータが含まれているため、ゼロを追加するだけでよいと思います。その部分を非スパースとして処理します。
ジョスト

10

画像のサイズを変更する非常に簡単な方法は、qemuと呼ばれるツールの1つを使用することqemu-imgです。もちろん、これはあなたがqemuインストールしたという事実に依存します(私はあなたがすでにアレックスをしていることを知っています)。

コマンドは次のようになります。

qemu-img resize filename [+|-]size[K|M|G|T]

filename画像ファイルはどこにあり、サイズは画像を拡大(または縮小)するサイズです。

たとえば、イメージarcharm.imgを2GB 拡張したい場合は、次を実行します。

qemu-img resize archarm.img +2G

マンページを参照して、このコマンドを使用してディスクイメージを縮小する前に、VM内でファイルシステムとパーティション分割ツールを使用して、それに応じて割り当てられたファイルシステムとパーティションサイズを削減する必要があります。そうしないと、データが失われます!
AntonioK
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.