[分享] 另一個 x86 模擬器 (II) - QEMU。把 VMware 丟掉吧∼∼

常言道:『飲水思源』,在 Open Source 的世界裡,我們常常需要別人的幫助,但是在您有所心得的時候請記得分享給大家,『幫助人是快樂的喔』。歡迎您在使用 debian 的過程中的任何心得分享給大家。

[分享] 另一個 x86 模擬器 (II) - QEMU。把 VMware 丟掉吧∼∼

文章Tetralet » 週一 10月 04, 2004 5:48 pm

所需套件

  qemu

建議安裝套件

  bridge-utils


簡介

  在 Free Software 的世界中,
  除了 Bochs 之外,還有一個以速度號稱的 x86 模擬器 - QEMU。

  QEMU 的模擬速度約為實機的 25%;
  約為 Bochs 的 60 倍。
  Plex86、User-Mode-Linux、VMware 和 Virtual PC 則比 QEMU 快一點,
  但 Bochs 需要特定的 Kernel Patch;User-Mode-Linux 的 Guest System 必須為 Linux;
  VMware 和 Virtual PC 則需要在 Guest System 上安裝特定的 Driver,
  且它們是針對作業系統而進行模擬,並不能說是完整的模擬器。
  所以 QEMU 仍不失為極優秀的 x86 模擬器。


QEMU 所模擬的硬體列表

  * i440FX host PCI bridge and PIIX3 PCI to ISA bridge

  * Cirrus CLGD 5446 PCI VGA card or dummy VGA card with Bochs VESA extensions
   (hardware level, including all non standard modes).

  * PS/2 mouse and keyboard

  * 2 PCI IDE interfaces with hard disk and CD-ROM support

  * Floppy disk

  * NE2000 PCI network adapters

  * Serial port

  * Soundblaster 16 card

  QEMU 所採用的 PC BIOS 乃取自 Bochs 及 Plex86/Bochs 的 LGPL VGA BIOS。


事前準備

  和 Bochs 類似的,
  在 QEMU 裡,是利用 Image File 來模擬硬碟的;
  也就是 QEMU 是將一個大大的檔案模擬成一顆硬碟。

  我們可以利用 qemu-mkcow 指令來製作這些 Image File,例:
  
代碼: 選擇全部
qemu-mkcow Sarge.cow 2048

  這時就會產生一個名為 Sarge.bin 的 COW 檔案。

  qemu-mkcow 所產生出來的檔案為取自 User-Mode-Linux 的 Copy On Write (COW) 檔案。
  這種檔案的特性是:它只儲存修改過的磁區,所以它是一種會 Growing 的檔案格式。
  但它只能存放在 ext2、ext3 之類,有支援 holes 的檔案系統之中。

  在使用 ls -l 來檢視 COW 檔案時,
  您會發現它的檔案容量就是您所指定的大小;(在上例中,就是 2048 MB)
  而只有在使用 ls -ls 來檢視時才會出現它真正所佔用的磁碟空間。

    注意:在執行 qemu-mkcow 指令時,
       若所指定的檔案已經存在了,或是發生任何問題,
       qemu-mkcow 幾乎並不會輸出任何的錯誤訊息。使用時請注意。


執行 QEMU

  QEMU 並不使用任何的設定檔,它只能以命令列參數來執行;
  但是把這些參數寫成一個小小的 Script 是輕而易舉的事,所以並不會造成任何的不便。

  例:
代碼: 選擇全部
qemu -fda Boot.img -hda Windows95.cow -hdb Source.cow -cdrom CWindows95.iso -boot a -m 64 -enable-audio -localtime -user-net


  一般參數(節錄)

   -fda file / -fdb file:
   
     指定軟碟機。可在此指定 Image 檔案。

   -hda file / -hdb file / -hdc file / -hdd file:

     指定硬碟 Image 檔案。請勿指定為光碟 ISO 檔案。

   -cdrom file:

     指定光碟機。可在此指定 ISO 檔案。它將固定使用 hdc 這個位置,
     所以 -hdc 不能和 -cdrom 同時使用。

   -boot [a|c|d]:

     指定開機磁碟。a 為 floppy,c 為硬碟,d 為 CD-ROM。

   -m megs:

     指定記憶體大小;單位為 MB。預設為 128 MB。

   -enable-audio:

     啟用音效卡。預設是關閉的。

   -localtime:

     使用真實時間。建議使用於 MS Windows / DOS 系統。預設上是使用 UTC 時間。

  網路設定參數(節錄)

   在 QEMU 裡,有三種網路模式可供選擇:

     TUN/TAP 模式(預設模式)

      在 Linux 系統中,使用 TUN/TAP 介面來模擬網路界面是很標準的做法。

      若要使用 TUN/TAP 介面,請切換至 /dev 目錄中,執行
      
