快轉到主要內容

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

分類   資訊科技 虛擬機與容器技術
標籤   Arch Linux QEMU Libvirt
🗓️ 民國111年 壬寅年
✍ 切換正體/簡體字
目錄

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)。

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

2. 安裝QMEU和Virt Manager
#

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

3. 調整KVM的權限
#

  1. 將自己加入libvirt和KVM群組,這樣不用root也能啟動QEMU/KVM虛擬機。
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服務:
/* 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. 重新啟動服務
sudo systemctl restart libvirtd
  1. 這樣就可以開始安裝Ubuntu或 Windows虛擬機了。

4. Virt Manager實用技巧
#

  1. Virt Manager預設建立的網路是NAT模式,有需要的話得 手動調整為橋接模式

  2. Spice Guest Tools能讓虛擬機與實體機共用剪貼簿,虛擬機也會自動隨著虛擬機視窗大小縮放解析度。

  3. 如果想要與虛擬機共享資料夾,可考慮用 virtio-fs掛載本機Linux的目錄。

  4. 部份系統的虛擬機可以透過 virglrenderer達成3D硬體加速。

  5. 你可以透過「GPU Passthrough」,將Linux的顯示卡直通給虛擬機,使其能執行3D應用程式、跑AI計算、玩遊戲。具體作法參見 在Windows虛擬機玩遊戲

參考資料
#

相關文章

如何將Libvirt的QEMU虛擬機轉換複製到實體機器上
分類   資訊科技 虛擬機與容器技術
標籤   Libvirt QEMU
Libvirt QEMU虛擬機直接從實體硬碟分割開機
分類   資訊科技 虛擬機與容器技術
標籤   Libvirt QEMU
Android-x86 QEMU虛擬機安裝教學,在Linux上執行手機APP,支援GPU加速的VM
分類   資訊科技 虛擬機與容器技術
標籤   Android-X86 Linux QEMU VirGL Scrcpy

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請貼Imgur或Postimages。