Lima 2.3 支持原生 Windows,跨平台开发环境增加哪些选择
来源:17golang原创
时间:2026-11-10 08:12:13 356浏览 收藏
Lima 2.3 给 Windows 主机增加了实验性的 HCS 驱动:它直接使用 Windows Host Compute System 启动 Linux 虚拟机,不再把 QEMU 或 Unix 工具链作为这条路径的前置条件。对想在 Windows 上保持 Lima 工作流的开发者来说,新增的选择是“原生 HCS、已有的 WSL2、或者更通用但依赖更多的 QEMU”。
官方地址:https://lima-vm.io/
如果目标只是启动一个隔离的 Linux 环境,Windows HCS 值得试用;如果项目依赖文件挂载、动态端口转发或多个并行实例,则应先保留 WSL2 或 QEMU 方案。HCS 在 Lima 2.3 中仍是实验性驱动,plain 模式、单实例和显式 DNS 是需要先接受的边界。
这次版本变化不只针对 Windows。Lima 2.3 还为 Linux 引入了受管网络助手、为 macOS VZ 客体增加块设备能力,并在各宿主系统提供了实验性的 limactl menu 终端界面。下面按实际选型顺序拆开这些变化。
Lima 2.3 的 Windows 变化到底是什么
Lima 是用命令行启动本地 Linux 虚拟机的工具。CNCF 对 2.3 的说明提到,Windows 主机现在可以选择新的 hcs 驱动;该驱动调用 Windows Host Compute System,也就是 WSL2 所依赖的 Windows 虚拟化层。它的价值在于减少额外虚拟化依赖,而不是把 Lima 变成一个完整的桌面虚拟机管理器。

Windows 端还补齐了一些日常使用细节:Lima 可以识别 Windows 自带的 SSH 客户端,处理 Windows 路径,并使用匹配的挂载服务器;limactl shell、limactl copy 和 reverse-sshfs 挂载因此可以在标准 Windows 安装上工作。Windows 客体也开始支持有限的 provision 脚本,但不是所有 provision 模式都已经支持。
在 Windows 上试用 HCS 前要准备什么
官方给出的准备顺序很短,但每一项都影响启动结果:
- 在机器固件和 Windows 中启用硬件虚拟化。
- 以管理员 PowerShell 把当前用户加入
Hyper-V Administrators组,然后重新打开终端。 - 准备一个明确的 DNS 地址;HCS 驱动当前不会自动替你补上 DNS。
加入用户组需要管理员权限,重新打开终端是为了让新的组令牌生效。示例中的账号名应换成当前 Windows 用户,不要把尖括号原样复制。
# 把当前用户加入 Lima HCS 所需的 Hyper-V 管理组 net localgroup "Hyper-V Administrators" /add # 组权限生效后,重新打开 PowerShell,再启动虚拟机 limactl start --vm-type hcs --plain --dns 8.8.8.8 # 进入默认实例;这里的命令只表示进入客体,不是宿主机终端截图 lima
命令中的 --vm-type hcs 选择原生 Windows 驱动,--plain 对应当前 HCS 只支持的启动模式,--dns 明确告诉客体使用哪个 DNS。若团队有内部 DNS,应把示例地址替换成允许访问项目依赖的解析服务器。
HCS 驱动的限制会怎样影响日常开发
最容易被忽略的是“能启动”不等于“功能已经和其他驱动一致”。Lima 2.3 的 HCS 驱动当前有三条直接影响工作流的限制:
- 只支持 plain 模式:不要把依赖自动挂载或高级实例配置的现有模板直接视为可迁移。
- 暂时没有文件挂载和动态端口转发:需要频繁编辑宿主目录、访问客体 Web 服务时,工作流会比 WSL2 更绕。
- 一次只能运行一个 HCS 实例:官方说明与固定的 HCN 网络子网有关,多项目并行开发不能按多个实例规划。
因此,HCS 更适合“单个 Linux 工具链、隔离试验环境、先验证命令兼容性”的场景。它不适合直接替代已经依赖多实例、共享源码目录和端口转发的开发编排。
Windows 原生、WSL2 和 QEMU 怎么选
可以先把选择压缩成三个问题:是否接受实验性能力、是否依赖宿主目录挂载、是否需要同时运行多个实例。下面的判断只针对 Lima 驱动路径,不是对所有虚拟机软件的横向排名。
| 路径 | 更适合 | 需要留意 |
|---|---|---|
| Windows HCS | 想减少 QEMU/Unix 前置依赖,运行单个 plain Linux VM | 实验性;无文件挂载和动态端口转发;一次一个实例;DNS 要显式提供 |
| Windows WSL2 驱动 | 已经围绕 WSL2 组织环境,希望沿用现有集成方式 | 需要按项目现有挂载、网络和客体配置重新确认 |
| Windows QEMU 驱动 | 希望使用 Lima 的 QEMU 路径,接受额外安装与维护依赖 | 需要准备 QEMU,并关注 Windows 上的路径和版本管理 |
如果团队的第一目标是“让每个人都能快速启动一个 Linux 客体”,HCS 可以作为低依赖试验路径;如果第一目标是“共享源码并运行多个开发服务”,先使用已有的 WSL2 或 QEMU 配置更稳妥。这个结论来自功能边界的推断,不代表官方给出固定的推荐顺序。
Linux 和 macOS 也有对应的新增能力
Windows 是本次最醒目的变化,但跨平台开发环境不能只看一个宿主系统。Lima 2.3 在 Linux 上增加了 lima-privileged-net,用桥接、DHCP/DNS、NAT 和 tap 设备为受管网络提供更接近真实 IP 的连接方式。首次配置需要安装 dnsmasq,并由 limactl sudoers 生成规则后审核安装。
# 生成 Lima 受管网络所需的 sudoers 规则,先阅读再安装 limactl sudoers > etc_sudoers.d_lima less etc_sudoers.d_lima sudo install -o root -m 0440 etc_sudoers.d_lima /etc/sudoers.d/lima rm etc_sudoers.d_lima # 使用 Lima 的 shared 受管网络启动 QEMU 客体 limactl start --network=lima:shared --vm-type=qemu
macOS 端则可以为 VZ 客体附加块设备,例如外置盘或 USB 设备,但这条路径需要更严格的 root 所有权和 sudoers 配置。两项能力都说明了同一个事实:Lima 正在从“启动容器友好的 Linux VM”扩展为跨宿主系统的本地虚拟机工具,权限和资源边界也必须同步管理。