代碼: 選擇全部
MAKEDEV tun

      來建立 tun 之裝置檔。
      之後,在執行 QEMU 時,QEMU 便會自行載入 tun 模組並產生一個名為 tun0 的網路介面;
      之後 Guest System 便能夠藉由這個 tun0 介面和外部連線了。

      請參考以下這個 Script 來設定 TUN/TAP 介面:
      (請將 192.168.1.254 替換成一個空的 IP 位址。這個位址將由 tun 介面所使用。)
      (請將 192.168.1.101 替換成一個空的 IP 位址。這個位址將由 Guest System 使用。)
代碼: 選擇全部
#!/bin/bash
/sbin/ifconfig ${1##/*/} 192.168.1.254
route add -host 192.168.1.101 dev ${1##/*/}

      這樣子在 QEMU 啟動時,就會將 tun 裝置設定為 192.168.1.254 了。

      由於執行這個 Scrip 需要 root 之權限,
      所以必須具有 root 身份才能正常啟用這個模式的。
      且 tun 裝置的 IP 位置和 Guest System 的 IP 位址是寫死在 Script 裡的,
      所以在使用上並不是很方便。

      藉由 TUN/TAP 介面來和網路連線。必須採用固定 IP,但 IP 可以隨意指定;
      Guest System 可以連線出去,Host OS 也可以和 Guest System 連線,
      但外部網路的其它電腦則完全無法連線進來。

     User-Nat 模式

      使用 User Mode Network Stack 來模擬網路界面。
      Guest System 必須採用 DHCP,且一定會得到 10.0.2.x 的 IP,
      同時,Gateway 會指向 10.0.2.2,DNS 則指向 10.0.2.2。

      Guest System 可以連線出去,但 Host OS 和外部網路的其它電腦則完全無法連線進來。

      由於 User Mode Network Stack 無法完全支援 ping 指令,
      所以 Guest System 只能 Ping 到 Host OS,無法 ping 到外部網路的其它電腦。

     Dummy Net 模式

      並不實地得進行任何網路連線。

  網路介面的命令例參數(節錄)

   -nics n:

     模擬幾個網路介面。預設為 1 個,最多為 6 個。

   -n script:

     設定 TUN/TAP 網路連線的 Script;預設為使用 /etc/qemu-ifup。

   -user-net:

     使用 User Mode Network Stack。
     若未指定或找不到 TUN/TAP 的 Script 時,則會採用這個模式。

   -dummy-net:

     使用虛擬的網路介面。這個網路介面將不會傳送接收任的網路連線。

  除錯 / 進階選項(節錄)

   -S:

     在啟動時暫停 CPU 之運作。使用 c 來繼續執行。

   -d item1,...

     將 LOG 輸出至 /tmp/qemu.log 中。
     使用 -d ? 來查看會產生 LOG 的項目之列表。

   -isa:

     模擬一個純 ISA 系統;預設上則是模擬成 PCI 系統。

   -std-vga:

     將顯示卡模擬成一個同時包含了 VESA Bochs 擴充的標準 VGA 卡。
     預設則模擬為 CL-GD5446 PCI 顯示卡。

  QEMU Monitor(節錄)

   在執行 QEMU 後,會出現一個
代碼: 選擇全部
(qemu)

   的提示。在這個提示下可以輸入一些指令來操作 QEMU。例:

    help 或 ? [cmd]

     顯示說明文字

    info 指令:

     顯示系統狀態。例:

      ★ info network,顯示網路介面狀態

      ★ info block,顯示儲存裝置狀態

      ★ info registers,顯示 CPU 的暫存器狀態

      ★ info history,顯示歷史指令

    q 或 quit:

     關閉模擬器

    eject [-f] device:

     退出裝置。使用 -f 來強制退出

    change device filename:

     更換抽取式媒體。如:軟碟片或是光碟片。

    screendump filename:

     截取螢幕畫面,儲存成 PPM 影像。

    log item1[,...]

     將所指定的項目之 LOG 寫入 /tmp/qemu.log 中。

    savevm filename:

     將整個模擬器狀態儲存至檔案中

    loadvm filename:

     由檔案中載入模擬器狀態

    stop

     停止模擬

    c 或 cont

     繼續模擬

    sendkey keys

     傳送某個鍵擊給模擬器。使用 - 來連結複合鍵。例:

代碼: 選擇全部
sendkey ctrl-alt-f1


     將會傳送 <Ctrl><Alt><F1> 給模擬器。

    system_reset

     重新啟動系統。

快捷鍵

  在 QEMU 的系統裡,可以按下 <Ctrl><Shift> 來跳離 QEMU;
  按下 <Ctrl><Shift><f> 來進入全螢幕的畫面。

網路介面解決方案

  使用 sudo 來執行 QEMU

   如果要使用 TUN/TAP 介面,必須以 root 身份來設定 TUN/TAP 介面才行。
   所以建議採用 sudo 的方式執行 QEMU。

    ☆ 以 root 或是 SUID 或 sudo 來執行任何程式都是大風險,
     尤其是使用者可以自行設定 QEMU 呼叫某一個 Script 來設定網路,
     若 QEMU 以 SUID/sudo 來執行的話,將可能引起極嚴重之安全問題。

    * 安裝 sudo 套件。

    * 以 visudo 來建立 sudo 的設定檔,並設定不用輸入密碼即可執行 QEMU:
     (其中的 UserName 和 HostName 請替換成您的系統設定,或設定為 ALL。)
代碼: 選擇全部
Cmnd_Alias        QEMU=/usr/bin/qemu
UserName        HostName=NOPASSWD: QEMU


    * 編輯 .bashrc,讓 qemu 能預設以 sudo qemu 來執行:
代碼: 選擇全部
alias qemu='sudo qemu'


    * 執行 qemu,並以 ps aux | grep bochs 來確認 qemu 是否以 root 的身份執行?

  讓 TUN/TAP 介面可以和實體網路連線

   若依前文所提的方式來設定 TUN/TAP 介面,
   則 Guest System 則只能使用固定 IP、
   且除了 Host OS 之外,外部網路的其它電腦會完全無法連線至 Guest System。
   這種做法並非十全十美。

   解決方案之一是將 TUN/TAP 介面和實體網路給 Bind 在一起,
   也就是將數個實體網路介面合成一個 Bridge 介面:

    設定 Bridge 介面

     * 安裝 bridge-utils 套件

     * 在 /etc/network/interfaces 加入一段:(在此假設是使用 DHCP 來設定網路的)
     
代碼: 選擇全部
iface bridge inet dhcp

      其中的 bridge 名稱可以自訂。

      這樣子我們在日後就可以用 ifup、ifdown、ifconfig 等指令來直接操作 bridge 這個介面了。
      當然囉,使用 ifconfig、route、dhclient 等指令來手動操作當然也可以;這就全憑個人喜好了。

     * 這數個要 Bind 在一起的實體網路介面之 IP 必須為 0.0.0.0,並啟用 promisc 模式:

代碼: 選擇全部
ifconfig eth0 0.0.0.0 promisc up


     * 宣告一個名為 bridge 介面的『Bridge』;並設定其動作模式:
代碼: 選擇全部
# 建立一個名為 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

     * 此時,可以使用 ifconfig -a 來檢視是否出現了 bridge 這個介面。

     * 將 eth0 給 Bind 至 bridge 上:
代碼: 選擇全部
brctl addif bridge eth0


     * 啟用 bridge 介面:

      ■ 如果在 /etc/network/interfaces 已設定了 bridge 資訊的話:

        ifup bridge

      ■ 若 bridge 使用 DHCP:

        dhclient bridge

      ■ 手動設定 bridge 參數:

        ifconfig bridge 192.168.1.1 netmask 255.255.255.0 up
        route add default gw 192.168.1.254

     * 檢視 Bridge 的狀況:
代碼: 選擇全部
brctl show


     * 由於將數個介面合成了一個 bridge 介面,
      而像是 iptables、pppoe 等等設定也必須視情況而有所變更。
      而如何設定 iptables 就超過了本篇的範圍之外,在此就略過不加討論了。

    關閉 bridge 的方式

     * 關閉 bridge 介面:
代碼: 選擇全部
ifdown bridge
ifconfig bridge down

     * 解除 Bind 在 bridge 上的 eth0:
代碼: 選擇全部
brctl delif bridge eth0

     * 移去 bridge 介面:
代碼: 選擇全部
brctl delbr bridge

     * 啟用 eth0:(如果在 /etc/network/interfaces 已設定了 eth0 資訊的話)
代碼: 選擇全部
ifup eth0

     這時,eth0 應該就恢後原有的狀態了。

    將以上步驟寫成 /etc/init.d/bridge:
代碼: 選擇全部
#!/bin/sh

PATH=/usr/local/sbin:/sbin:/usr/sbin:/usr/local/bin:/bin:/usr/bin

if [ "$(id -u)" != "0" ]; then
    echo "$0: To $1 Bridge, you must be root."
    exit 1
fi

# Default settings
bridge_interface='bridge'
bind_ethernet='eth0'

case "$1" in
    start)
        printf "Starting Bridge ... "
        ifdown $bind_ethernet
        ifconfig $bind_ethernet down
        ifconfig $bind_ethernet 0.0.0.0 promisc up
        brctl addbr $bridge_interface
        brctl setfd $bridge_interface 0
        brctl sethello $bridge_interface 0
        brctl stp $bridge_interface off
        brctl addif $bridge_interface $bind_ethernet
        ifup $bridge_interface
        echo ""
        brctl show
        echo ""
        ;;
    stop)
        ifdown $bridge_interface
        ifconfig $bridge_interface down
        brctl delif $bridge_interface $bind_ethernet
        brctl delbr $bridge_interface
        ifup $bind_ethernet
        ;;
    restart|reload)
        $0 stop && $0 start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac


     您可以考慮讓這個 Script 在開機時自動執行:(在此時設定其啟動編號為 13)

