在Arch Linux上安裝QEMU/KVM和Virt Manager虛擬機軟體

QEMU是很好用的模擬器/虛擬機軟體,可以利用Linux的KVM核心模組高效率執行虛擬機。常用的QEMU管理前端有Virt Manager,還有配套管理工具Libvirt。

QEMU靈活性高,可以模擬異質架構,還可以設定GPU Passthrough,提升虛擬機性能。所以很適合用來裝其他Linux發行版或Windows系統。

1. 確認電腦虛擬化與KVM支援狀況

  1. 在BIOS中啟用CPU的虛擬化支援。

  2. 輸入以下指令查看CPU是否已開啟虛擬化,Intel應該會輸出Vt-x (vmx),AMD則是AMD-V (svm)。

1
sudo grep --color -E "vmx|svm" /proc/cpuinfo
  1. 檢查KVM核心模組是否有載入
1
sudo lsmod | grep kvm

2. 安裝QMEU和Virt Manager

  1. 安裝QEMU、Libvirt、libguestfs、IPtables,全部Enter使用預設值:
1
sudo pacman -S archlinux-keyring qemu-full virt-manager virt-viewer edk2-ovmf dnsmasq vde2 bridge-utils openbsd-netcat libguestfs ebtables iptables
  1. 安裝好之後,設定開機啟動Libvirtd的系統服務,以及開機自動啟用NAT網路卡:
1
2
3
sudo systemctl enable --now libvirtd
sudo virsh net-start default
sudo virsh net-autostart default
  1. 如果你的電腦不支援TPM 2.0,但需要軟體模擬,請安裝Software TPM emulator :
1
sudo pacman -S swtpm

3. 調整KVM的權限

  1. 將自己加入libvirt和KVM群組,這樣不用root也能啟動QEMU/KVM虛擬機。
1
2
3
4
sudo usermod -a -G libvirt $USER
sudo usermod -a -G libvirt root
sudo usermod -a -G kvm $USER
sudo usermod -a -G kvm root
  1. 編輯/etc/polkit-1/rules.d/50-libvirt.rules,讓KVM群組的用戶也可以管理Libvirt服務:
1
2
3
4
5
6
7
8
/* Allow users in kvm group to manage the libvirt
daemon without authentication */
polkit.addRule(function(action, subject) {
    if (action.id == "org.libvirt.unix.manage" &&
        subject.isInGroup("kvm")) {
            return polkit.Result.YES;
    }
});
  1. 重新啟動服務
1
sudo systemctl restart libvirtd
  1. 這樣就可以開始安裝Ubuntu或Windows虛擬機了。

參考資料


感謝您的閱讀。歡迎分享Ivon的部落格(ivonblog.com)的文章,引用或轉載請註明文章網址,並遵守創用CC-姓名標示-非商業性-禁止改作 4.0 國際授權條款。如需商業使用請來信告之。

written by human, not by AI

如果本網站文章對您有幫助,歡迎請我喝杯珍珠奶茶。

留言板

點選按鈕,選擇您覺得方便的留言系統。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要登入Github帳號才能留言。支援markdown語法,方便您張貼程式碼,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus投放的廣告。無論有無登入皆可留言。此處留言只有本站參與者看得到。若您選擇以訪客身份匿名留言,就不會收到後續回覆通知。