運作模式
QEMU有兩種主要運作模式:
* User mode模擬模式,亦即是用戶模式。QEMU能啟動那些為不同中央處理器編譯的Linux程式。而Wine及Dosemu是其主要目標。
* System mode模擬模式,亦即是系統模式。QEMU能模擬整個電腦系統,包括中央處理器及其他周邊設備。它使得為跨平台編寫的程式進行測試及除錯工作變得容易。其亦能用來在一部主機上虛擬數部不同虛擬電腦。
QEMU的主體部份是在LGPL下發布的,而其系統模式模擬則是在GPL下發布;而kqemu這個加速器則是在免費但閉源的條件下發布的。使用kqemu可使QEMU能模擬至接近實機速度,但其在虛擬的作業系統是 Microsoft Windows 98或以下的情況下是無用的。
軟體優點
默認支持多種架構。可以模擬 IA-32 (x86)個人電腦,AMD 64個人電腦,MIPS R4000, 昇陽的SPARCsun3 與PowerPC(PReP 及 Power Macintosh)架構
可擴展,可自定義新的指令集
開源,可移植,仿真速度快
在支持硬體虛擬化的x86構架上可以使用KVM加速配合核心ksm大頁面備份記憶體,速度穩定遠超過VMware ESX
增加了模擬速度,某些程式甚至可以實時運行
可以在其他平台上運行Linux的程式
可以儲存及還原運行狀態(如運行中的程式)
可以虛擬網路卡
軟體缺點
對微軟視窗及某些主機作業系統的不完善支持(某些模擬的系統僅能運行)
對不常用的架構的支持並不完善
除非使用kqemu或KVM加速器,否則其模擬速度仍不及其他虛擬軟體,如VMware
比其他模擬軟體難安裝及使用
使用實例
以下的指令可以建立一個500MB大小的"qcow"格式的硬碟映像。
qemu-img create -f qcow c.img 500M
而以下的指令會使虛擬機器在128MB記憶體,使用c.img這個用以上介紹的指令所建立的硬碟映像及以linux.iso為光碟映像的情況下運行。注意,如果使用物理光碟機,請將-cdrom linux.iso這個參數變為 -cdrom /dev/cdrom或您所用的光碟機。
qemu -clock dynticks -rtc-td-hack -localtime -hda c.img -cdrom linux.iso -boot d -m 128 -enable-audio -localtime
如果想預設使用全螢幕啟動子作業系統,可作以上指令後再加上"-full-screen"這個參數,如想在運行時離開全螢幕,請使用組合鍵Ctrl-Alt-F便可。
參數簡介
-L dir 指向BIOS和VGA BIOS所在目錄
-hda/-hdb/-hdd/-hdc “檔案名稱” 使用“檔案名稱”作為硬碟0/1/2/3鏡像。
-cdrom “檔案名稱” 使用“檔案名稱”作為光碟鏡像(檔案應該是ISO類型)。
Windows 下的使用者,可以透過下列指令使用實體光碟:
-cdrom //./x: -> x 代表光碟名稱/位置
例如:-cdrom //./e: -> 使用 E:\ 為光碟
-fda/-fdb “檔案名稱” 使用“檔案名稱”作為磁碟0/1鏡像。
-boot [a|d|c] 使用磁碟<a>,光碟<d>,或者硬碟<c>啟動。
-m容量指定記憶體的大小,單位是MB。
-soundhw c1,... 使用音效卡設備。
-soundhw ? 列出所有可使用的音效卡
-soundhw all 使用全部音效卡
-usb 允許使用usb設備。
-usbdevice 名字 添加一個usb設備“名字”。
-net nic 創建一塊新的網卡。
加速模組
kqemu
kqemu這個加速模組是Fabrice Bellard專為Linux核心而設計的閉源附加程式,目的是為了加速QEMU的子系統運行速度。在x86硬體上模擬x86的作業系統可達至實機速度。
kqemu加速
The QEMU 加速模組 (kqemu)
kqemu這個加速模組是Fabrice Bellard專為Linux核心而設計的閉源附加程式,目的是為了加速QEMU的子系統運行速度。在x86硬體上模擬x86的作業系統可達到主機速度。
QEMU 加速模組 - 使用者限制條件
QEMU 加速模組,kqemu,是一套閉源商業產品。可作個人使用而不受限制。但如果想使用光碟, ISO 映像或附加套件等方法分發QEMU加速模組,則必須聯絡作者並取得其同意後方可進行。
QVM86
現時除了以上的kqemu這個閉源的QEMU 加速模組外,亦有一個在GPL下發布的QEMU 加速模組。
使用者
使用者限制條件
QEMU 加速模組,kqemu,是一套開源商業產品。自版本 1.3.0pre10 起采 GPLv2 授權。閣下可作個人使用而不受限制。但如果閣下想使用光碟,ISO 映像檔或附加套件等方法分發QEMU 加速模組, 則必須聯絡作者並取得其同意後方可進行。
QVM86
現時除了以上的kqemu這個開源的QEMU 加速模組外,亦有一個在GPL下發布的QEMU 加速模組