使用 Quickemu 運行 Linux、macOS 和 Windows 虛擬機


在本指南中 眼疾手快 以及如何製作它 使用 Quickemu 運行 Linux、macOS 和 Windows 桌面虛擬機 在 Linux 上。

內容

  1. 什麼是奎姆?
  2. 快遞功能
  3. 在 Linux 上安裝 Quickemu
  4. 使用 Quickemu 運行 Linux、MacOS 和 Windows 虛擬機
  5. 從主機通過終端訪問虛擬機。
  6. 創建具有自定義規格(CPU 核心、磁盤、內存)的 VM
  7. 為您的虛擬機創建桌面快捷方式
  8. 使用 SPICE 客戶端啟動 VM
  9. 使用現有的 ISO 映像
  10. 以無頭模式啟動虛擬機
  11. 配置網絡
  12. 刪除虛擬機
  13. Quickgui – Quickemu 的圖形前端
  14. 顯示幫助
  15. 結論是

什麼是奎姆?

Quickemu 是一個命令行程序,用於快速創建和運行優化的 Linux、macOS 和 Windows 桌面虛擬機。

您不需要 sudo 或 root 權限來運行虛擬機。 只需以普通用戶身份測試 Linux、macOS 或 Windows 虛擬機,並將虛擬機的配置保存到您的 HOME 目錄或 USB 磁盤。

Quickemu 應用程序由兩個 CLI 工具組成。 眼疾手快快速訪問

Quickget CLI 工具會下載適用於您的操作系統的最新 ISO 映像。默認情況下,下載的圖像保存在您的主目錄中。您可以將其更改為其他位置,例如外部 USB 驅動器。

另外,Quickemu CLI 工具 QEMU 在後台創建和管理虛擬機。因此,虛擬機經過高度優化,無需任何額外配置即可使用。

快遞功能

Quickemu 提供了許多開箱即用的功能。

  • 支持 300 多個操作系統。
  • 支持 EFI(帶或不帶安全啟動)和傳統 BIOS 啟動。
  • 對主機/來賓剪貼板共享的完整 SPICE 支持。
  • 使用 VirtIO-webdavd 為 Linux 和 Windows 來賓啟用文件共享。
  • 使用 VirtIO-9p 為 Linux 和 macOS 客戶機啟用文件共享。
  • 在 Linux、macOS 和 Windows 客戶機之間啟用 Samba 文件共享。
  • 為訪客配置自動 SSH 端口轉發。
  • 網絡端口轉發。
  • 支持全雙工音頻。
  • 智能卡和 USB 設備的直通。
  • VirGL 加速。
  • 盲文支持。
  • 免費且開源。

在 Linux 上安裝 Quickemu

在安裝 Quickemu 之前, 確保您的系統處理器支持硬件虛擬化 (VT-X)。以下指南記錄了確定 Linux 系統是否支持虛擬化的幾種不同方法。

如何檢查您的CPU是否支持虛擬化技術(VT)

如果您的系統支持硬件虛擬化,請繼續執行以下步驟。

Quickemu 是一個新項目,目前僅針對少數操作系統進行打包。

拱門Linux:

有了Quickemu, 如果您使用 Arch Linux 及其變體(EndeavorOS、Manjaro Linux 等),您可以使用以下命令安裝 Quickemu: 再次 是的 幫手。

$ paru -S quickemu

再次,

$ yay -S quickemu

尼克斯操作系統:

要在 NixOS 上安裝 Quickemu,請運行以下命令:

$ nix-env -i quickemu

烏班圖:

Quickemu 的開發人員為 Ubuntu 及其衍生產品(Elementary OS、Linux Mint、Pop!_OS 等)創建了專用的 PPA。

要在 Ubuntu 及其衍生版本上安裝 Quickemu,請一一運行以下命令:

$ sudo apt-add-repository ppa:flexiondotorg/quickemu
$ sudo apt update
$ sudo apt install quickemu

對於其他 Linux 發行版,請參閱末尾列出的項目的 GitHub 存儲庫。

使用 Quickemu 運行 Linux、MacOS 和 Windows 虛擬機

使用 Quickemu 創建和管理虛擬機只需兩步。

使用 Quickget CLI 下載操作系統映像,例如 Alpine Linux。

$ quickget alpine latest

您還可以下載特定版本的 Alpine,如下所示:

$ quickget alpine 3.15

為所選操作系統創建配置文件。它將根據所選的操作系統命名。

alpine-latest/alpin 100%[===================>]  47.00M  3.52MB/s    in 14s     
Checking alpine-latest/alpine-virt-3.16.0-x86_64.iso with sha256sum... Good!
Making alpine-latest.conf

To start your Alpine Linux virtual machine run:
    quickemu --vm alpine-latest.conf
