Table of Contents
ATDEは、VMware の製品群 (Wolrkstation や Fusion) で動作するイメージファイルとしてリリースされています。このイメージファイルは、VMDK (Virtual Machine Disk) というファイルフォーマットです。
VMware Workstation は多彩な機能を持ったハイパーバイザーで、Linux でも Windows でも動作するアプリケーションです。しかし、Workstation が提供している多くの機能を使わないのであれば、Linux 上で QEMU を使って ATDE を利用することができます。
GNOME Boxes を使う
GNOME Boxes は、後で説明する変換や設定をしてくれるアプリケーションです。 メニューの New から ATDEの zip ファイルを展開したディレクトリの中にある .vmdk ファイルを選択するだけで、ATDE が立ち上がります。
裏では、ファイルフォーマットの変換、QEMU の設定、そして実行を行っています。
変換されたイメージファイルは、 ~/.local/share/gnome-boxes/images
内に配置されます。
もし GNOME Boxes がインストールされていなれば、下記のようにインストールしてください。
[PC ~]$ sudo apt-get install gnome-boxes
VMDK から QCOW2 への変換
ここからは、GNOME Boxes を使わずに自分で変換や実行をしてみます。VMDK を QEMU がサポートしている QCOW2 というフォーマットに変換するには、 qemu-img
というツールを使います。使いかたは簡単で、
[PC ~/atde]$ qemu-img convert -O qcow2 atde5.vmdk ./atde5.qcow2
とするだけです。
qemu-img
は、フォーマット変換以外にも、イメージファイルの情報表示やスナップショットの作成などいろいろな機能を持っています。
convert
でファイルフォーマットの変換を指定し、 -O
で qcow2
フォーマットを指定します。入力ファイルは .vmdk で、出力ファイルは .qcow2 です。
ATDE は、2 GB超のファイルを作成できないファイルシステムに対応するために、複数の VMDK が作られるように設定されています。指定する .vmdk は、連番の付いていないファイルを1つだけ指定してください。
QEMU で動作確認
qemu コマンドを使って、変換した QCOW2 ファイルから起動してみます。
[PC ~/atde]$ qemu-system-i386 -enable-kvm -m 2G ./atde5.qcow2
[PC ~/atde]$ qemu-system-x86_64 -enable-kvm -m 2G ./atde5.qcow2
-enable-kvm
で Linuxの KVM の機能を有効にしています。このオプションを付けないと、動作がとても遅くなります。 -m
でメモリを 2 GB 割り当てています。最後に、QCOW2 に変換した ATDEのイメージファイルを指定します。
BIOS の画面から始まって、ATDE が起動するのが確認できるはずです。
Virtual Machine Manager から起動
QEMU を手で実行しても問題ないのですが、一般的な仮想環境として利用するには数多くのオプションを指定しなければいけません。手元で動いている QEMU のインスタンスには、40個以上のオプションが付いています。
そこで、Virtual Machine Manager のような GUI で設定できるツールを使って起動します。 New Virtual Machine から QCOW2 のイメージファイルを選択し、割り当てる CPU の数やメモリ量を指定します。
もちろん、 GNOME Boxes を使っても問題ありません。
Appendix. Virtual Machine のシャトダウン
QEMU は、Virtual Machine をシャットダウンするときに ACPI のシャットダウンイベントを送ります。VM 内にこのイベントを受ける acpid
が動作していないと「イベントは送られたがシャットダウンしない」という状態になってしまいます。
Debian ではイベントを受け取る acpid
と、シャットダウンの時の動作が記述されているスクリプトが別パッケージ( acpi-support-base
)になっているので、ATDEの中に両方インストールしてください。
[ATDE ~]$ sudo apt-get install acpid acpi-support-base