引擎与限制
哪个引擎运行哪种 guest,以及各自的上限—— upfront 说明,而不是事后才发现。
1VMTool 内置两个引擎。应用会自动选择合适的一个;当你想知道原因或需要 覆盖时,请看本页。
| Virtualization.framework | The 1VM engine | |
|---|---|---|
| Key | apple | native |
| Apple API | Virtualization.framework | Hypervisor.framework |
| Guests | Linux, macOS | Windows on ARM, Linux |
| Default for | Linux and macOS | Windows |
| Rosetta | Yes | No |
| macOS guests | Only here, permanently | Never |
| Maturity | Apple-maintained | Experimental |
1vm create dev --hypervisor native
1vm guide windows # per-guest facts for your Mac
1vm passport # the whole capability matrix
1VM 引擎有独立页面,说明它是什么、为何取代 QEMU,以及处于哪个 能力层级。
限制
这些限制会在应用中相关界面、你确认操作之前就写明,也值得集中列在这里。
两个引擎都不支持 x86 guest。 仅 ARM64。Rosetta 在运行中的 Linux guest 里翻译用户空间二进制;它不会启动 x86 内核。
不支持 USB 设备直通。 磁盘镜像可以作为 USB 大容量存储挂载,但主机 硬件无法直通。若你需要在 guest 里用加密狗,这不是合适的工具。
没有硬件加速 3D。 guest 显示呈现在 Metal 窗口中——加速 scanout,不是 虚拟 GPU。Linux 桌面是软件渲染。
同时最多两个 macOS guest。 Apple 的限制,由框架强制执行。
1VM 引擎每个进程一个 VM。 Apple Hypervisor 每个进程只允许一个 VM, Virtualization.framework 会占用该槽位。
桥接网络受 entitlement 限制。 Apple 按申请授予;没有时选项显示为 不可用,而不是启动时失败。
嵌套虚拟化范围很窄。 仅 M3 及更新机型,且针对你的 Mac 做特性检测, 而非假设可用。
Windows 处于实验阶段。 可以安装并启动到桌面,但尚未通过冷重启、 reset 循环或 24 小时 soak 认证。
为什么限制会显示在界面里
静默消失的选项教不会你任何东西。不可用功能会保持可见并禁用,同时给出
原因,这样你能区分“这台 Mac 不行”“这个引擎不行”和“尚未实现”。在终端
运行 1vm capabilities 可得到同样答案。