使用 Quickget 下載 Alpine Linux ISO 鏡像

然後使用以下命令啟動Alpine Linux虛擬機:

$ quickemu --vm alpine-latest.conf

該命令通過 Spicy GTK 客戶端創建並啟動 Alpine Linux 虛擬機。

使用 Quickemu 運行 Alpine Linux 虛擬機

請注意,這是一個實時系統。您仍然需要安裝操作系統。現在您可以像平常一樣開始安裝 Alpine OS。

每個虛擬機及其關聯文件(ISO、Qcow2、其他配置文件)都存儲在 HOME 目錄中的單獨目錄中。例如,當您使用 Alpine 的最新鏡像創建 Alpine 虛擬機時,會創建一個名為“alpine-latest”的新目錄,並且虛擬機的相關文件存儲在該目錄中。

$ ls alpine-latest
alpine-latest-agent.sock  alpine-latest.pid    alpine-latest.sh               disk.qcow2
alpine-latest.log         alpine-latest.ports  alpine-virt-3.16.0-x86_64.iso  OVMF_VARS.fd

正如您在上面的輸出中看到的,Alpine Linux VM 的 ISO 文件、Qcow2 磁盤文件和其他配置文件 .ports, .fd, .sock 等等,一切都在那裡 ~/alpine-latest 目錄。

從主機通過終端訪問虛擬機。

Quickemu 每次啟動虛擬機時都會在主機系統的終端中顯示以下有用信息:

Quickemu 3.15 using /usr/bin/qemu-system-x86_64 v6.2.0
 - Host:     Ubuntu 22.04 LTS running Linux 5.15 (ubuntu2204)
 - CPU:      11th Gen Intel(R) Core(TM) i3-1115G4 @ 3.00GHz
 - CPU VM:   1 Socket(s), 1 Core(s), 1 Thread(s), 4G RAM
 - BOOT:     EFI (Linux), OVMF (/usr/share/OVMF/OVMF_CODE_4M.fd), SecureBoot (off).
 - Disk:     alpine-latest/disk.qcow2 (16G)
             Looks unused, booting from alpine-latest/alpine-virt-3.16.0-x86_64.iso
 - Boot ISO: alpine-latest/alpine-virt-3.16.0-x86_64.iso
 - Display:  SPICE, qxl-vga, GL (on), VirGL (off)
 - ssh:      On host:  ssh [email protected] -p 22220
 - SPICE:    On host:  spicy --title "alpine-latest" --port 5930 --spice-shared-dir /home/ostechnix/Public
 - WebDAV:   On guest: dav://localhost:9843/
 - 9P:       On guest: sudo mount -t 9p -o trans=virtio,version=9p2000.L,msize=104857600 Public-ostechnix ~/Public
 - Process:  Starting alpine-latest.conf as alpine-latest (11272)

如您所見,顯示了主機和虛擬機配置詳細信息,包括其他詳細信息,例如如何通過 SSH 訪問虛擬機、如何通過 SPICE 客戶端共享文件夾等。您可以使用這些詳細信息從主機系統訪問 VM。

例如,如果虛擬機在端口 22220 上配置了 SSH 服務,則可以從主機系統訪問虛擬機,如下所示。

$ ssh -P 22220 [email protected]

我可以檢查一下嗎 .ports 瀏覽 VM 目錄中的文件以查找 VM 連接到的 SSH 和 SPICE 端口。

$ cat alpine-latest/alpine-latest.ports 
ssh,22220
spice,5930

在無頭模式下啟動虛擬機時,這非常有用。

創建具有自定義規格(CPU 核心、磁盤、內存)的 VM

默認情況下,Quickemu 根據您的託管規格分配 CPU 核心數量以及磁盤和 RAM 大小。可以使用以下參數覆蓋此默認行為:

  • cpu_cores="2" – 指定分配給VM 的CPU 核心數(例如2 個核心)。
  • ram="4G" – 指定分配給 VM 的 RAM 量(例如 4 GB)。
  • disk_size="20G" – 指定分配給VM 的磁盤大小(例如20 GB)。

編輯虛擬機配置文件,創建一個具有 2 個 CPU 核、4 GB RAM 和 20 GB 硬盤的虛擬機。

$ nano alpine-latest.conf

添加以下行:

cpu_cores="2"
ram="4G"
disk_size="20G"
使用 Quickemu 創建自定義配置的 VM

然後使用更新的配置文件啟動VM。

$ quickemu --vm alpine-latest.conf

為您的虛擬機創建桌面快捷方式

您可以為虛擬機創建桌面快捷方式,而不用鍵入整個命令,如下所示。

$ quickemu --vm alpine-latest.conf --shortcut

此命令為 Alpine VM 創建快捷方式。 ~/.local/share/applications/ 地方。

