PC-UNIXに関する記事など

Linux標準の仮想化技術「KVM」を使ってWindowsを動かす

サーバマシンにubuntuをインストールしてLinux上で仮想化機能を使いWindowsXPを動かす所までのメモです。
この場合Windowsのライセンスには十分注意してくださいね。

※詳細な説明は書きませんあくまでチラ裏です。

■ホストマシンにubuntuをインストール

http://www.ubuntu.com/download/ubuntu/download

isoイメージ(Ubuntu10.04 LTS 64bit)をCDに焼いて普通にインストールする。

■仮想化の肝である KVM パッケージのインストール

参考)

http://research.sakura.ad.jp/2010/11/17/kvm-desktop/

$ sudo apt-get install qemu-kvm kvm-pxe

■KVMモジュールを有効化します

$ sudo modprobe kvm

■読み込まれたか確認

$ sudo lsmod

■ブリッジ・インターフェースを作成

br0の設定
VMに外部ネットワークを接続するためにはブリッジ・インターフェースを用意する必要があります。
そのために /etc/network/interfaces を書き換えます。
下記は DHCP でアドレスを設定する場合。

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet dhcp
  bridge_ports eth0

ファイルを書き換えたらインターフェースをリスタートします。

$ sudo /etc/init.d/networking restart

■VMインストールのための準備

VMのHDDデバイスに当たるイメージファイルを作成します。(10GB作成の例)

$ dd if=/dev/zero of=vm.img bs=1M count=10240

■VMを起動してOSをインストールする

カレントディレクトリに先ほど作ったvm.imgと インストール元イメージ(Windowsインストールディスク)の xxxx.iso ファイルがあると仮定します。
macaddrは本当の物理アドレスと被らなければ適当でいいです。cdromのxxxx.isoイメージから起動してインストールする。
model=e1000はネットワークカードの設定エミュレーション設定なので*nixな場合はe1000のエミュレーションでおk。
windowsの場合はmodel=e1000は無しで。

$ sudo kvm vm.img -m 256 -net nic,model=e1000,macaddr=xx:xx:xx:xx:xx:xx  -net tap,ifname=tap0 -cdrom xxxx.iso -boot d

■インストール完了後の起動

インストールが完了したら、CD-ROMを外して再起動します。
そのときコマンドラインから -cdrom オプションと -boot オプションを外します。

$ sudo kvm vm.img -m 256 -net nic,model=e1000,macaddr=xx:xx:xx:xx:xx:xx  -net tap,ifname=tap0

実際に使用した時の例、cdromドライブが使えるようにデバイス名を指定する。cdrom /dev/cdrom が無いとデバイスを認識しません。

$ sudo kvm vm.img -m 2048 -k ja -net nic,macaddr=00:00:00:00:00:11 -net tap,ifname=tap1 -cdrom /dev/cdrom

■Ubuntu 10.04にFreeNXでリモートログイン

サーバマシンにはモニタやキーボードが繋がっていない場合が多いので他のマシンからVNC機能を持ったリモートデスクトップソフトを利用して操作してみる。
有名なのは UltraVNC 等ありますが「狭いネットワーク帯域でも比較的高いパフォーマンスを発揮」する FreeNX を使う。

参考)

http://gihyo.jp/admin/serial/01/ubuntu-recipe/0098?page=1
http://www.rapidexp.com/wordpress/2010/10/01/reenx/

■インストール前の準備

FreeNXをインストールする前に,SSHサーバをセットアップしておく必要があります。
インストールしていなければ,端末を開いて以下のコマンドを実行しましょう。

sudo apt-get install openssh-server

■Ubuntu(FreeNX)サーバ側

FreeNXのPPAを追加。

$ sudu add-apt-repository ppa:freenx-team
$ sudo apt-get update
$ sudo apt-get install freenx

rcconf等でfreenxが自動起動するよう設定

■Windows(FreeNX)クライアント側

http://www.nomachine.com/download-client-windows.php

インストールが完了するとFreeNXからVMホストのアドレスを指定して接続するとWindowsクライアント側でサーバー上のkvmで動作しているwindowsを操作できるようになる。

FreeNX上で_が入力できない場合の対処

FreeNX上のコンソールなどでアンダーバー"_"が入力できない事があるので~/.Xmodmapを作成してキーマップを変更する。

keycode 123 = backslash underscore

.Xmodmap を作成してログインし直すとアンダーバーが入力出来るようになります。


このエントリーをはてなブックマークに追加

トップ  »  Linux  »  Linux標準の仮想化技術「KVM」を使ってWindowsを動かす

トラックバック(0)

トラックバックURL: http://www.omakase.org/mt/mt-tb.cgi/56

コメントする

カテゴリLinuxの記事一覧