なんとなく、これまでやってたのと逆のことを試してみました。
FreeBSD上に、QEMUをインストールして、QEMUの中でWindowsを動かす!
■ KQEMUをインストール
なにやら「KQEMU」というのがあって、これを使うと、エミュレーション速度が速くなるそうです。x86、AMD64なホストマシンで、x86、AMD64な仮想マシンを動かすときに、ネイティブコードのまま実行することで速くする、という仕組みだそうで・・・
KQEMUは、portsでインストールできます。
# cd /usr/ports/emulators/kqemu-kmod/
# make install clean
結局できたのは、「kqemu.ko」というカーネルモジュールです。とりあえず今回はお試しということで、手作業で、モジュールをロードしておきます。
# kldload /boot/kernel/kqemu.ko
# kldstat
Id Refs Address Size Name
1 13 0xc0400000 5e5d38 kernel
2 15 0xc09e6000 58034 acpi.ko
3 1 0xc1e74000 2000 green_saver.ko
4 1 0xc1e8a000 16000 linux.ko
5 1 0xc40c3000 2000 ntfs_iconv.ko
6 1 0xc40c5000 9000 ntfs.ko
7 1 0xc40f0000 3000 libiconv.ko
8 1 0xc2c80000 1b000 kqemu.ko
(この場合8番目にロードされている)
■ QEMUをインストール
QEMUもportsでかんたんにインストールできます。KQEMU対応版をコンパイルするために、WITH_KQEMUというオプションを指定します。あと、なんだかよくわかりませんが、WITH_HACKSというオプションも指定すると、何かが速くなるらしいです(違いは確かめていませんが)。
# cd /usr/ports/emulators/qemu
# make WITH_KQEMU=yes WITH_HACKS=yes install
■ ディスクイメージファイルの作成
おなじみにqemu-imgで、ディスクイメージファイルを作ります。ここから先は、とくにroot権限で行う必要はありません。
% qemu-img create disk.img 8G
Formating 'disk.img', fmt=raw, size=8388608 kB
■ QEMUの起動 ~ Windows XPのインストール
QEMUの仮想マシンに、Windows XPをインストールしてみました。
ためしに、昨日のnLiteでつくったWindowsのISOイメージファイルを使ってみました。・・・で、実は、インストール途中で判明したのですが、nLiteでいろいろ省きすぎてしまったようで、インストール途中でおかしくなって断念しました・・・
なお、nLiteをつかわずに、正規のWindows XPのCDから抽出したISOイメージファイルを使ったときは、ちゃんとインストールできて、Windowsもそれなりにちゃんと動きましたよ。
QEMUを起動するのは、とりあえず、こんなかんじ。
% qemu -hda disk.img -cdrom WinLite.iso -boot d
- -hda でCドライブになるディスクイメージファイルを指定
- -cdromで、CDのISOイメージファイルを指定
- -boot dで、CDからブートする
という意味です。
RAM容量とか、ネットワーク関係とか、指定すべきオプションもありますが、今回は省略。tapを使ったネットワーク機能は、よくわからなかったで、user mode networkを使い、proxyサーバを利用することで、Windows Updateもちゃんとできました。
■ 速度
Pentium 4 3GHz RAM 2GBのマシンで動かしたところ、う~ん、ちょっと辛いかも、って感じで動きました。
Pentium III 800MHz RAM 512MBのマシンで動かしたところ、へぇ~動くんだ~、と感心するものの、でもこんな速度か、ってかんじで動きました。
■ マウスの動きが変?
マウスポインタが、まるで見えない壁にぶつかったかのように、画面の途中から先へすすまなくなることがよくあります。ctrl+altキーを押して、いったん外に出てまたQEMUにフォーカスをわたすと、ポインタがひっかかることなく、画面全体を動けるようになります。
これ、なんなんでしょ?!
● 参考
0 件のコメント:
コメントを投稿