Lima v2.3:Windows 原生支持、Linux 上的 VMnet,以及菜单式 TUI

Lima v2.3:Windows 原生支持、Linux 上的 VMnet,以及菜单式 TUI

💡 原文英文,约1800词,阅读约需7分钟。
📝

内容提要

Lima v2.3发布:Windows主机新增实验性HCS驱动,无需QEMU即可运行虚拟机;Linux主机引入lima-privileged-net实现真实IP网络;macOS支持将块设备直通给VZ虚拟机并强化安全设计;新增终端UI管理工具limactl menu,以及面向AI沙箱的同步排除和主机回环隔离功能。

🔎

延伸解读

Windows 原生驱动:便利与限制并存

v2.3 新增实验性 HCS 驱动,直接调用 WSL2 底层的 Windows 虚拟化层,无需 QEMU 和 Unix 工具链即可启动虚拟机。但当前仅支持 plain 模式,没有文件挂载和动态端口转发,且因 HCN 子网固定,同一时间只能运行一个 HCS 实例,DNS 也必须显式指定。适合想快速体验原生虚拟化的用户,尚不适合依赖挂载和端口转发的日常开发场景。

Linux 真实网络:需一次性授权配置

Linux 主机此前缺少类似 macOS 上 socket_vmnet 的能力,v2.3 引入 lima-privileged-net 特权助手,为每个网络创建网桥、运行 dnsmasq 提供 DHCP 和 DNS,并为实例创建 tap 设备。由于创建网桥和 tap 需要 root,用户须先以 root 安装 Lima 和 dnsmasq,再用 limactl sudoers 生成并安装 sudoers 规则。该助手只操作符合 Lima 命名规则的接口,降低了误改系统网络的风险。

块设备直通:安全设计值得细读

macOS 上可将 USB 盘或外置 SSD 直通给 VZ 虚拟机,但该功能早期版本曾因安全报告被回退。v2.3 改为由独立的 lima-privileged-block-device 助手以 root 打开磁盘,Lima 自身不直接以 root 访问;授权按设备写入 sudoers 文件,需用户自行审查并用 visudo 校验后安装。文章还提醒不要授权启动盘或系统盘,也不要让主机与虚拟机同时挂载同一文件系统。

AI 沙箱:缩小暴露面而非绝对隔离

针对 AI 编码代理场景,v2.3 新增 --sync-exclude 和 .limasyncignore,避免把 .env、.git、node_modules 等同步进虚拟机;VZ 上还可设 hostLoopback: false,立即拒绝虚拟机访问主机 127.0.0.1 上的服务。这些改动减少了代理可见的敏感内容和可达服务,但属于配置层面的收敛,用户仍需根据项目实际选择排除项并确认回环隔离是否开启。

❓

Q&A

Lima v2.3 在 Windows 主机上新增了什么驱动?它有什么特点?

新增了实验性的 hcs 驱动,直接调用 Windows Host Compute System (HCS) API,无需 QEMU 和 Unix 工具链即可启动虚拟机。目前仅支持 plain 模式,无文件挂载和动态端口转发,同一时间只能运行一个 HCS 实例,且必须通过 --dns 显式指定 DNS 服务器。

在 Linux 主机上使用 Lima 的真实 IP 网络需要做哪些一次性配置?

需要以 root 安装 Lima 和 dnsmasq,然后生成并安装 sudoers 规则:运行 limactl sudoers 生成规则文件,检查后用 sudo install 安装到 /etc/sudoers.d/lima。之后即可用 limactl start --network=lima:shared --vm-type=qemu 启动实例。

如何在 macOS 上把外部磁盘直通给 Lima 虚拟机?

先将 Lima 解压到 /opt/lima 并以 root 安装,然后以普通用户运行 limactl sudoers --block-device=/dev/diskN 生成规则,用 visudo 验证后安装到 /etc/sudoers.d/lima。之后用 limactl start --vm-type=vz --block-device=/dev/diskN 启动。注意先卸载磁盘(如 diskutil unmountDisk),且切勿授权启动盘或系统盘。

limactl menu 是什么?它能做什么?

limactl menu 是 v2.3 新增的实验性终端 UI,用于管理 Lima 实例。它会列出实例及状态、VM 类型、架构、CPU 和内存,选中后可打开 shell、启动/停止/重启、查看信息或端口转发、保护/取消保护、删除实例,破坏性操作会先要求确认。

Lima v2.3 为 AI 沙箱增加了哪些安全功能?

新增 --sync-exclude 标志(可重复使用 rsync 排除模式)或 .limasyncignore 文件,避免将 .env、.git、node_modules 等同步到虚拟机;设置 networkOpts.hostLoopback: false(仅 VZ)可阻止虚拟机访问主机 127.0.0.1 上的服务;MCP 工具新增 replace,支持对虚拟机内文件做定向编辑。

Lima v2.3 对 Windows 客户机(guest)的 provision 支持有哪些限制?

Windows 客户机现在对 provision 有有限支持,支持 system、user、data 和 dependency 脚本,可自动安装软件和配置客户机;但 boot、yq 和 ansible 模式尚不支持。

🏷️

标签

➡️

继续阅读