快轉到主要內容

Gentoo Linux安裝QEMU/KVM和Virt Manager虛擬機軟體

Linux系統 虛擬機與容器技術 Gentoo QEMU Libvirt
🗓️ 民國111年 壬寅年
✍ 切換正體/簡體字
目錄

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

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

雖然Gentoo的QEMU的FLAG很多,但常用的就x86_64和ARM64這幾個架構,依照Gentoo Wiki說明開啟必要的FLAG就好。

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

除Linux核心要啟用 相關功能以外,也要檢查硬體是否開啟虛擬化和載入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
  1. 若無,編輯/etc/conf.d/modules,設定開機後自動載入Intel KVM和TUN/TAP虛擬網路裝置的核心模組,接著重開機:
modules="kvm tun kvm-intel"

2. 編譯安裝QMEU
#

  1. 用nano編輯/etc/portage/package.use,新增以下參數
# 因為要配合Virt Manager使用,啟用SPICE、USB重新導向。支援的架構選ARM64和x86_64。
app-emulation/qemu opengl alsa spice usbredir pulseaudio virgl sdl sdl-images QEMU_SOFTMMU_TARGETS: aarch64 x86_64 QEMU_USER_TARGETS: x86_64
  1. 編譯安裝QEMU
sudo emerge --ask app-emulation/qemu
  1. 將自己加入kvm群組
sudo gpasswd -a $USER kvm
  1. 如果要用QEMU安裝Windows 11,你可能還會需要軟體模擬TPM和支援Secure Boot的EDK2:
sudo USE="fuse" emerge --ask app-crypt/swtpm
sudo emerge --ask sys-firmware/edk2-ovmf

3. 編譯安裝Virt Manager
#

QEMU編譯確認有啟用spiceusbredir這二個FLAG的話就可以接著安裝Virt Manager,內含Libvirt。

  1. 編譯安裝Virt Manager
sudo emerge --ask app-emulation/virt-manager
  1. 將自己加入libvirt群組
sudo usermod -a -G libvirt $USER
  1. 編輯/etc/libvirt/libvirtd.conf,將以下內容取消註解:
auth_unix_ro = "none"
auth_unix_rw = "none"
unix_sock_group = "libvirt"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"
  1. 設定開機啟動libvirtd
sudo /etc/init.d/libvirtd restart
sudo rc-update add libvirtd default
  1. 設定開機自動啟動虛擬機網卡
sudo virsh net-start default
sudo virsh net-autostart default
  1. 這樣就可以開始安裝Ubuntu或 Windows虛擬機了。Windows Guest可安裝virtio和SPICE Tools改善效能,Linux guest通常不需要額外安裝。

參考資料
#

相關文章

在Arch Linux上安裝QEMU/KVM和Virt Manager虛擬機軟體
Linux系統 虛擬機與容器技術 Arch Linux QEMU Libvirt
如何將Libvirt的QEMU虛擬機轉換複製到實體機器上
Linux系統 虛擬機與容器技術 Libvirt QEMU
Ubuntu安裝QEMU/KVM和Virt Manager虛擬機管理員
Linux系統 虛擬機與容器技術 Libvirt Ubuntu QEMU

留言板

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

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

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