X

QEMU in ubuntu(vmware)

現在 IE 的市佔率還是在高點, 頁面設計還是得要以 IE 為主, 以 Linux 當 Desktop 的情況, 還是會遇到不得已, 非得要灌 Windows 的狀況(在 Linux 裝 IE 看起來實在太辛苦了)

不過 qemu 在灌 XP, 實在是異常的辛苦(光灌放在那邊就等了 8 個多小時才灌好)..

以下來記錄一下整個流程.

ubuntu 可以很簡單的使用 apt-get install qemu 來裝(不過因下述原因, 最後還是用官方版的, 就不用此 qemu package).

安裝完成後, XP開啟後速度太慢, 需要 kqemu 來加速(速度差很多, kqemu 據說是能讓速度到跟電腦平常速度差不多), 但是 debian package 的版本無法支援 kqemu, 所以最後把 ubuntu 的 qemu 移除了, 直接去官方網站抓qemu-0.8.1-i386.tar.gz(Binary distribution for linux-i38) 和 kqemu-1.3.0pre9.tar.gz 這兩個來用.

我測試的結果, 加上 kqemu 是快很多, 但是還是跟電腦平常使用上差蠻多的就是了.

安裝方法很簡單. 如下很快就可以裝好

  1. tar zxvf kqemu.xxxx.tar.gz
  2. cd kqemu.xxx/;./configure;make;make install
  3. # qemu 的安裝方法可以有兩種, 官方說法是 cd /;tar zxvf qemu.xxxx.tar.gz 即可.
  4. # 但是個人習慣還是放在自己目錄下比較好, 所以下面有另外介紹另一種做法

再來就是整個建置的步驟如下:

1. 建立 img 檔(之後所有運作(虛擬電腦)都會在此 img file 中)

qemu-img create /backup/winxp/windows.img 15000M

2. 再來光碟開機, 開始安裝(-win2k-hack 是參數, 不管你裝 98 還是 XP 都一樣用此參數)

qemu -hda /backup/winxp/windows.img -cdrom /dev/cdrom -localtime -boot d -win2k-hack -m 512

3. 再來就是漫長的等待安裝完成.

4. 設定網路, 需要再安裝 apt-get install bridge-utils

5. 再來就是照以下的 script, 跑完網路就設好(XP 就可以使用網路)

#!/bin/bash
##iface bridge inet
ifconfig eth0 0.0.0.0 promisc up
# 建立一個名為 bridge 的 Bridge 介面
brctl addbr bridge
# 轉送延遲時間,Bridge 切換至 listening 及 learning 狀態所需時間
# Bridge 會花一點時間來記錄每個實體介面的 MAC Address
brctl setfd bridge 0
# 傳送 STP Hello 封包的頻率。設定為 0 因為我們不使用 STP 這個功能
brctl sethello bridge 0
# 關閉 spanning tree protocol 功能。用不著...
brctl stp bridge off
brctl addif bridge eth0
ifup bridge
dhclient bridge

6. 在整個安裝結束後, 之後要再開啟 Windows 的方法:

qemu -hda /backup/winxp/windows.img -localtime -m 512

7. 要全營幕顯示的方法 ctrl+alt+f 就可以切換, ctrl+alt 可以跳出 qemu 的視窗

再來簡單寫一下我目前的安裝法和使用的 Script.

  1. mkdir ~/qemu;cd qemu
  2. tar zxvf qemu.xxx.tar.gz;tar zxvf kqemu.xxx.tar.gz
  3. mv kqemu.xxx kqemu;cd kqemu;./configure;make;make install
  4. cd ~/qemu;cp kqemu/kqemu.ko ~/qemu/
  5. 寫以下 Script: qemu.sh, 之後只要執行此 script 即可進入 qemu
  6. Script:
    #!/bin/bash
    $HOME/qemu/kqemu/install.sh
    modprobe kqemu
    ln -s $HOME/qemu/usr/local/share/qemu/ /usr/local/share/qemu
    ifconfig eth0 0.0.0.0 promisc up
    brctl addbr bridge
    brctl setfd bridge 0
    brctl sethello bridge 0
    brctl stp bridge off
    brctl addif bridge eth0
    ifup bridge
    dhclient bridge
    $HOME/qemu/usr/local/bin/qemu -hda /backup/winxp/windows.img -localtime -m 512
  7. 之後只要執行 qemu/qemu.sh 即可啟動

來附張圖

參考網站:

Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post