アシアルの中の人が技術と思いのたけをつづるブログ

kvmでwindows7を入れてみました

タグ [  kvm  Linux  Debian  仮想化  Tech  ]
kvmでwindows7を入れてみました

仮想化といえば、VMWareやXenが有名ですが、
今回は割と新しいkvmを使用したいと思います。

kvmと言っても切替器ではなく、KernelbasedVirtualMachineのkvmです。

kvmとは
http://ja.wikipedia.org/wiki/Kernel-based_Virtual_Machine

要は、軽量でシンプルな仮想化システムです。
kvm自身では何もできないので、フロントエンドとしてqemuを使用します。

ぐだぐだ書いてもおもしろくないので、百聞は一見にしかず。ぜひ試してみてください。

0・前提条件
・カーネルは2.6.20以降が必要
・AMD-V、IntelVTなどの仮想化機構が必要
・~/vm/ にvmのディスクイメージを入れます
・~/win7.iso がwindows7のDVDイメージです

1・kvmのインストール
kvmとqemu-utilsをインストールします。
Debian系使っていることを前提とすれば、
  1. $ sudo apt-get install kvm qemu-utils
以上。簡単ですね。

2・ディスクイメージの作成
これはqemu-utilsのqemu-imgを使用して以下コマンドで作成します。
  1. ## qcow2で ~/vm/win7.img に 30GBで作成
  2. $ qemu-img create -f qcow2 ~/vm/win7.img 30G

または、ddであらかじめスペースを確保する方法もあります。
(最初から領域を確保するので、若干ディスクアクセスが早くなるかもしれません)
  1. $ dd if=/dev/zero of=~/vm/win7.img bs=1024 count=$((20 * 1024 * 1024))

3・起動
windowsをインストールします
  1. $ sudo kvm -hda ~/vm/win7.img -cdrom ~/win7.iso -boot d -m 1024 -monitor stdio
この一行で仮想マシンが起動します。
(後はwindowsのインストールを道なりに進むだけですので割愛します)

4・その他
・ネットワーク
起動オプションにの-redirでホストの任意のポートにゲストの任意のポートをマッピング出来るので、
例えば以下のようにして起動すると、rdesktopで接続出来ます。
  1. $ sudo kvm -hda ~/vm/win7.img -m 1024 -monitor stdio -redir tcp:3389::3389

・USBデバイス
VMPlayerのようにワンクリックでとはいきませんが、コンソールで以下のようにすれば接続できます。
  1. # -usbオプションをつけてkvmを起動
  2. # ホストのデバイスを確認
  3. (qemu) info usbhost
  4. 【省略】
  5.     Class 00: USB device 04fe:000d, HHKB Professional JP
  6.   Device 1.5, speed 1.5 Mb/s
  7.     Class 00: USB device 0458:0048, Wireless Keyboard & Mouse
  8.   Device 1.6, speed 480 Mb/s                               <= これを追加   
  9.     Class 00: USB device 1307:0163, Flash Disk
  10. # usb_addで追加 
  11. (qemu) usb_add host:1307:0163
  12. # 仮想マシンに接続中のデバイス確認
  13. (qemu) info usb 
  14.   Device 0.2, Speed 480 Mb/s, Product Flash Disk
なお、/proc/bus/usb/devicesがないといわれる場合には以下を実行してマウントしておきます。
  1. $ sudo mount -t usbfs none /proc/bus/usb


使用感としては、思ったよりサクサク動いています。
kvmを使わないqemuの場合は実用に耐えうるスピードではありませんでしたが、kvmを使用するとほぼネイティブと言ってもいいくらいのスピードですね。
ただし、グラフィック系はあまり速くないので、rdesktopでつないだ方が結果として快適かもしれません。
出来て間もないため、サーバー用途にはまだ不安が残りますが、テスト用マシンなどの用途には実用的かと思います。

コメントフォーム

認証
captcha_key
 

トラックバック

最近の記事