news 2026/9/14 7:11:13

Quickemu 快速上手指南:用 quickget + quickemu 一键创建并运行优化的 Windows、macOS 与 Linux 虚拟机

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Quickemu 快速上手指南:用 quickget + quickemu 一键创建并运行优化的 Windows、macOS 与 Linux 虚拟机

Quickemu 快速上手指南:用 quickget + quickemu 一键创建并运行优化的 Windows、macOS 与 Linux 虚拟机

【免费下载链接】quickemuQuickly create and run optimised Windows, macOS and Linux virtual machines项目地址: https://gitcode.com/GitHub_Trending/qu/quickemu

Quickemu 是一个构建在 QEMU 之上的虚拟机构建与运行管理器,它的设计哲学是"自动做正确的事"——你只需告诉它想运行哪个操作系统,quickget会自动下载上游系统镜像并生成虚拟机配置,quickemu会枚举宿主机硬件并以最适合当前电脑的优化配置启动虚拟机。读完本文,你将掌握从安装依赖、下载系统、手工编写 VM 配置文件,到管理快照、端口转发、文件共享与 USB 直通的完整实战能力。

Quickemu 是什么

Quickemu 是优秀开源虚拟机 QEMU 的一个封装器(wrapper),核心理念是消除 QEMU 繁琐的配置负担——不需要穷举式的配置选项。你决定要运行哪个操作系统,Quickemu 负责其余的一切:

  • quickget自动下载上游操作系统(ISO、恢复镜像或磁盘镜像)并生成配置文件;
  • quickemu枚举你的硬件,以最适合你电脑的优化配置启动虚拟机。

项目的原始目标,是让人们可以快速测试 Linux 发行版,且满足两个约束:

  • 虚拟机及其配置可以存放在任何位置(例如外部 USB 存储或你的主目录),
  • 运行虚拟机不需要任何提升的权限(无需 root/sudo)。

如今,Quickemu 已提供对macOSWindows、绝大多数 BSD、以及 FreeDOS、Haiku、KolibriOS、OpenIndiana、ReactOS 等非 Linux 操作系统的全面支持。

从源码结构看,整个项目由三个 Bash 脚本构成,规模清晰可读:

文件行数职责
quickemu约 2934 行读取 VM 配置、枚举硬件、组装 QEMU 参数并启动/管理虚拟机
quickget约 4059 行下载操作系统镜像、查询系统信息、生成 VM 配置
quickreport121 行收集宿主机环境信息用于问题诊断

三份随仓库提供的用户手册是权威参考:quickemu.1(quickemu 命令行手册)、quickget.1(quickget 手册)、quickemu_conf.5(VM 配置文件手册)。

核心特性

  • 宿主机支持Linux 与 macOS
  • macOS:Sequoia、Sonoma、Ventura、Monterey、Big Sur、Catalina、Mojave;
  • Windows 10 与 11(含 TPM 2.0 支持)、Windows Server 2022 / 2019 / 2016
  • ARM64 guest 支持:可在 ARM 宿主上原生运行 aarch64 虚拟机,也可在 x86_64 宿主上以模拟方式运行;
  • Ubuntu及所有官方 Ubuntu flavor(Edubuntu、Kubuntu、Lubuntu、Ubuntu Budgie、Ubuntu Cinnamon、Ubuntu Kylin、Ubuntu MATE、Ubuntu Server、Ubuntu Studio、Ubuntu Unity、Xubuntu 等);
  • 支持近 1000 个操作系统版本
  • 完整的SPICE支持,包括宿主/客户机剪贴板共享;
  • VirtIO-webdavd文件共享(Linux 与 Windows guest);
  • VirtIO-9p文件共享(Linux 与 macOS guest);
  • QEMU Guest Agent支持:可通过标准 QMP 命令访问系统级 agent;
  • Samba文件共享(Linux、macOS、Windows guest,需宿主机装有smbd);
  • VirGL图形加速;
  • USB 设备直通智能卡直通
  • 自动 SSH 端口转发到 guest;
  • 网络端口转发;
  • 全双工音频;
  • 盲文(Braille)支持;
  • EFI(可选 SecureBoot)与Legacy BIOS启动。

