2006年4月26日水曜日

FreeBSDでQEMUを使ってWindowsを動かす



なんとなく、これまでやってたのと逆のことを試してみました。



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もちゃんとできました。





Fbsdqemu01



Fbsdqemu02



Fbsdqemu03



Fbsdqemu04





■ 速度



Pentium 4 3GHz RAM 2GBのマシンで動かしたところ、う~ん、ちょっと辛いかも、って感じで動きました。



Pentium III 800MHz RAM 512MBのマシンで動かしたところ、へぇ~動くんだ~、と感心するものの、でもこんな速度か、ってかんじで動きました。



■ マウスの動きが変?



マウスポインタが、まるで見えない壁にぶつかったかのように、画面の途中から先へすすまなくなることがよくあります。ctrl+altキーを押して、いったん外に出てまたQEMUにフォーカスをわたすと、ポインタがひっかかることなく、画面全体を動けるようになります。



これ、なんなんでしょ?!





● 参考







0 件のコメント:

コメントを投稿