-
QEMU
鎖定
- 軟件名稱
- 虛擬操作系統模擬器
- 用 途
- 模擬操作系統
- 研發者
- Fabrice Bellard
- 外文名
- QEMU(Quick EMUlator)
QEMU運作模式
QEMU有兩種主要運作模式:
* System mode模擬模式,亦即是系統模式。QEMU能模擬整個電腦系統,包括中央處理器及其他周邊設備。它使得為跨平台編寫的程序進行測試及除錯工作變得容易。其亦能用來在一部主機上虛擬數部不同虛擬電腦。
QEMU的主體部份是在LGPL下發布的,而其系統模式模擬則是在GPL下發布;而kqemu這個加速器則是在免費但閉源的條件下發布的。使用kqemu可使QEMU能模擬至接近實機速度,但其在虛擬的操作系統是 Microsoft Windows 98或以下的情況下是無用的。
QEMU軟件優點
默認支持多種架構。可以模擬 IA-32 (x86)個人電腦,AMD 64個人電腦,MIPS R4000, 昇陽的SPARCsun3 與PowerPC(PReP 及 Power Macintosh)架構
可擴展,可自定義新的指令集
開源,可移植,仿真速度快
增加了模擬速度,某些程序甚至可以實時運行
可以在其他平台上運行Linux的程序
可以儲存及還原運行狀態(如運行中的程序)
可以虛擬網絡卡
QEMU軟件缺點
對不常用的架構的支持並不完善
比其他模擬軟件難安裝及使用
QEMU使用實例
以下的指令可以建立一個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
QEMU參數簡介
-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 創建一塊新的網卡。
QEMU加速模塊
The QEMU 加速模組 (kqemu)
QEMU 加速模組 - 使用者限制條件
QVM86
現時除了以上的kqemu這個閉源的QEMU 加速模組外,亦有一個在GPL下發布的QEMU 加速模組。
KVM(基於內核的虛擬機)是FreeBSD和Linux的內核模塊,它允許用户空間程序運用各種處理器的虛擬化硬件特性,這個特點使得QEMU可以為x86, PPC 440, PPC 970, S/390, ARM (Cortex A15, AArch64) 以及 MIPS32主機提供虛擬化支持。當目標體系結構與宿主機相同時,QEMU可以使用KVM進行加速。
HAXM是一個開源、跨平台的硬件輔助虛擬化引擎(hypervisor),由intel推出並廣泛用作android模擬器和QEMU的加速。HAXM在宿主機上作為一個內核驅動運行,並提供一個類似KVM的用户空間接口,使得像QEMU這樣的模擬軟件能夠使用Intel CPU提供的硬件虛擬化功能為虛擬機加速。使用需要硬件支持Intel VT-x 虛擬化以及EPT功能,軟件支持windows和mac操作系統,也已經有Linux和FreeBSD的移植版本。
- 參考資料
-
- 1. Features/KVM - QEMU .QEMU Wiki.2017-02-06[引用日期2020-09-13]
- 2. GitHub - intel/haxm: Intel® Hardware Accelerated Execution Manager (Intel® HAXM) .Github.2019-02-12[引用日期2020-09-14]
- 3. Accelerating QEMU on Windows with HAXM - QEMU .QEMU.2017-11-22[引用日期2020-09-13]