$ ls ~/.local/share/applications/
alpine-latest.desktop

還為VM 創建了VM 菜單條目。從現在開始,您將能夠從儀表板或菜單啟動虛擬機。

虛擬機桌面快捷方式虛擬機桌面快捷方式

使用 SPICE 客戶端啟動 VM

使用SPICE協議啟動虛擬機有以下優點:

  • 在主機和訪客之間共享剪貼板。
  • 在主機和訪客之間共享文件。
  • 啟用 USB 直通。

一定 spicy 現在客戶端已安裝,運行命令:

$ quickemu --vm alpine-latest.conf --display spice

使用現有的 ISO 映像

您可能已經下載了 ISO 文件。在這種情況下,無需使用“quickget”命令下載 ISO 文件。相反,只需編輯 VM 配置文件即可。

$ nano alpine-latest.conf

更新正確的 ISO 文件路徑(例如 /home/ostechnix/Downloads/),如下所示:

[...]
iso="/home/ostechnix/Downloads/alpine-virt-3.16.0-x86_64.iso"

Quickemu 現在將使用保存在“下載”目錄中的 ISO 文件。

以無頭模式啟動虛擬機

一定 難的 將安裝客戶端。

運行以下命令以使用 SPICE 啟動 VM,但未附加任何內容。

$ quickemu --vm alpine-latest.conf --display none

虛擬機以無頭模式啟動,因此只能通過 SSH 訪問。

假設在虛擬機的端口 22220 上配置了 SSH 服務,您可以從主機系統訪問虛擬機,如下所示。

$ ssh -P 22220 [email protected]

我可以檢查一下嗎 .ports 瀏覽 VM 目錄中的文件以查找 VM 連接到的 SSH 和 SPICE 端口。

$ cat alpine-latest/alpine-latest.ports 
ssh,22220
spice,5930

配置網絡

啟用橋接網絡

要使您的虛擬機能夠連接到預配置的網橋,請將以下行添加到您的虛擬機配置中:

bridge="br0"

轉發端口

要允許端口轉發,請將以下行添加到您的 VM 配置中:

port_forwards=("22:2200" "8800:80"

這裡,

  • 22:2200 – 主機系統上的端口 22 轉發到訪客系統上的端口 2200。
  • 8800:80 – 主機系統上的端口 8800 轉發到來賓系統上的端口 80。

Quickemu 允許您進行其他自定義。有關更多信息,請參閱最後提到的項目的 GitHub 頁面。

刪除虛擬機

如果不再需要該虛擬機,可以使用以下命令將其刪除。

$ quickemu --vm alpine-latest.conf --delete-vm

此命令複製整個虛擬機及其配置。

Quickgui – Quickemu 的圖形前端

Quickemu 和 Quickget 是命令行程序。並不是每個人都喜歡命令行模式。 對於那些更喜歡 GUI 而不是 CLI 的人,請參閱: 歸貴, 一 用於創建、運行和管理 Quickemu 虛擬機的圖形前端欲了解更多信息,請參閱下面的指南。

Quickgui – 用於創建和運行虛擬機的 Quickemu GUI

顯示幫助

要查看 Quickemu 幫助,請運行:

$ quickemu --help

Usage
  quickemu --vm ubuntu.conf

You can also pass optional parameters
  --braille               : Enable braille support. Requires SDL.
  --delete-disk           : Delete the disk image and EFI variables
  --delete-vm             : Delete the entire VM and it's configuration
  --display               : Select display backend. 'sdl' (default), 'gtk', 'none', or 'spice'
  --fullscreen            : Starts VM in full screen mode (Ctl+Alt+f to exit)
  --ignore-msrs-always    : Configure KVM to always ignore unhandled machine-specific registers
  --screen <screen>       : Use specified screen to determine the window size.
  --shortcut              : Create a desktop shortcut
  --snapshot apply <tag>  : Apply/restore a snapshot.
  --snapshot create <tag> : Create a snapshot.
  --snapshot delete <tag> : Delete a snapshot.
  --snapshot info         : Show disk/snapshot info.
  --status-quo            : Do not commit any changes to disk/snapshot.
  --version               : Print version

結論是

Quickemu 提供了一種快速部署和運行 Windows、macOS 和 Linux 桌面虛擬機的簡單方法。

Quickemu 的一個顯著功能是能夠使用 Quickget CLI 直接下載 ISO 映像。我認為其他虛擬化應用程序或虛擬機管理程序中不包含此功能。

Quickemu也非常好用! 如果您正在尋找一種簡單的方法來運行針對 Linux、macOS 和 Windows 優化的虛擬機,Quickemu 非常適合您。

資源:

  • Quickemu GitHub 存儲庫

CLILinuxLinux 管理開源 qemuQuickemuQuickgetSysadmin虛擬機虛擬化