代碼: 選擇全部
update-rc.d bridge start 13 0 2 3 4 5 6 .


     這樣就可以在開機時就自動產生 bridge 這個介面囉。

    設定 TUN/TAP 介面的 Script

     而 QEMU 設定 TUN/TAP 介面的 Script 也要改成:(建議寫入 /etc/qemu-ifup 中)
代碼: 選擇全部
#!/bin/bash

ifconfig ${1##/*/} 0.0.0.0 promisc up
brctl addif bridge ${1##/*/}

     這樣子,只要 QEMU 一啟動,
     在 QEMU 裡的 Guest System 就可以傳送接收 DHCP、Windows Login 等封包,
     外部網路的其它電腦也可以自由連線至 Guest System 了。

      小技巧

       如果在無線網路卡上啟動 Bridge 可能會遭遇到困難,
       這時您可以在啟動 Bridge 之前先啟動無線網路卡,
       很可能可以解決這個困擾哦!

       另外,因為 Bridge 介面很可能會用到 iptbale 裡的 ipt_physdev 模組。
       請自行參考 iptables 之說明。

       而這個方式也適用於 User-Mode-Linux 及 Bochs 等等用得到 TUN/TAP 介面的程式哦!

設定 Guest System 小技巧

  MS Windows 95/98/Me

    在 QEMU 裡執行 MS Windows 95/98 時,將使得 CPU 的 Loading 永遠維持在 100%。
    您可以到 AMN Software 下載並安裝 Amn Task Manager 來解決這個問題。

    另外,Windows 95/98/ME 在安裝完成後,
    在該顯示遊標的地方只會出現一個大大的白色方塊。(可能是一個 Bug...),
    所以建議使用 -std-vga 參數來暫時避開這個問題。

  MS Windows 2000

    可能暫時無法在 QEMU 裡安裝。會出現『磁碟空間不足』之錯誤訊息。

  GNU/Linux

    在安裝時,不管是 Woody 或是 Sarge 都能夠自動驅動 QEMU 所模擬的 NE2000 PCI 網路卡。

    若想使用 X Window,顯示卡模組請採用 vesa 或是 cirrus 模組;色深建議採用 16 bit。

    若想使用 Kernel 2.6.x,
    因為 Kernel 2.6.x 會精確得檢查電腦硬體時鐘的時間,
    而這是 QEMU 無法模擬的。請在開機時加上 clock=pit 參數來避開這個問題。

執行畫面截圖

  圖檔

  圖檔

附註

  以上介紹的只是 QEMU 的 Full System Emulation 模式;
  QEMU 另外還支援了類似 User-Mode-Linux 的 User Mode Emulation,
  如果日後有機會會針對這個部份加以補充的。

參考資訊

  QEMU CPU Emulator

  QEMU CPU Emulator User Documentation

  QEMU Internals

  QEMU FAQ

  Networking UML using bridging

  Mini HOWTO:Ethernet Bridge + netfilter以太網橋+netfilter Howto


本文也會同時放至 Debian Wiki 裡。
在 Debian 裡的那一篇排版上比較有條理哦∼
請大家多多支持 Debian Wiki!
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

re:[分享] 另一個 x86 模擬器 (II) - QEMU。把 VMware 丟掉吧∼∼

文章louie » 週二 10月 05, 2004 6:09 pm

辛苦了,Tetralet 兄,感謝分享
louie
快樂的大學生
快樂的大學生
 
文章: 593
註冊時間: 週一 9月 09, 2002 7:58 pm

re:[分享] 另一個 x86 模擬器 (II) - QEMU。把 VMware 丟掉吧∼∼

文章訪客 » 週五 1月 28, 2005 12:14 am

請問一下 Tetralet大哥 qemu可以在 reiserfs上做img嗎 我沒割ext2、ext3而img也一直做不成
訪客
 

re:[分享] 另一個 x86 模擬器 (II) - QEMU。把 VMware 丟掉吧∼∼

文章huangjiahua » 週五 1月 28, 2005 1:34 am

谢谢


我的 qemu 里的机器以前上不了网


现在加个 -user-net 参数,让 Guest System 使用 DHCP 就没有问题了



对了

我的硬盘分区也全是 ReiserFS 的,用命令
# qemu-img create hd1.img 2g
没有问题
PIII850 ,
Pentium(R) D 2.80GHz x2
huangjiahua
可愛的小學生
可愛的小學生
 
文章: 34
註冊時間: 週四 1月 13, 2005 7:51 pm

re:[分享] 另一個 x86 模擬器 (II) - QEMU。把 VMware 丟掉吧∼∼

文章antonyshen » 週五 1月 28, 2005 9:17 am

請問一下各位用那個版本的 Kernel?我用 2.6.8/2.6.10,搭配 qemu 0.6.1,結果只要關閉虛擬機器,即關閉模擬器
QEMU 後,稍後想再進去就會無法開機。Win2K 之類的 OS 會回報說不認得硬碟或硬碟尚無開機檔之類的訊息。如果離開前用 savevm 將狀態存起來,回來時用 loadvm 就又 ok。不知各位先進可有碰到,如何解決?
antonyshen
可愛的小學生
可愛的小學生
 
文章: 23
註冊時間: 週五 1月 23, 2004 11:07 am

re:[分享] 另一個 x86 模擬器 (II) - QEMU。把 VMware 丟掉吧∼∼

文章huangjiahua » 週日 2月 06, 2005 9:21 pm

好像只是在虚拟的 Win2K 里关机才会

既然 Win2K 使用的 NTFS 可靠性已经不差了

我就直接关闭 Qemu ,

再直接启动 Qemu
PIII850 ,
Pentium(R) D 2.80GHz x2
huangjiahua
可愛的小學生
可愛的小學生
 
文章: 34
註冊時間: 週四 1月 13, 2005 7:51 pm

Re: re:[分享] 另一個 x86 模擬器 (II) - QEMU。把 VMware 丟掉吧∼∼

文章訪客 » 週四 5月 19, 2005 8:34 pm

huangjiahua 寫:我的硬盘分区也全是 ReiserFS 的,用命令
# qemu-img create hd1.img 2g
没有问题


請教這位兄台
我也是用reseifs
但是img一直無法建立成功
您的指令對我而言總是無效
重複出現下列訊息
請問能請您來點指導嗎?
謝謝

qemu-img version 0.6.2, Copyright (c) 2004 Fabrice Bellard
usage: qemu-img command [command options]
QEMU disk image utility

Command syntax:
create [-e] [-b base_image] [-f fmt] filename [size]
commit [-f fmt] filename
convert [-c] [-e] [-f fmt] filename [-O output_fmt] output_filename
info [-f fmt] filename

Command parameters:
'filename' is a disk image filename
'base_image' is the read-only disk image which is used as base for a copy on
write image; the copy on write image only stores the modified data
'fmt' is the disk image format. It is guessed automatically in most cases
'size' is the disk image size in kilobytes. Optional suffixes 'M' (megabyte)
and 'G' (gigabyte) are supported
'output_filename' is the destination disk image filename
'output_fmt' is the destination format
'-c' indicates that target image must be compressed (qcow format only)
'-e' indicates that the target image must be encrypted (qcow format only)

Supported format: dmg cloop vmdk qcow cow raw
訪客
 

Re: re:[分享] 另一個 x86 模擬器 (II) - QEMU。把 VMware 丟掉吧∼∼

文章Tetralet » 週五 5月 20, 2005 12:11 pm

Anonymous 寫:
huangjiahua 寫:我的硬盘分区也全是 ReiserFS 的,用命令
# qemu-img create hd1.img 2g
没有问题


請教這位兄台
我也是用reseifs
但是img一直無法建立成功
您的指令對我而言總是無效

請試試:
代碼: 選擇全部
qemu-img create hd1.img 2G
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章訪客 » 週五 5月 20, 2005 10:38 pm

可以了~!!!
超級感謝Tetralet前輩~!!!!
您可能不知道我在長久以來受到您多少次幫忙
我真的打心底謝謝您
祝您健康快樂
訪客
 

文章Tetralet » 週二 5月 24, 2005 11:40 am

Anonymous 寫:可以了~!!!
超級感謝Tetralet前輩~!!!!
您可能不知道我在長久以來受到您多少次幫忙
我真的打心底謝謝您
祝您健康快樂

其實個人也只是半桶水,
但能幫上您的忙真的是太好了...

最近心情並不是很好,
看到您的留言真的讓人感到蠻窩心的,
謝謝您的鼓勵,我會繼續努力的...
時間並不能治療我心中的疼痛
南方的春天說什麼也溫暖不了我冰冷的血

誦唱大復活咒文,今天的 Tetralet 又在唧唧喳喳了 重生!
Tetralet
俺是博士
俺是博士
 
文章: 3078
註冊時間: 週四 11月 28, 2002 3:02 pm

文章huangjiahua » 週五 6月 03, 2005 9:06 pm

Tetralet前輩

能否介绍一下这个

“QEMU 另外還支援了類似 User-Mode-Linux 的 User Mode Emulation, ”
PIII850 ,
Pentium(R) D 2.80GHz x2
huangjiahua
可愛的小學生
可愛的小學生
 
文章: 34
註冊時間: 週四 1月 13, 2005 7:51 pm

文章訪客 » 週五 6月 03, 2005 9:47 pm

huangjiahua 寫:“QEMU 另外還支援了類似 User-Mode-Linux 的 User Mode Emulation, ”

QEMU 可以類似像 WINE 一樣直接執行 command,
不一定要在完整的模擬硬體環境下執行,
所以效能可以好上非常多…

另外有 QEMU Accelerator Module 可以讓效能更好,
不過它雖是 free to use 但不能自由散佈,所以不能包成
deb 或 rpm 等 package(自己用當然可以啦,但不能拿給別人用)
訪客
 

qemu加了-user-net仍無法連結internet

文章linph » 週六 6月 04, 2005 7:23 am

我的qemu執行參數為:
qemu -fda floppy.img -hda win98.img -cdrom win98se.iso -boot c -localtime -m 128 -user-net
奇怪的事,在host為win2k的情況下,相同image執行的guest os(win98)就可以連的上internet,也ping的到 10.0.2.2,但是如果host是Debian(B2D Server 0427)時,就連不上了... 會不會是因為我有用openvpn造成tun有使用? 不過我加了 -user-net理論上應該沒關係啊
請各位大哥幫幫忙,我搞了好幾天,也重裝好幾次guest OS了(win2k,winXP我都試過,情形都一樣)。感思,多謝!!
linph
 


回到 share

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客