嗨,朋友们,今天我想跟你们聊聊最近在 Linux 社区闹得沸沸扬扬的 WinBoat。如果你跟我一样,平时在 Ubuntu、Fedora 或者其他发行版上玩转命令行、敲写脚本,却偶尔会碰到必须用 Windows 软件才能完成的工作——比如 Office、Photoshop,甚至是公司内部专属的 ERP 系统——那你一定会对这玩意儿产生浓厚兴趣。
什么是 WinBoat?
简而言之,WinBoat 把一整套 Windows 系统塞进 Docker 容器里,然后通过微软的 RemoteApp 协议把每个 Windows 程序的窗口「搬」到你的 Linux 桌面上。想象一下,你的电脑里既有一个看不见的 Windows 小厨房,里面煮着各种 Windows 软件,而我们只看到端上摆出来的菜——每道菜都是一个独立的窗口,就像普通的 Linux 软件一样。
为什么要用它,而不是 Wine 或传统虚拟机?
- 兼容性:Wine 像是把 Windows 的指令翻译成 Linux 的语言,很多时候能跑,但也经常出现「这功能不支持」的尴尬。WinBoat 用真实的 Windows 环境,理论上任何能在 Windows 上跑的程序都能跑。
- 使用感受:传统的 VirtualBox、VMware 等虚拟机会打开一个完整的 Windows 桌面,你得在里面切换窗口、复制粘贴都要跳进跳出。WinBoat 把程序窗口直接放到 Linux 桌面,Alt‑Tab、任务栏、快捷键都自然工作。
- 入门门槛:如果你不想摸底层的 QEMU/KVM、手动写 XML 配置文件,WinBoat 提供了图形化向导,一步步点「下一步」就能把 Windows 安装好,连 ISO 下载和用户创建都帮你搞定。
上手前的准备
这里有几条硬件和软件的「底线」,只要满足,就能顺利跑起 WinBoat:
- CPU 必须支持硬件虚拟化(VT‑x 或 AMD‑V),并在 BIOS/UEFI 中开启。
- 最低 4 GB 空闲内存(建议 8 GB 以上),至少 2 个 CPU 线程。
- 硬盘空余 32 GB(安装 Windows 镜像和容器会占大约 30‑40 GB)。
- Docker(官方仓库版)+ Docker‑Compose v2,不支持 Docker Desktop。
- FreeRDP 3.x(自带音频支持),在 Debian/Ubuntu 系统里通常是
freerdp3‑x11。 - KVM 已在内核里启用(可以用
kvm‑ok检查)。
如果你用的是 Podman,也可以,只是 USB 直通功能暂时不支持。
一步步安装(以 Ubuntu 为例)
- 装 Docker:先把旧的 docker 包全部卸掉,随后按官方文档加仓库、安装
docker‑ce、docker‑compose‑plugin,记得把自己加入docker组,重启后docker run hello‑world能正常输出。 - 装 FreeRDP:
sudo apt install freerdp3‑x11,确认xfreerdp3 /version能看到 3.x。 - 下载 WinBoat:去 GitHub Releases,挑选
.deb或 AppImage,我个人更爱 AppImage,省去系统依赖,只要chmod +x …AppImage然后双击。 - 第一次启动:运行
winboat,向导会检查所有前置条件。检查通过后,它会让你选存放路径(默认~/winboat),选择 Windows 版本(10/11),输入本地用户名密码。接下来它会下载官方评估 ISO(约 7 GB),创建容器并在后台自动完成 Windows 安装。这个过程大概 30‑60 分钟,期间可以泡杯茶。 - 启动 Windows 应用:安装好后,WinBoat 主面板左侧有「Apps」列表,里面会显示所有检测到的 Windows 程序。点「Launch」就会弹出一个普通窗口,你可以像对待本地软件一样拖动、最大化、复制粘贴。
如果想装更多软件,只需要在 WinBoat 提供的「Windows Desktop」里打开完整的 Windows 桌面,正常下载安装即可。安装完后关掉桌面会话,回到「Apps」页面,新的程序会自动出现。
我亲自试用的感受
下面分享几个我在实际使用中的案例,帮助你判断它到底能不能满足你的需求。
1️⃣ Office 套件(Word、Excel、PowerPoint)
我把一台老旧的笔记本(i5‑8250U、8 GB RAM)换成了 Linux Mint,平时用 LibreOffice 还能,但同事经常发来带宏的 Excel 表,我必须用原版的 Office。WinBoat 安装完后,直接在「Apps」里点「Microsoft Word」,窗口响应流畅,粘贴、截图都没问题,甚至可以直接把 Word 文档拖进 Linux 的文件管理器,省去了共享文件夹的麻烦。
2️⃣ Photoshop(轻度使用)
说实话,Photoshop 对显卡有一定依赖,我的机器只有 Intel 集成显卡。WinBoat 目前没有 GPU 直通,所以渲染会慢一些,大约比原生 Windows 慢 30‑40%。但对于普通的图片裁剪、文字添加,这个延迟几乎感受不到,最关键的是「所有插件都能加载」——这点是 Wine 完全搞不定的。
3️⃣ 开发者常用的 Notepad++ / Visual Studio Code(Windows 版)
这类轻量编辑器启动几乎是即点即开的感觉,内存占用也很低。用 WinBoat 打开后,我发现它们竟然可以直接访问 Linux 主目录(在 Windows 里显示为 \host\Data),所以编辑代码、调试脚本时根本不需要来回拷贝文件。
4️⃣ 游戏和高强度图形软件
如果你想玩《Valorant》或《Fortnite》这类需要内核级防作弊的游戏,WinBoat 说不行。因为它跑在虚拟化环境里,防作弊会直接把你踢出。对于 3D 建模、渲染类软件(比如 Blender、Fusion 360),也因为缺少 GPU 直通,体验只能算是「能用但吃力」。这类需求还是建议走传统的完整 VM 并配合 GPU 直通,或者直接在 Windows 机器上跑。
优点与不足的清单
- 优点
- 兼容几乎所有 Windows 程序(除 GPU 密集型和防作弊游戏)。
- 界面简洁,一键安装,适合不想折腾配置文件的用户。
- 文件共享自然,Linux 主目录直接挂载到 Windows,省去 Samba、共享文件夹的麻烦。
- 启动速度比完整 VM 快,容器启动只需要几秒,整体占用也比传统 VM 小。
- 不足
- 仍然需要 Windows 正版授权,否则会一直看到激活水印。
- 没有 GPU 加速,图形密集型软件会慢。
- 在 Wayland 环境下偶尔会出现窗口错位或尺寸异常,切 X11 可缓解。
- Docker Desktop 不支持,必须手动装官方 Docker,稍微有点门槛。
- Beta 版本,偶尔会卡死或更新不稳定,需要自行排查。
有哪些坑?我踩过的坑与解决办法
- 忘记把自己加进
docker组。结果启动时提示「Cannot connect to the Docker daemon」,只要执行sudo usermod -aG docker $USER后登出再登录即可。 - FreeRDP 版本不对。Ubuntu 24.04 里默认只有
freerdp2‑x11,需要手动装freerdp3‑x11,否则启动 Windows 应用会出现黑屏。 - 磁盘空间不足。Docker 默认把卷放在
/var/lib/docker,如果根分区小于 100 GB,容易卡住。可以在启动时给容器指定自定义挂载点,或者把/var/lib/docker移动到大盘。 - KVM 未开启。很多笔记本默认关闭虚拟化,启动时会提示「KVM acceleration cannot be used」。进入 BIOS,打开 VT‑x/AMD‑V,重启即可。
- 首次运行时出现「clipboard not working」的报错。只要重启 WinBoat 服务或重启容器,剪贴板会恢复。
和 WinApps 的对比
如果你看过之前的老项目 WinApps,可能会好奇它们到底有什么区别。简而言之:
- WinApps 更「硬核」——需要手动编辑 YAML 配置、自己写脚本,适合想要极致自定义的老手。
- WinBoat 更「软妹」——把所有配置封装进图形化向导,省去手写文件的痛苦。
- 两者底层都是 Windows VM + RemoteApp,只是实现方式不同。
如果你是 Linux 新手,或者只想快速跑 Office、Photoshop,推荐直接尝试 WinBoat;如果你已经在玩转 KVM、需要多 VM 共存、想把 Windows 桌面放在别的机器上,WinApps 仍有价值。
总结 & 我的小建议
整体来看,WinBoat 把「在 Linux 上使用 Windows 软件」这件事简化到了「点几下就能用」的程度。它并不完美——GPU 加速、企业级多用户共享仍是缺口——但已经足够解决大多数日常办公、轻度创意工作以及老旧业务系统的需求。
如果你正打算摆脱 Windows 双系统的繁琐,又不想在 Wine 里挑三拣四,可以先在空闲的硬盘分区上试试 WinBoat。只要记得准备好 Windows 授权、挂好 Docker、确保 KVM 开启,你就能在 Linux 桌面上自然地打开 Word、Excel、甚至 Photoshop,仿佛它们天生就是 Linux 程序一样。
最后,别忘了:
- 定期检查容器更新,复制快照备份重要数据。
- 如果遇到卡顿或黑屏,先确认 FreeRDP 版本、Docker 运行状态,再尝试重启容器。
- 保持系统整体 RAM 充足,给 WinBoat 分配的内存不要超过机器总内存的一半。
祝你玩得开心,Linux 与 Windows 的「奇妙共生」不再是梦!😊
评论 (0)