fc2ブログ
ホーム   »  Unix/Linux  »  Linux Xen 上で Windows XP を動かす

Linux Xen 上で Windows XP を動かす

家では MacBook をメインで使っていますが、Illustrator / Photoshop (Windows 版) で図を書いたり、Visual C++ や Office が必要な時にはわざわざ ThinkPad を起動し VNC で接続したり場所を移動したりしています。Windows XP はかなりレガシーな雰囲気が否めませんが開発事を行っていると中々手放すわけには行かない環境でもあります。

そこで自宅サーバのコア数/メモリ/ディスクに余裕を持たせ Xen で仮想化した上に Windows XP を構築し、必要なときに VNC で接続して使おうと思い立ち新しいサーバを構成したわけです。この記事では Xen 上で Windows XP を起動するまでの構成について書いています。

Xen で Windows を動作させるには準仮想化に対応した CPU が必要です。具体的には VT (Intel Virtualization Technorogy) に対応している必要がありますので、使おうとしている CPU が VT に対応しているか先に調べてください。

CPUXeon E3-1230
OSCentOS 5.6 final, Kernel 2.6.18-238.12.1.el5
Xen3.0.3-120.el5_6.2

VNCクライアントの準備

新しく構成する Windows の GUI 操作は全て VNC 経由で行いますので適当な VNC クライアントを用意してください。Windows であれば Real VNC が無料で使用できます。Mac OS X では、標準の画面共有や Chicken of the VNC と Xen VNC との相性が著しく悪いためここなどを参考にして別の VNC クライアントを使用して下さい。

インストールイメージ作成

Windows XP インストール CD の ISO イメージファイルを作成します (物理ディスクを直接差し込んで使用する場合は後述の --cdrom 値を書き換えてください)。後の作業ではこのファイルが /srv/xen/WXPFPP_JA.iso に置いてあるものとします。

リソース割り当て

リソースの割り当ては以下の様にしておきます。

名前amber
CPU2個 (1Core/2Thread)
メモリ2GB
ディスク100GB
VNCポート5920

ディスク以外に関しては構成後に設定ファイルレベルで調整が可能なのであまり気にしなくても大丈夫です。逆にディスク容量は「後で変更が難しいもの」として必要な容量を決めて下さい。

xend の VNC 設定

ローカルホスト以外からの VNC 接続が必要になるため xend の VNC バインドアドレスを設定しておきます。/etc/xen/xend-config.sxp を開いて以下の設定を追加して下さい。またファイアウォールの設定で VNC ポート 5920 を開けます (セキュリティ上の問題があるため LAN 内の IP アドレスに限定してください)。

(vnc-listen '0.0.0.0')

仮想ノードの作成とインストール

virt-install コマンドを使用してディスクイメージと環境構成を作成します。100GB のディスクを作成するのに 1 時間近くかかりますので dd コマンドなどで作っておくのが良いかもしれません。

root@cobalt# mkdir /srv/xen/amber
root@cobalt# virt-install --name=amber --ram=2048 --vcpus=2 --file=/srv/xen/amber/disk1 \
--file-size=100 --nonsparse --vnc --vncport=5920 --hvm --os-type=windows --os-variant=winxp \
--cdrom=/srv/xen/WXPFPP_JA.iso

インストールを開始しています...
ストレージファイルを作成中...                                   | 100 GB     54:09      
ドメインを作成中...                                                  |    0 B     00:04     

(virt-viewer:3206): Gtk-WARNING **: cannot open display:  
Domain installation still in progress. Waiting for installation to complete.

なにやら警告が出ていますがそもそも Domain-0 には X が入っていないので無視して先へ進みます。--vncport=5920 で構成したので VNC クライアントで VNC ポート 20 へ接続すれば Windows セットアップの初期画面が表示されているはずです。

接続できない場合は --vncport で指定したポート番号が開いているか (netstat -an|grep LISTEN)、該当ポートがファイアウォールの制約に引っかかっていないかなどを確認して下さい。

コメント
トラックバック
トラックバック URL
コメントの投稿
管理者にだけ表示を許可する
Profile
Takami Torao
Takami Torao
C/C++ 使いだった 1996年、運命の Java と出会い現在に至る。のらアーキテクト。
Yah, this is image so I don't wanna eat spam, sorry!
Search

Google
MOYO Laboratory
Web

カテゴリー
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
ブロとも申請フォーム
RSSフィード
リンク