EndeavourOS、Manjaro等Arch系Linux安裝QEMU+KVM、libvirt、Virt-Manager虛擬機
QEMU、KVM、libvirt 和 Virt-Manager 是構建虛擬化解決方案的關鍵組件,它們各自承擔不同的角色,但相互協作以提供強大的虛擬化功能。
QEMU 是一個開源的通用硬體模擬器和虛擬機管理器。既可以作為純模擬器運行(效能較低),也可以結合 KVM 提供硬體加速的虛擬化(效能較高,媲美裸機)。
KVM 是 Linux 核心中的一個模組,直接運行在 Linux 核心上,藉助硬體虛擬化技術,可達到接近原生硬體的效能。
libvirt 是一個開源的 API 和工具集,用於管理虛擬化平台(如 QEMU/KVM、Xen、VMware、Hyper-V 等)。
Virt-Manager 是一個基於圖形介面的管理工具,本身並不直接管理虛擬機,專門用於管理 libvirt 提供的虛擬機。主要面向不熟悉命令列的使用者,提供方便的圖形化介面。
KVM Linux 核心自帶,與 QEMU 整合後實現高效能的虛擬化。libvirt 簡化了 QEMU 的複雜性,提供了命令列操作的管理功能,是虛擬化管理的核心工具。Virt-Manager 是 libvirt 的圖形介面,適合需要GUI圖形化介面的使用者更便捷的管理虛擬機。
安裝虛擬機運行所需要的組件
yay -S qemu virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat ebtables swtpm
sudo systemctl enable libvirtd.servicesudo systemctl start libvirtd.service
sudo usermod -aG libvirt $USERqemu是一個通用且開源的虛擬機和模擬器。它允許您在一個作業系統中運行其他作業系統,支援完整的系統虛擬化和程序仿真。
virt-manager是一個圖形化的虛擬機管理工具,簡化了虛擬機的建立、管理和監控。
virt-viewer是一個輕量級的遠端查看工具,允許連接到虛擬機的圖形控制台(透過 SPICE 或 VNC 協定)。
dnsmasq是一個輕量級的 DNS 和 DHCP 伺服器。Libvirt 使用它為虛擬機提供 NAT 網路連接(預設設定)。
vde2是一個虛擬交換機,用於建立虛擬網路環境。可選工具,主要用於進階虛擬網路配置,適合需要複雜網路拓撲的使用者。
bridge-utils提供了橋接網路的管理工具,用於將虛擬機的網路介面橋接到實體網路介面。如果您需要虛擬機直接存取外部網路(橋接模式),這是必需的。
openbsd-netcat是一個用於網路除錯和資料傳輸的工具,支援 TCP 和 UDP 協定。Libvirt 使用它進行一些網路相關的任務(例如,遠端主機之間的資料傳輸)。
ebtables是一個使用者空間工具,用於管理 Linux 核心的網橋過濾表。在橋接網路中,管理虛擬機的網路流量規則時需要使用。
swtpm是一個軟體模擬的 TPM,允許虛擬機使用 TPM 功能而不需要實體硬體支援。支援 Windows 11 或其他需要 TPM 的應用場景。
在QEMU、virt-manager下實現剪貼簿共享、檔案拖放功能
yay -S spice-vdagent qemu-guest-agentsudo pacman -S spice-vdagent qemu-guest-agent- spice-vdagent 主要用於增強使用者體驗,提供剪貼簿共享、檔案拖放等功能。
- qemu-guest-agent 則提供虛擬機與宿主機之間的管理和通訊能力,允許虛擬機執行更高效的操作和管理任務。
安裝完畢後,需在 virt-manager (Linux宿主機端)設定 虛擬機
- 顯示協定 Spice Spice 伺服器 - 類型:Spice 伺服器

- 新增硬體(兩個): 通道:名稱選擇 com.redhat.spice.0 通道:名稱選擇 org.qemu.guest_agent.0


在虛擬機內(客戶機、所安裝的虛擬機系統)安裝Spice Guest Tools軟體,實現剪貼簿共享、檔案拖曳等功能的支援。
如運行時出現「啟動網域時出錯: 所需操作無效:網路 ‘default’ 未啟用」,需啟動 default 網路。
啟動 default 網路
sudo virsh net-start default設定開機自動啟動
sudo virsh net-autostart default