仮想マシンオプション
以下の例では aptosid をインストールしますが、その他のディストリビューションにも当てはまります。
仮想イメージに OS (Linux ディストロ)をインストールする
ノート: OSを仮想イメージにインストールする際、大抵の Linux ディストリビューションは12Gbあれば十分ですが、MSウィンドウズをインストールするには 約30Gb を確保する必要があるでしょう。実際に確保が必要なイメージサイズは個々の場合にようて大きくかわります。
Generally, an image allocation size, will not take up additional hard drive space until data is installed. Even then, it will only take space dynamically on a hard drive, contingent to the actual amount of data that expands on the image. This is due to the compression ratios of qcow2.
KVM 仮想マシンを使えるようにする
KVM は仮想化エクステンションを搭載する x86 ハードウェア(Intel VT または AMD-V)上の Linux のための完全な仮想化問題解決環境です。
作動条件
お手持ちのハードウェアが KVM をサポートしているかを確かめるには、まず BIOS で KVM が有効になっていることを確認します。(Intel VT または Amd-V の中にはどこで KVM を設定するのかはっきりしない場合があります。その場合はとりあえず有効にっていると仮定して進んでください)。確認の方法は、コンソールから次のコマンドを実行します:
cat /proc/cpuinfo | egrep --color=always 'vmx|svm'
CPU フラグのなかに svm または vmx が見えたら KVM をサポートしているシステムです。(そうでなかったらもう一度 BIOS にもどってチェックしましょう。あるいはインターネットでどこに KVM を有効にする BIOS メニューが隠れているかサーチするのも良いでしょう。)
BIOS が KVM をサポートしていないことがわかったら、かわりに Virtualbox またはQEMUを試してみましょう。
KVM をインストールし実行するには、まず virtualbox のモジュールがインストールされていないことを確認します。(なるべく --purge することが望ましい)、そして CPU の種類によって:
apt-get install qemu-system-x86 qemu-utils
When you start your system the qemu-system-x86 initscripts will take care of loading the modules.
KVM を使って aptosid-*.iso を起動する
For 64 bit as user:
$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic,model=virtio -net user -soundhw hda -m 1024 -monitor stdio -cdrom <aptosid.iso>
For 32 bit replace qemu-system-x86_64 with qemu-system-i386.
aptosid-*.iso を KVM イメージにインストールする
まずはじめにハードディスクイメージを作ります。(このイメージは当初最小限のサイズで、qcow2 の圧縮比のため必要に応じて拡張します):
$ qemu-img create -f qcow2 aptosid-2010-*-.img 12G
aptosid-*.iso を、QEMU ハードディスクイメージが使えることを KVM が認識するように、次のパラメータで起動します:
$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic,model=virtio -net user -soundhw hda -m 1024 -monitor stdio -cdrom </path/to/aptosid-*.iso> -boot d </path/to/aptosid-VM.img>
For 32 bit replace qemu-system-x86_64 with qemu-system-i386.
Once the cdrom has booted up click on the aptosid installer icon to activate the installer, (or use the menu), click on the Partitioning tab and launch the partition application you prefer. For the partitioning you can follow the instructions from Partitioning the Hard Drive - Traditional, GPT and LVM (do not forget to add a swap partition If you are short of memory). Please be aware that formatting will take time so be patient.
You now have a VM ready for use:
$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic,model=virtio -net user -soundhw hda -m 1024 -monitor stdio -drive if=virtio,boot=on,file=<path/to/aptosid-VM.img>
Some guests do not support virtio, therefore you need to use other options when launching KVM, for example:
$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic, -net user -soundhw hda -m 1024 -monitor stdio -hda </path/to/your_guest.img > -cdrom your_other.iso -boot d
or
$ QEMU_AUDIO_DRV=alsa qemu-system-x86_64 -machine accel=kvm:tcg -net nic, -net user -soundhw hda -m 1024 -monitor stdio -hda </path/to/your_guest.img>
参考: KVM documentation.
KVM 仮想マシンの管理
apt-get install aqemu
AQEMU を使うときは 'General' タブの中の 'Emulator Type' のドロップダウンリストの中から KVM モードを選びましょう。(AQEMU の使い方についての文書は皆無なので GUI を簡単に使えるようになるまで試行錯誤が必要ですが、とりあえず 'VM' メニューと次に 'General' タブを試してみるのがいいでしょう。)
QEMU の仮想マシンを起動しOSをインストールする
手順:
- 1. VirtualBox用のハードディスクイメージを作ります。
- 2. VirtualBoxをISOファイルから起動します。
- 3. ハードディスクイメージにインストールします。
最低限必要な条件
RAMのサイズ: 1GB(推奨) : 理想的にはホストに512MBとゲストに512 MB。 (それ以下のRAMでも使えますが、あまり良いパフォーマンスは期待できません)。
ハードディスクスペース: VirtualBoxそのものはとても小さいプログラムです(普通にインストールすれば30MB程度のスペースしか使いません)が、仮想マシンはハードディスクの代わりとしてディスク上にかなり大きいファイルを必要とします。 そのため、例えばMS Windows XP(TM)をインストールするには何GBものスペースが必要になるでしょう。 aptosidをVirtualBoxのゲストOSとして使うのには5GBのイメージとスワップスペースがあればいいでしょう。
インストール:
apt-get update apt-get install virtualbox-ose-qt virtualbox-source virtualbox-ose-dkms
モジュールの準備
m-a prepare m-a a-i virtualbox-source
次に virtualbox のための dmakms (Dynamic Module-Assistant Kernel Module Support) を有効にして、今後カーネルがアップデートされたとき、同時に virtualbox のモジュールも準備されるようにします。そのためには/etc/default/dmakms の設定ファイルに virtualbox-source を加えます。
mcedit /etc/default/dmakms virtualbox-source
そして PC を再起動します。
aptosidを仮想マシンにインストールする
VirtualBoxのウィザードを使ってaptosidが使う仮想マシンを作り、続いて通常のaptosidのインストールの手順を踏みます。
QEMU の仮想マシンを起動しOSをインストールする
- 1. QEMUのためのハードディスクイメージを作る。
- 2. QEMUをISOから起動する。
- 3. ハードディスクイメージにインストールする。
QEMU の設定に便利なQTベースのGUIツールがあります:
apt-get install qtemu
ハードディスクイメージを作る
QEMUを使うためにはハードディスクイメージを作る必要があります。 このファイルをハードディスクの代わりとして仮想マシンのファイルを保存するために使います。
そのためには:
qemu-img create -f qcow aptosid.qcow 3G
このコマンドで"aptosid.qcow"という名のイメージファイルtを作ります。 "3G"というパラメータはディスクのサイズ-この場合3GBを指定しています。 Mを使えばメガバイトの表示も使えます(例、"256M"とかけば256MB) あまりイメージサイズを気にすることはありません。 qcowフォーマットはイメージを圧縮するため空白のスペースのためにファイルが大きくなってしまうことはありません。
オペレーションシステムのインストール
初めてエミュレータを使うとき注意すべきこと: 一度QEMUのウィンドウの中をクリックするとマウスは仮想マシンに捕まります。 これを解放するには:
Ctrl+Alt
起動フロッピーが必要ならばQEMUを次のコマンドで起動します:
qemu -floppy aptosid.iso -net nic -net user -m 512 -boot d aptosid.qcow
CD-ROMから起動できる場合はQEMUを次のコマンドで起動します:
qemu -cdrom aptosid.iso -net nic -net user -m 512 -boot d aptosid.qcow
aptosidを本物のハードディスクへの場合と同じ用にインストールします
システムの作動
システムを作動するには単純に:
qemu [hd_image]
オーバーレイイメージを使ってみるのもいい考えです。 この方法だと一度ハードディスクイメージを作って、その後の変化は外部のファイルに保存します。 何か問題が起こったとき簡単に以前の状態に戻せるため安定して使うことができます。
オーバーレイイメージを作るには:
qemu-img create -b [[base''image]] -f qcow [[overlay''image]]
ハードディスクイメージをベースイメージ(ここではaptosid.qcow)と取り替えます。 これから先はQEMUをスタートするのに:
qemu [overlay_image]
のコマンドを使います。
もとのイメージはそのまま手をつけずに保存されます。 このベースイメージの名前と場所はオーバーレイに記憶されるので、けっして変更してはいけません。
本当のパーティションをハードディスクイメージのプライマリパーティションとして使う
時にはシステムパーティションの一つをQEMUの内部から使いたいことがあります。 (同じパーティションをルートとして実際に起動したりQEMUから起動したりしたい場合など)。 ソウトウェアRAIDをリニアモードで使い(そのためにはカーネルモジュールlinear.koが必要です)合わせてループバックデバイスを使うことで実現できます: QEMUのディスクイメージに埋め込みたい本物のパーティションの先頭にマスターブートレコード(MBR)をダイナミックに差し込むのがトリックです。
仮にまだマウントされていないパーティション /dev/sdaN があって、何らかのファイルシステムにフォーマットされていて、これをQEMUのディスクイメージの一部に取り込みたいとします。 まず、MBRを保持する小さいファイルを作ります:
dd if=/dev/zero of=/path/to/mbr count=32
これで16 KB(32x512バイ)のファイルが作られました。 (MBRが必要なのは512バイトブロックが一つだけではあるけれど)このファイルのサイズが小さすぎないことが大切です。 あまり小さいとソフトウェアRAIDデバイスのチャンクサイズも小さくなってしまい、パフォーマンスに影響がでます。 ではMBRファイルのループバックデバイスを設定します:
losetup -f /path/to/mbr
すでにループデバイスが存在するとは限らないので仮にこれから作るループデバイスを /dev/loop0 としましょう。 次のステップはソフトウェアRAIDを使ってMBRとディスクイメージ/dev/sdaNを合併することです:
modprobe linear mdadm --build --verbose /dev/md0 --chunk=16 --level=linear --raid-devices=2 /dev/loop0 /dev/sdaN
こうして作られた /dev/md0 をQEMUのディスクイメージファイルとして使います。 (エミュレータがアクセスで切るようにパーミッションを設定するのを忘れないように)。 最後の(一番トリッキーな)ステップはディスク設定(ディスクの形状とパーティションテーブル)においてMBRのプライマリパーティションのスタートポイントが /dev/md0 のなかの /dev/sdaN のポイントと一致するように(この例ではオフセットが16 x 512 = 16384バイトちょうどになるように)設定することです。 この作業はエミュレータの中では行わず、ホストマシーンの上でfdiskを使って行いましょう。 QEMUのデフォルトのロウディスク認識ルーチンはしばしばキロバイトで割り切れないオフセット(上の例だと31.5Kb)を出力するため、ソフトウェアRAIDコードでは扱えません。 だからホスト上で行います:
fdisk /dev/md0
このプラグラムで /dev/sdaN に対応する単一のプライマリパーティションを作成し、XpertメニューのSectorコマンドを試しながら最初のシリンダ(初めのセクターが始まるところ)ばMBRのサイズと一致する設定を探し、Writeコマンドで結果を書き込んで終わりです。 これでこのパーティションをホストからでもQEMUのディスクイメージの一部としてでも使えるようになりました:
qemu -hdc /dev/md0 [...]
もちろんこのディスクイメージにQEMUを使って(元の/boot/sdaNパーティションに必要なツールさえあれば)どんなブートローダでも設定できます。
QEMUについての内容の一部はこのサイトからGNU Free Documentation License 1.2に基づいて取得されaptosid-manual用に変更されています