Running QEMU emulator on Windows.
註:本文討論的是如何在Windows安裝QEMU,如果你是想找「Linux系統安裝Windows QEMU/KVM虛擬機」請看 這篇
Ivon將討論如何在Windows系統安裝虛擬機軟體「QEMU」以及圖形前端「EmuGUI」。
後面再附上圖形介面以及指令版的虛擬機安裝方法。
1. QEMU在Windows的現況#
QEMU為Fabrice Bellard開發的開源硬體模擬器軟體,支援模擬x86、ARM、SPARC、RISC-V、MIPS各種架構的電腦。
在Linux系統,我們會將QEMU搭配 Virt Manager (Libvirt),再透過KVM加速,執行各式各樣的作業系統,可說是Linux上十分好用的虛擬機軟體。
QEMU本身是跨平台軟體,Windows當然也有移植。在Windows系統QEMU得依賴 Intel HAXM 或 WHPX (Hyper-V) 加速虛擬機效能。
不過,QEMU在Windows不如其他虛擬機軟體吃香。
一來Windows本身就有內建高效能虛擬機 Hyper-V
再來 VirtualBox界面對新手來說更好上手
要專業的虛擬機軟體還有 Vmware
而且Windows的QEMU很長一段時間都沒有好用的圖形前端,需要了解命令行參數,從終端機打指令啟動。不同版本指令會略有不同。
Urs Wolfer製作的圖形前端 QtEmu已經很久沒維護了,fork版問題也一堆。2022年Nicolas Lucien開發的EmuGUI界面只是堪用而已,讓人恨不得直接打指令。
最後,Windows的QEMU不支援GPU直通。請不要在Linux虛擬機裡面跑QEMU/KVM,那會變巢狀模擬。
種種因素下,Windows的QEMU非常難用。
QEMU唯一的優勢就開源軟體,並支援模擬異質架構,例如x86機器跑arm架構的虛擬機,方便開發程式。
除此之外,我想不到有什麼理由非要用QEMU。除非你喜愛自由軟體,想把Linux的經驗搬過來,那就用吧。
1. 安裝QEMU本體#
參考 Microsoft官方文件,在Windows 11啟用Hyper-V
到 QEMU官網下載Windows安裝檔,點選64-bit,再點選
qemu-w64-setup-20231224.exe
下載點二下安裝,一直下一步,它會將執行檔安裝到
C:\Program Files\qemu
搜尋「編輯系統環境變數」,點選環境變數 → 系統變數,點選Path,將qemu加入環境變數
開啟終端機,輸入
qeme-sytem-x86_64 -version
有印出訊息就代表設定完成。QEMU內建使用SeaBIOS開機。如果需要OVMF的UEFI韌體的,下載 OVMF,用PeaZip解壓縮,將裡面的
.fd
檔案放到C:\Program Files\qemu\share
2. 安裝EmuGUI#
到 Github下載Windows版,解壓縮點選
emugui.exe
啟動開啟請手動指定qemu-img、qemu-system-x86_64的路徑,通常是
C:\Program Files\qemu
3. 圖形界面安裝QEMU虛擬機範例#
以Ubuntu為例
至 Ubuntu官網下載Ubuntu Desktop映像檔
到EmuGUI首頁,點選New Virtual Machine
Architecture選取x86_64
Machine選取q35,CPU選取Host(或者Skylake-Server),RAM最低給4096 MB
點選Create New VHD,並指定虛擬磁碟存放路徑,格式選qcow2,容量最低給16GB,最下面HDD Controler可留白
VGA要看QEMU版本決定,通常選std最保險,Network的話選e1000或virtio-net
音效卡選intel-hda,CPU至少給2核心,
Linux核心開機這段跳過
Accelration選WHPX
最後一個,Additional arguments。如果想要使用UEFI而非BIOS開機,請使用以下參數(不確定能否成功,因為EmuGUI似乎沒辦法正確指定路徑的樣子)
-drive if=pflash,format=raw,readonly=on,file="C:\Program Files\qemu\share\OVMF.fd"
選取列表的Ubuntu,點選Start Virtual Machine,再選取開機ISO,點選Start VM
接著就可以安裝系統了。按CTRL + ALT + G脫離QEMU視窗。
4. 指令方式安裝QEMU虛擬機範例#
以Ubuntu為例,至 Ubuntu官網下載Ubuntu Desktop映像檔,將ISO放到桌面
在桌面資料夾按SHIFT+右鍵,開啟終端機,建立32GB的虛擬磁碟
qemu-img create -f qcow2 ubuntu.qcow2 32G
- 在桌面資料夾新增
startvm.bat
批次檔,以文字編輯器開啟,填入以下內容:
qemu-system-x86_64 ^
-machine q35 ^
-m 4096 ^
-smp sockets=1,cores=4,threads=1 ^
-cpu host ^
-accel whpx ^
-hda ubuntu.qcow2 ^
-vga std ^
-netdev user,id=0 -device e1000,netdev=n0 ^
-device intel-hda ^
-usbdevice tablet ^
-cdrom ubuntu.iso
- 點二下bat檔啟動虛擬機。裝完後記得移除批次檔裡面的cdrom參數。