版本与运行前提(源码确认)

从 quickemu 源码可以看到几个硬性约束:

  • 当前仓库版本号为VERSION="4.9.9"
  • 启动时会检测qemu-system-${ARCH_VM}qemu-img,二者必须已安装;
  • QEMU 版本必须 ≥ 6.1.0,否则直接报错退出(ERROR! QEMU 6.1.0 or newer is required);
  • 脚本要求 bash 4.0 或更新版本(quickget 中有显式检查)。

快速开始

安装好 Quickemu 后,创建并运行一个虚拟机只需两个步骤:

第一步quickget自动下载你想运行的操作系统的 ISO 镜像,并创建该虚拟机的配置文件:

quickget nixos unstable minimal

第二步quickemu使用quickget生成的配置文件启动虚拟机:

quickemu --vm nixos-unstable-minimal.conf

不带任何参数直接执行quickget,会列出全部受支持的操作系统列表。

安装依赖

从源码安装时,需要手动安装以下依赖:

  • [QEMU](6.0.0 或更新需带 GTK、SDL、SPICE 与 VirtFS 支持
  • bash(4.0 或更新)、Coreutils、curl、EDK II、gawk、grep、glxinfo、jq、LSB、pciutils、procps、python3、mkisofs、usbutils、util-linux(含uuidgen)、sed、socat、spicy、swtpm、xdg-user-dirs、xrandr、zsync、unzip

Ubuntu、Debian、Fedora、Arch 和 NixOS 主机的官方打包会自动处理这些依赖;其他发行版需要自行安装上述软件或其等价替代。

Debian 系(Trixie 之前的版本):

sudo apt-get install bash coreutils curl genisoimage grep jq mesa-utils ovmf pciutils procps python3 qemu sed socat spice-client-gtk swtpm-tools unzip usbutils util-linux xdg-user-dirs xrandr zsync

Fedora(41 之前的版本):

sudo dnf install bash coreutils curl edk2-tools genisoimage grep jq mesa-demos pciutils procps python3 qemu sed socat spice-gtk-tools swtpm unzip usbutils util-linux uuidgen-runtime xdg-user-dirs xrandr zsync

Gentoo:(注意:根据系统配置,可能需要用sys-firmware/edk2-ovmf替代sys-firmware/edk2-ovmf-bin

sudo emerge --ask --noreplace app-emulation/qemu \ app-shells/bash \ sys-apps/coreutils \ net-misc/curl \ sys-firmware/edk2-ovmf-bin \ sys-apps/gawk \ sys-apps/grep \ x11-apps/mesa-progs \ app-misc/jq \ sys-apps/pciutils \ sys-process/procps \ app-cdr/cdrtools \ sys-apps/usbutils \ sys-apps/util-linux \ sys-apps/sed \ net-misc/socat \ app-emulation/spice \ app-crypt/swtpm \ x11-misc/xdg-user-dirs \ x11-apps/xrandr \ net-misc/zsync \ app-arch/unzip

macOS 宿主机(通过 brew):

brew install bash cdrtools coreutils jq python3 qemu usbutils samba socat swtpm zsync

之后克隆项目并进入目录:

git clone https://github.com/quickemu-project/quickemu cd quickemu

quickemu 命令行参数详解

quickemu的用法为quickemu --vm <配置文件> [参数]。以下为完整参数表(与 docs/quickemu.1.md 及脚本内置 usage 一致):

参数说明
--vm <conf>指定虚拟机配置文件(必选)
--access <mode>启用远程 SPICE 访问:local(默认)、remoteclientipaddress
--braille启用盲文支持,需要 SDL 显示后端
--cpu-pinning <map>指定宿主机核心与 guest 核心的映射关系
--delete-disk删除磁盘镜像与 EFI 变量
--delete-vm删除整个虚拟机及其配置
--display <backend>选择显示后端:gtk(默认)、sdlcocoanonespicespice-app
--fullscreen全屏模式启动虚拟机(Ctl+Alt+f退出全屏)
--ignore-msrs-always配置 KVM 始终忽略未处理的机器相关寄存器
--ignore-tsc-warning跳过 AMD 宿主机上 macOS VM 的 TSC 稳定性警告
--kill若 VM 进程正在运行则将其杀死
--offline覆盖所有网络设置,以离线方式启动 VM
--shortcut创建桌面快捷方式
--snapshot apply <tag>应用/恢复一个快照
--snapshot create <tag>创建一个快照
--snapshot delete <tag>删除一个快照
--snapshot info显示磁盘/快照信息
--status-quo不将任何更改提交到磁盘/快照(对应 QEMU 的-snapshot,见 quickemu)
--viewer <viewer>选择替代查看器:spicy(默认)、remote-viewernone
--width <width>设置 VM 屏幕宽度,须与--height同时使用
--height <height>设置 VM 屏幕高度,须与--width同时使用
--ssh-port <port>手动设置 SSH 端口
--spice-port <port>手动设置 SPICE 端口
--public-dir <path>暴露共享目录:默认使用 xdg-user-dir PUBLICSHARE;可传具体目录或none
--monitor <type>设置 monitor 连接类型:socket(默认)、telnetnone
--monitor-telnet-host <ip/host>设置 monitor 的 telnet 主机(默认localhost
--monitor-telnet-port <port>设置 monitor 的 telnet 端口(默认4440
--monitor-cmd <cmd>向 monitor 发送命令(示例:system_powerdown
--serial <type>设置串口连接类型:socket(默认)、telnetnone
--serial-telnet-host <ip/host>设置串口的 telnet 主机(默认localhost
--serial-telnet-port <port>设置串口的 telnet 端口(默认6660
--keyboard <type>设置键盘:usb(默认)、ps2virtio
--keyboard_layout <layout>设置键盘布局(默认en-us
--mouse <type>设置鼠标:tablet(默认)、ps2usbvirtio
--usb-controller <type>设置 USB 控制器:ehci(默认)、xhcinone
--sound-card <type>设置声卡:intel-hda(默认)、ac97es1370sb16usb-audiovirtio-sound-pcinone
--sound-duplex <type>设置声卡双工模式:hda-micro(默认,扬声器/麦克风)、hda-duplex(线路输入/输出)、hda-output(仅输出)
--extra_args <arguments>向 QEMU 传递额外参数
--version打印版本

参数校验与自动适配(源码佐证)

从 quickemu 的display_param_check可以看到快速"做正确的事"的具体实现:

  • 请求--braille时自动把显示后端切换为sdl,并把 USB 控制器升级为xhci(以支持全速盲文设备);
  • GTK 显示不可用时自动回退到 SDL;
  • 在 macOS(Darwin)宿主机上只允许cocoanone两种显示后端;
  • 自动探测glxinfo输出的 OpenGL ES GLSL 版本,低于 2.x 时关闭 3D 加速(gl="off")。

端口类参数(--ssh-port--spice-port、telnet 端口)会被校验必须是数字(ports_param_check);声卡与双工模式也有白名单校验(sound_card_param_check);tpm="on"时若找不到swtpm会直接报错(tpm_param_check)。

理解 VM 配置文件

Quickemu 使用一个简单的 key=value 配置文件描述虚拟机。quickget会自动生成它,你也可以手工编写。以下为配置文件支持的全部选项及其默认值(来自 docs/quickemu_conf.5.md):

# 小写变量仅用于 VM 配置文件中 boot="efi" # efi(默认)或 legacy(Legacy BIOS) cpu_cores="" disk_img="" # 系统磁盘镜像路径(qcow2) disk_size="" # 虚拟磁盘大小,如 "16G" display="" # 覆盖默认显示后端 extra_args="" # 追加传给 QEMU 的参数 fixed_iso="" # 以只读方式挂载的 ISO(如 VirtIO 驱动盘) floppy="" # 软盘镜像路径 guest_os="linux" # linux / linux_old / windows / macos 等 img="" iso="" # 安装用 ISO 镜像 macaddr="" macos_release="" network="" port_forwards=() # 如 ("8123:8123" "8888:80") preallocation="off" # off / metadata / falloc / full ram="" secureboot="off" tpm="off" usb_devices=() # 如 ("046d:082d") viewer="spicy" ssh_port="" spice_port="" public_dir="" monitor="socket" # socket / telnet / none monitor_telnet_port="4440" monitor_telnet_host="localhost" monitor_cmd="" serial="socket" # socket / telnet / none serial_telnet_port="6660" serial_telnet_host="localhost" usb_controller="ehci" # ehci(USB2.0)、xhci(USB3.0) keyboard="usb" # ps2、usb、virtio keyboard_layout="en-us" mouse="tablet" # ps2、usb、tablet、virtio

注意:配置文件中的ramcpu_cores等小写变量仅供 VM 配置文件使用;命令行同名参数优先级更高。

三种典型 guest 配置

最小 Linux 配置示例:

guest_os="linux" disk_img="debian-bullseye/disk.qcow2" iso="debian-bullseye/firmware-11.0.0-amd64-DVD-1.iso"

默认 macOS 配置示例:

guest_os="macos" img="macos-catalina/RecoveryImage.img" disk_img="macos-catalina/disk.qcow2" macos_release="catalina"
  • guest_os="macos"指示 Quickemu 针对 macOS 进行优化;
  • macos_release="catalina"针对特定 macOS 版本优化——例如 VirtIO 网络与内存气球(Memory Ballooning)在 Big Sur 及更新版本可用,早期版本不可用;VirtIO 块设备(磁盘)在 Catalina 及更新版本才稳定支持。

默认 Windows 11 配置示例:

guest_os="windows" disk_img="windows-11/disk.qcow2" iso="windows-11/Win11_EnglishInternational_x64.iso" fixed_iso="windows-11/virtio-win.iso" tpm="on" secureboot="on"
  • guest_os="windows"指示quickemu针对 Windows 优化;
  • fixed_iso=指定提供 VirtIO 驱动的 ISO 镜像;
  • tpm="on"quickemu使用swtpm创建软件模拟的 TPM 设备——Windows 11 安装所必需。

BIOS 与 EFI

自 Quickemu 2.1.0 起efi是默认启动方式。如需启用传统 BIOS,在 VM 配置中添加:

boot="legacy"

调优 CPU、内存与磁盘

默认情况下,Quickemu 会根据宿主机的规格自动计算分配给 VM 的 CPU 核心数与内存。你可以在配置中显式覆盖:

cpu_cores="4" # 分配给 VM 的 CPU 核心数 ram="4G" # 分配给 VM 的内存 disk_size="16G" # 分配给 VM 的虚拟磁盘大小

从源码看,自动分配策略为(quickemu 的configure_ram):宿主机内存 ≥128G 分配 32G、≥64G 分配 16G、≥16G 分配 8G、≥8G 分配 4G,否则默认 2G;且 Windows guest 最少需要 4G、macOS guest 最少需要 8G,低于该值时若未手工指定ram会直接报错。CPU 检测则通过nproc/sysctl获取核心数,读取/sys/class/dmi/id/sys_vendor识别是否运行在虚拟机内(QEMU/VirtualBox 会回退到 TCG 软件模拟),并检查 Intel VT-x(vmx)或 AMD SVM 标志(quickemu 的configure_cpu)。

磁盘预分配

磁盘预分配模式可选off(默认)、metadatafallocfull。预分配 metadata 的镜像初始体积更大,但在镜像需要增长时性能更好:

preallocation="metadata"

CD-ROM 与软盘

把宿主机 ISO 暴露给 guest:

fixed_iso="/path/to/image.iso"

挂载软盘镜像:

floppy="/path/to/floppy.img"

文件共享

所有文件共享选项都只把当前用户的~/Public(或本地化变体)目录暴露给 guest 虚拟机。

Samba(Linux / macOS / Windows guest):宿主机存在smbd时,Quickemu 会自动启用 QEMU 内建的 Samba 共享。Ubuntu 上安装最小 Samba 组件:

sudo apt install --no-install-recommends samba

一切就绪后,启动虚拟机时终端会打印smbd地址,例如:

- smbd: On guest: smb://10.0.2.4/qemu

Windows guest 用户可右键"此电脑"→"添加一个网络位置",粘贴该地址并把smb:去掉、斜杠改为反斜杠(本例为\\10.0.2.4\qemu)。对应源码位于 quickemu:检测到smbd可执行文件时,向 QEMU 网络追加,smb=${PUBLIC}

SPICE WebDAV:Linux guest 内通过dav://localhost:9843/访问;macOS guest 使用 SPICE 显示时提示在 Finder 中"Connect to Server → http://localhost:9843/"(quickemu)。

VirtIO-9P:Linux guest 内挂载:

sudo mount -t 9p -o trans=virtio,version=9p2000.L,msize=104857600 <共享标签> ~/$(basename <共享目录>)

macOS guest 使用sudo mount_9p <共享标签>,且宿主共享目录需为 777 权限(drwxrwxrwx)才能无缝集成。QEMU 侧由-fsdev local,id=fsdev0,path=...,security_model=mapped-xattr -device virtio-9p-pci实现(quickemu)。

网络配置

端口转发

port_forwards=("8123:8123" "8888:80")

上例中:宿主机 8123 端口转发到 guest 的 8123 端口;宿主机 8888 端口转发到 guest 的 80 端口。源码实现为给 QEMU 网络追加hostfwd=tcp::HOST-:GUESThostfwd=udp::HOST-:GUEST(quickemu)。

完全禁用网络

network="none"

受限网络restrict):将网络限制在 guest 与其虚拟设备之间,隔离宿主与外部网络——可用于防止 guest 内软件"打电话回家",同时保留 guest 内部网络:

network="restrict"

桥接网络:连接到预先配置好的网络桥接:

network="br0"

如需持久化桥接网卡的 MAC 地址,可添加macaddr。QEMU 要求 MAC 在52:54:00:AB:00:00 – 52:54:00:AB:FF:FF范围内:

macaddr="52:54:00:AB:51:AE"

USB 重定向

Quickemu 同时支持 SPICE 直通与宿主直通两种 USB 重定向。

警告:USB 设备被重定向后,在 guest 结束重定向之前宿主操作系统将无法使用该设备。因此不要重定向键盘、鼠标等输入设备,否则可能难以(甚至无法)恢复操作。

SPICE 重定向(推荐):无需提升权限。以--display spice启动后:

  • spicy(默认):菜单InputSelect USB Device for redirection选择要挂到 guest 的设备;
  • remote-viewer:菜单FileUSB device selection

要保证功能正常,需在 guest 内安装 SPICE Guest Tools。NixOS 上若遇到Error setting facl: Operation not permitted,可启用 NixOS 选项:

virtualisation.spiceUSBRedirection.enable = true;

宿主直通(不推荐):仅为兼容旧版 Quickemu 而保留。在配置中添加usb_devices(格式为厂商ID:产品ID):

usb_devices=("046d:082d" "046d:085e")

若 USB 设备不可写,quickemu会打印修改设备访问权限的命令,例如:

- USB: Host pass-through requested: - Sennheiser Communications EPOS GTW 270 on bus 001 device 005 needs permission changes: sudo chown -v root:user /dev/bus/usb/001/005 ERROR! USB permission changes are required 👆

对应实现见 quickemu 的configure_usb:通过lsusb -d vendor:product定位总线与设备号,检查/dev/bus/usb/<bus>/<dev>可写性,最终追加-device usb-host,bus=hostpass.0,vendorid=0x...,productid=0x...

TPM

自 Quickemu 2.2.0 起可为 guest 添加软件模拟 TPM 设备,在 VM 配置中加入tpm="on"即可。quickget会自动为 Windows 11 虚拟机添加该行。实现上,configure_tpm会以 unix socket 方式启动swtpm--ctrl type=unixio--tpmstate--tpm2),并在启动 QEMU 时挂接tpm-tis(x86_64)或tpm-tis-device(aarch64)设备(quickemu、quickemu)。

创建各类 guest 的实战指南

Linux guest

Ubuntuquickget自动下载指定版本并生成配置:

quickget ubuntu 22.04 quickemu --vm ubuntu-22.04.conf

按常规完成安装。安装后建议:

  • 安装 SPICE agent(spice-vdagent)以启用复制/粘贴与 USB 重定向:
    • sudo apt install spice-vdagent
  • 安装 SPICE WebDAV agent(spice-webdavd)以启用文件共享:
    • sudo apt install spice-webdavd

Ubuntu daily-live 镜像quickget可借助zsync下载/刷新 daily-live 镜像,适合 Ubuntu 开发者与测试者:

quickget ubuntu daily-live quickemu --vm ubuntu-daily-live.conf

可以随时重复执行quickget ubuntu daily-live刷新开发镜像,它会自动切换到新的版本系列。

Ubuntu Flavours:所有官方 flavor 均支持,把ubuntu换成对应名称即可:edubuntukubuntulubuntuubuntu-budgieubuntucinnamonubuntukylinubuntu-mateubuntu-serverubuntustudioubuntuubuntu-unityxubuntu

自定义 Linux guest:也可自行下载 Linux 镜像并手工创建 VM 配置(例如debian-bullseye.conf):

guest_os="linux" disk_img="debian-bullseye/disk.qcow2" iso="debian-bullseye/firmware-11.0.0-amd64-DVD-1.iso"

然后启动并按常规完成安装,再安装spice-vdagentspice-webdavd

支持老版本 Linux 发行版:如果要运行 2016 年或更早的旧 Linux,把guest_os改为linux_old,这会启用vmware-svga显卡驱动——旧发行版对它的支持更好。

其他受支持系统quickget的完整 OS 列表):alma、alpine、android、antix、archcraft、archlinux、artixlinux、azurelinux、batocera、bazzite、biglinux、blendos、bodhi、bunsenlabs、cachyos、centos-stream、chimeralinux、crunchbang++、debian、deepin、devuan、dragonflybsd、easyos、elementary、endeavouros、endless、fedora、freebsd、freedos、garuda、gentoo、ghostbsd、gnomeos、guix、haiku、kali、kdeneon、kolibrios、linuxlite、linuxmint、lmde、maboxlinux、mageia、manjaro、mxlinux、netboot、netbsd、nitrux、nixos、nwg-shell、openbsd、openindiana、opensuse、oraclelinux、parrotsec、pclinuxos、peppermint、popos、porteus、primtux、proxmox-ve、pureos、reactos、rebornos、rockylinux、siduction、slackware、slax、slint、slitaz、solus、sparkylinux、spirallinux、tails、tinycore、trisquel、tuxedo-os、vanillaos、void、zorin。

macOS guest

macOS 在虚拟机中的安装可能比较"挑剔",遇到问题建议查阅项目 Discussions 中的解决方案或寻求帮助。

quickget会自动下载 macOS 恢复镜像并创建 VM 配置。支持mojavecatalinabig-surmontereyventurasonoma

quickget macos big-sur quickemu --vm macos-big-sur.conf

安装步骤

  1. 用方向键和回车键选择macOS Base System
  2. macOS Utilities中点击Disk UtilityContinue
    • 从列表中选择QEMU HARDDISK Media(约 103.08GB;Big Sur 及更新版本选择Apple Inc. VirtIO Block Device),点击Erase
    • 输入磁盘Name:
    • 安装 Mojave 或更新版本(Catalina、Big Sur、Monterey、Ventura、Sonoma)时选择任意 APFS 文件系统选项(MacOS Extended 可能无法工作);
    • 点击EraseDone→ 关闭 Disk Utility;
  3. macOS Utilities中点击Reinstall macOSContinue,按常规完成安装:
    • 首次重启时选择macOS Installer
    • 后续重启时选择你命名的磁盘;
  4. 安装完成后进入首次启动向导,配置选项并设置用户名与密码。

(可选)启用 TRIM:安装完成后,在终端执行以下命令让 macOS 在删除文件时对磁盘下发 TRIM 命令,从而使 Quickemu 能在删除文件后压缩(缩小)macOS 磁盘镜像;否则磁盘镜像只会不断增大:

sudo trimforce enable

系统会要求输入密码,随后两次询问均输入y并回车确认(直接回车视为"否"):

IMPORTANT NOTICE: This tool force-enables TRIM for all relevant attached devices, ... Are you sure you with to proceed (y/N)?
Your system will immediately reboot when this is complete. Is this OK (y/N)?

命令完成后系统会自动重启。

macOS 兼容性要点

  • 支持版本:Mojave、Catalina、Big Sur、Monterey、Ventura、Sonoma;
  • quickemu会自动从 OSX-KVM 下载所需的 OpenCore 引导加载器与 OVMF 固件;
  • 默认已优化,但没有 GPU 加速
    • 自动检测宿主 CPU 厂商并相应优化 guest CPU;
    • 系统磁盘在支持时使用 VirtIO 块设备;
    • 鼠标使用 VirtIOusb-tablet
    • Big Sur 及更新版本启用 VirtIO 网络(virtio-net),早期版本使用vmxnet3
    • Big Sur 及更新版本启用 VirtIO 内存气球,其他版本禁用;
  • USB 宿主与 SPICE 直通:Catalina 及更早使用 UHCI(USB 2.0),Big Sur 及更新使用 XHCI(USB 3.0);
  • 显示分辨率可通过--width--height命令行参数修改;
  • 全双工音频需要 VoodooHDA OC 或直通 USB 音频设备(安装 VoodooHDA OC 前需禁用 Gatekeeper 与 SIP);
  • 文件共享可通过 virtio-9p 与 SPICE webdavd 实现;
  • macOS 上无法通过 SPICE agent 实现复制/粘贴

macOS App Store 登录问题

如果登录 App Store 时提示"Your device or computer could not be verified",请用ifconfig确认有线以太网设备是en0。若不是,到系统偏好设置 → 网络删除所有网络设备并应用更改,然后在终端执行:

sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist

重启后 App Store 即可正常工作。

Windows guest

quickget可自动下载Windows 10Windows 11并创建优化配置,配置中已包含 VirtIO 驱动 for Windows。Windows 8.1也受支持,但没有自动安装或驱动优化。quickget还可下载Windows 10 LTSC与 Windows Server2012-r2 / 2016 / 2019 / 2022(这些版本不支持自动安装):

quickget windows 11 quickemu --vm windows-11.conf
  • 按常规完成安装;
  • 相关驱动与服务会自动安装;
  • 会自动创建本地管理员账号,凭据为:
    • 用户名:Quickemu
    • 密码:quickemu

quickget 高级用法

quickget的完整参数:

--arch <arch> : Set architecture (arm64, aarch64, amd64, x86_64) --download <os> <release> [edition] : Download image; no VM configuration --create-config <os> [path/url] [flags] : Create VM config for an OS image --open-homepage <os> : Open homepage for the OS --show [os] : Show OS information --version : Show version --help : Show this help message ------------------------------------ Flags ------------------------------------- --create-config: --disable-unattended : Force quickget not to set up an unattended installation -------------------------- For testing & development --------------------------- --url [os] [release] [edition] : Show image URL(s) --check [os] [release] [edition] : Check image URL(s) --check-all-arch [os] [release] [edition] : Check downloads for all architectures (amd64 and arm64) --list : List all supported systems --list-csv : List everything in csv format --list-json : List everything in json format

典型用法:

# 显示 {os} {release} [edition] 的 ISO 下载 URL quickget --url fedora 38 Silverblue # 测试某 OS ISO 是否可用 quickget --check nixos unstable plasma5 # 在浏览器中打开某发行版主页 quickget --open-homepage ubuntu-mate # 只把镜像下载到当前目录,不创建 VM quickget --download elementary 7.1

--url--check--download所有操作系统(包括 Windows 与 macOS)都完整可用。

--arch支持arm64/aarch64(归一化为 arm64)与amd64/x86_64(归一化为 amd64),可在其他参数前或--download后使用(quickget)。--create-config接受本地路径或 HTTP(S) URL,支持 ISO、IMG 与 QCOW2 文件,会自动按文件名识别 guest 类型(windows/windows-server/freebsd/reactos 等),并为 Windows 10/11 下载 VirtIO 驱动并生成无人值守安装文件(可通过--disable-unattended关闭),实现见 quickget 的create_config

桌面快捷方式与快照管理

为某台 VM 创建桌面快捷方式(保存到~/.local/share/applications):

quickemu --vm ubuntu-22.04-desktop.conf --shortcut

快照管理通过--snapshot子命令完成:

quickemu --vm ubuntu.conf --snapshot create 2026-01-01 # 创建快照 quickemu --vm ubuntu.conf --snapshot apply 2026-01-01 # 恢复快照 quickemu --vm ubuntu.conf --snapshot delete 2026-01-01 # 删除快照 quickemu --vm ubuntu.conf --snapshot info # 查看磁盘/快照信息

--status-quo可让本次运行不向磁盘提交任何更改(对应 QEMU 的-snapshot模式),适合临时试用。SSH 端口默认从 22220 起自动寻找空闲端口(get_port函数,见 quickemu),并自动追加hostfwd=tcp::<port>-:22转发到 guest 的 22 端口,启动后终端会打印ssh user@localhost -p <port>的连接提示。

小结

Quickemu 的价值在于把 QEMU 的"正确配置"沉淀成了两个简单命令:quickget负责"找镜像、生成配置",quickemu负责"按硬件自动优化并启动"。本文覆盖了从依赖安装、两步快速启动、完整命令行参数、VM 配置文件的全部选项,到 Linux / macOS / Windows 三类 guest 的实战安装、文件共享、网络、USB 直通与 TPM 的配置方法。更完整的细节可继续查阅仓库内的 quickemu.1、quickget.1 与 quickemu_conf.5 三份手册,以及 quickemu、quickget 两个脚本源码。

【免费下载链接】quickemuQuickly create and run optimised Windows, macOS and Linux virtual machines项目地址: https://gitcode.com/GitHub_Trending/qu/quickemu

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 7:10:18

移动硬盘提示需要格式化怎么办?数据恢复原理与实操指南

移动硬盘插上电脑&#xff0c;屏幕弹出一句“使用驱动器中的光盘之前需要格式化”&#xff0c;这一瞬间的心跳加速&#xff0c;我太熟悉了。做了这么多年数据恢复&#xff0c;几乎每个月都有朋友被这行字吓得语无伦次&#xff0c;急急忙忙来问我&#xff1a;“我是不是应该点格…

作者头像 李华
网站建设 2026/9/14 7:08:37

Cursor接入统一API网关:从多Key混乱到模型路由实践

我最初是在一个团队内部被问到“你们到底给 Cursor 配了多少个 API Key”这种问题&#xff0c;才开始正视 AI 编程工具已经严重碎片化的现实。桌面端有 Cursor、Continue 和一堆 VS Code 插件&#xff0c;终端里有各种 Agent CLI&#xff0c;每个工具都要求填一个模型服务的 Ke…

作者头像 李华
网站建设 2026/9/14 7:06:58

Libvio.link影视爬虫实战:反爬策略与架构设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/14 7:06:26

SpringBoot+Vue电商系统架构与性能优化实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/14 7:03:35

Optuna 文档构建深度解析:autosummary 类模板如何剔除 __init__ 构造器

Optuna 文档构建深度解析:autosummary 类模板如何剔除 init 构造器 【免费下载链接】optuna A hyperparameter optimization framework 项目地址: https://gitcode.com/GitHub_Trending/op/optuna 本文聚焦 Optuna 文档构建管线中的一个关键定制点——Jinja2 模板 class…

作者头像 李华