QEMU
https://upload.wikimedia.org/wikipedia/commons/thumb/4/45/Qemu_logo.svg/1024px-Qemu_logo.svg.png
イメージの判別
使用しているイメージの形式がわからない場合は file コマンドで確認すると良い qemu-img convert などで元形式の指定が必要な場合に役に立つ
code:sh
# RAWイメージの場合は、ブートセクタがそのまま見える
file <イメージ名>
...: x86 boot sector, GRand Unified Bootloader; partition 1: ...
# QCOW2の場合は、イメージの形式名が明示的に返ってくる
file <イメージ名>
...: QEMU Copy-On-Write disk image version 2, ...
イメージを変換する
仮想マシンのイメージの形式を変換する機能として qemu-img convert が用意されている
例えば、対応しているイメージを QCOW2 に変換する場合は以下のように実行する code:sh
# 指定イメージを qcow2 に変換して保存する
qemu-img convert <元イメージ> -O qcow2 <保存先>
# イメージの形式を指定する必要がある場合は -f を指定する (rawの場合)
qemu-img convert -f raw <元イメージ> -O qcow2 <保存先>
肥大化したイメージを縮小する
QCOW2のイメージサイズが一度大きくなったあと、イメージ内の実使用容量がそれよりも小さい場合は、-c を指定してイメージの圧縮を行うことで、ディスク使用容量を削減できる場合がある code:sh
qemu-img convert <元イメージ> -c -O qcow2 <保存先>
イメージサイズを拡張する
qemu-resize を使用すると指定のイメージの最大サイズを変更できる
イメージ自体が拡張されても内部のパーティションが拡張されないと実効的には領域は広がらない
リサイズ対象のイメージはスナップショットなどがあると処理ができないので注意
code:sh
# 指定のイメージのサイズを現状から10GB追加する
qemu-img resize <元イメージ> +10G
QCOW2を作りたいのにQCOW3になる
新しいバージョンのQEMUでは、フォーマットに QCOW2 を指定しても改善されたバージョンである QCOW3 で作成される
厳密に QCOW2 である必要がある場合は -o compat=0.10 を指定すると良い
code:sh
# 明示的に32GBのQCOW2のイメージを作成する
qemu-img create -f qcow2 -o compat=0.10 <保存先> 32G
関連情報