limactl menu 适合替代哪些命令
如果不想记住每个实例的启动、停止和进入命令,2.3 在各宿主系统提供了实验性的 limactl menu。它会把实例按状态列出,并展示 VM 类型、架构、CPU 和内存;选中实例后可以打开 shell、启动、停止、重启、查看信息或端口转发、保护、解除保护和删除。删除等破坏性操作会先要求确认。
# 打开 Lima 的交互式终端菜单,适合管理已有实例 limactl menu
它的定位更像是命令行上的实例总览,不会消除驱动本身的限制。HCS 没有动态端口转发,菜单也不会替它创造端口转发能力;因此应先判断驱动能力,再决定是否用菜单简化管理。
采用 Lima 2.3 前的落地清单
- 先做单实例试验:在 Windows 上确认虚拟化、用户组、DNS 和 HCS 启动都成功。
- 把开发依赖列出来:明确项目是否需要宿主目录挂载、动态端口、多个客体和非 plain 配置。
- 给团队保留回退路径:不要因为 HCS 能启动就删除原来的 WSL2 或 QEMU 配置。
- 隔离实验性功能:新驱动适合先放进个人开发机或专门的试验脚本,不要未经评估就成为唯一 CI 环境。
- 记录客体初始化:能用受支持的 provision 脚本完成的配置才适合重复部署,不要把一次性手工操作当成团队标准。
综合来看,Lima 2.3 给 Windows 开发者增加的是一条更轻量的原生虚拟化入口,而不是一次性完成了所有跨平台能力的对齐。单个 Linux 客体和低依赖试用可以优先考虑 HCS;挂载、端口和多实例仍是决定 WSL2 或 QEMU 是否更合适的关键条件。
常见问题
Windows 使用 Lima 2.3 还必须安装 QEMU 吗?
如果选择新的 HCS 驱动,CNCF 的 2.3 说明指出该路径不需要 QEMU 或 Unix 工具链;如果选择 QEMU 驱动,则仍要按官方安装说明准备 QEMU。
为什么 HCS 启动命令里要写 --dns?
因为当前 HCS 驱动要求显式指定 DNS。可以使用示例地址进行试验,也可以替换成所在网络允许访问的内部 DNS。
HCS 能不能同时启动多个 Lima 实例?
当前不应这样规划。官方列出的限制是 HCN 网络子网固定,因此一次只能运行一个 HCS 实例。
Windows HCS 能直接挂载宿主项目目录吗?
当前 HCS 驱动只支持 plain 模式,并且没有文件挂载。需要宿主目录持续同步时,应先评估 WSL2 或 QEMU 路径。
Lima 官方文档在哪里?
官方入口是 https://lima-vm.io/,安装说明是 https://lima-vm.io/docs/installation/。版本变化和驱动限制应以 Lima 官方文档及 CNCF 项目公告为准。
-
109 收藏
-
484 收藏
-
425 收藏
-
427 收藏
-
405 收藏
-
435 收藏
-
348 收藏
-
110 收藏
-
375 收藏
-
479 收藏
-
221 收藏
-
481 收藏
-
282 收藏
-
科技周边 · 业界新闻 | 5小时前 | 权限管理 · gitHub actions · 供应链安全 · 持续集成 · 最小权限 GitHub Actions OpenSSF 开源项目维护者安全 发布权限 OIDC release 环境298 收藏
-
271 收藏
-
182 收藏
-
331 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习