2006年11月18日

Run Windows XP on Debian 'etch' with xen

這可說是近來我對 Linux 最困難的經驗,因為 xen 雖然很強,但許多 bugs 都還在修正中,一不小心碰到了就會卡很久,實在很難設定。這台機器是 dual core 的 intel cpu,支援 VT,可以在不修改 Win OS 的情況下直接執行 windows. 相關資料可以參考這裡

我用的是目前的 Debian testing: etch,目前研究出來最快的方式如下:

直接用 apt-get install 或者是 aptitude 安裝以下幾個 packages:

linux-image-xen-686
xen-ioemu-3.0.3-1

其他的東西都會經由 dependency 自動安裝好。結束後重開機到標示為 Xen 3.0.3-1-i386 的 grub option 底下,新增一個檔案 /etc/xen/winxp

kernel = "hvmloader"
builder='hvm'
memory = 512
name = "winxp"
vif = [ 'type=ioemu, bridge=xenbr0' ]
disk = [ 'file:/home/xen/disk.img,ioemu:hda,w',
'file:/home/xen/winxp.iso,hdc:cdrom,r' ]
#cdrom = '/dev/hda'
device_model = 'qemu-dm'
boot="dca"
sdl=1
vnc=0
nographic=0
localtime=1

重點是 disk 那一行,全部要用 image 檔的方式,意味著 win xp 的 iso 檔要先做好:

dd if=/dev/cdrom of=winxp.iso

目前無法採用實體的 /dev/cdrom ,因為 qemu-dm 這版本還有問題。然後修改/etc/xen/xend-config.sxp,確定有以下兩行:

(network-script network-bridge)
(vif-script vif-bridge)

改完以後記得重新啟動 /etc/init.d/xend restart。接下來用 sudo 執行

xm create winxp

就可以啦。安裝好以後把 winxp 裡頭的 boot 順序 mark 掉,讓他恢復預設的 hd->cdrom->floppy 就可以了。

裝好以後執行的感覺非常快速,完全不像 VM,反而像是 native 在跑。當初大家對 xen 寄予這麼高的期待不是沒道理啊。

1 則留言 :