amd64なDebianにx86なWindowsをHVMで入れてみる

とりあえず、今このマシンは64bitのDebianと32bitのWindowsのデュアルブートだ。
だけど、Windowsじゃないとちょっと微妙な作業とかがたまにあると再起動するのが煩わしい。
ので、このマシンもXen使って仮想化しちゃおうじゃないっていう話。

まず下準備。

ディスクイメージを作成。

# cd /home/
hydrangea:/home# ls
yuuha
hydrangea:/home# mkdir xen
hydrangea:/home# cd xen/
hydrangea:/home/xen# ls
hydrangea:/home/xen# mkdir domains
hydrangea:/home/xen# cd domains/
hydrangea:/home/xen/domains# ls
hydrangea:/home/xen/domains# mkdir windows
hydrangea:/home/xen/domains# cd windows/
hydrangea:/home/xen/domains/windows# ls
hydrangea:/home/xen/domains/windows# dd if=/dev/zero of=disk.img bs=1M count=20480 seek=1024
20480+0 records in
20480+0 records out
21474836480 bytes (21 GB) copied, 96.9778 s, 221 MB/s

今回はとりあえず20G。
もっと欲しくなったらその時ディスク増やせばいいだろう。

xend-config.sxpは以下のように設定。

hydrangea:/etc/xen# grep ^[^#] xend-config.sxp
(logfile /var/log/xen/xend.log)
(network-script network-bridge)
(vif-script vif-bridge)
(dom0-min-mem 196)
(dom0-cpus 0)
(vncpasswd ”)

windows.hvmというファイルを作成して以下のような内容に。

kernel=’/usr/lib/xen-3.2-1/boot/hvmloader’
builder=’hvm’
memory=2048
name=’windows’
vcpus=2
vif=[ ‘mac=00:16:3e:7c:7d:55,bridge=eth0′ ]
disk=[ ‘file:/home/xen/domains/windows/disk.img,hda,w’, ‘file:/ntfs/work/xp/winxpsp3.iso,hdc:cdrom,r’ ]
device_model=’/usr/lib/xen-3.2-1/bin/qemu-dm’
boot=’dca’
sdl=0
opengl=1
vnc=1
vnclisten=’0.0.0.0′
vncpasswd=”
stdvga=0
serial=’pty’
usb=1
usbdevice=’tablet’
keymap=’ja’

無駄に4コアなんでCPU二つ割り当ててみた。
そして気づいた人は気づいただろうけど、突然前回Windows XP SP3の統合ディスクイメージを作ったのかっていうのはdiskのラインをみればわかる。

で、起動してVNC Viewerで接続。

hydrangea:/etc/xen# xm create windows.hvm
Using config file “./windows.hvm”.
Started domain windows
hydrangea:/etc/xen# vncviewer localhost

screenshot-vnc-xen-windows

コター。
ちなみにvnclistenを0.0.0.0にしてるからリモートからでも接続できるので、GUI環境がなくても構築できる。

Windowsのインストールは例のごとく途中で一回再起動が入るので、その時にVNCの接続が切れるが、再接続して続ける。

screenshot-vnc-xen-windows-11

ちなみに実行中のプログラムはこんな感じだった。

/usr/lib/xen-3.2-1/bin/qemu-dm -d 2 -domain-name windows -k ja -vnc 0.0.0.0:0 -vncunused -vcpus 2 -boot dca -serial pty -acpi -usb -usbdevice tablet -net nic,vlan=1,macaddr=00:16:3e:7c:7d:55,model=rtl8139 -net tap,vlan=1,bridge=eth0 -M xenfv

screenshot-vnc-xen-windows-2

見覚えのある画面までたどり着いた。

screenshot-vnc-xen-windows-3

起動。

なかなか大したものだ。

最後にcd-romドライブを物理ディスクに設定し直す。
D-ROMデバイスを確認。

hydrangea:/home/xen/domains/windows# ls -l /dev/cdrom
lrwxrwxrwx 1 root root 3 2009-05-31 07:36 /dev/cdrom -> hda

hdaをさしてるので、diskを以下のように書き換える。

disk=[ ‘file:/home/xen/domains/windows/disk.img,hda,w’, ‘phy:/dev/hda,hdc:cdrom,r’ ]

HVMを再起動して完了。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>