以下整理了 Linux 上运行 Windows 程序的十大主流方案,涵盖从轻量兼容到极致性能、从免费到商业、从本地到远程的各类场景。每个方案均提供具体的操作步骤(以 Ubuntu/Debian 为例,其他发行版可类推),最后附上对比表格与推荐建议。
一、Wine(基础兼容层)
特点:开源,无需 Windows 授权,资源占用低,适合轻量软件和部分游戏。适用:运行单个 Windows 程序(如旧版 Photoshop、小工具),不依赖复杂底层环境。
操作步骤
- 1. 启用 32 位架构(解决兼容问题)
sudo dpkg --add-architecture i386sudo apt update
- 2. 安装 Wine
sudo apt install wine wine32 wine64
- 3. 配置环境(可选)为特定程序创建独立“前缀”(虚拟 C 盘),避免配置冲突:
export WINEPREFIX=~/myappwinecfg # 设置 Windows 版本(如 Win10),并自动生成目录
- 4. 安装运行库(如需)使用
winetricks 安装 .NET、VC++ 等: sudo apt install winetrickswinetricks dotnet48 vcrun2019
- 5. 安装/运行程序
cd /path/to/programwine setup.exe # 安装程序wine program.exe # 运行程序
二、虚拟机(VirtualBox / VMware)
特点:兼容性最好,几乎能运行所有 Windows 程序,但资源开销大,需安装完整 Windows。
操作步骤(以 VirtualBox 为例)
- 1. 安装 VirtualBox
sudo apt install virtualbox
- 2. 下载 Windows ISO(需自备合法镜像)
- • 打开 VirtualBox → 新建 → 输入名称(如 Win10)→ 类型 Microsoft Windows → 版本 Windows 10 (64-bit)
- • 选中虚拟机 → 设置 → 存储 → 添加光驱 → 选择 ISO 文件
- • Windows 启动后,设备菜单 → 安装增强功能 → 在虚拟机内运行安装程序
- 6. 安装所需 Windows 程序直接在虚拟机内安装运行。
三、WinBoat(容器化 Windows 应用)
特点:利用容器+KVM 技术,将 Windows 应用窗口化到 Linux 桌面,兼容性接近虚拟机,体验接近原生应用,适合运行 Office、Adobe 等复杂软件。
操作步骤
- • 确保 BIOS 开启虚拟化(VT-x/AMD-V)
- • 安装 Docker 和 KVM:
sudo apt install docker.io qemu-kvm libvirt-daemon-systemsudo systemctl enable --now libvirtdsudo usermod -aG docker,kvm $USER
- 2. 获取 WinBoat从 GitHub Releases[1] 下载 AppImage 文件,或使用包安装(部分发行版有打包)。
chmod +x WinBoat.AppImage
- 3. 启动并配置运行 AppImage,界面会引导你创建容器并下载 Windows 镜像(或使用现有 ISO)。
- 4. 运行 Windows 程序双击
.exe 或在 WinBoat 管理界面中选择“安装”,程序将像原生应用一样出现在 Linux 应用菜单中。
四、Steam Proton(Steam 游戏专用)
特点:Valve 开发的 Wine 分支,与 Steam 深度集成,开箱即用,对 Steam 库中的 Windows 游戏支持极佳。
操作步骤
- • 打开 Steam → 左上角 Steam → 设置 → 兼容性
- • 勾选 “为所有其他游戏启用 Steam Play”
- • 在下拉菜单中选择 Proton 版本(建议选 Proton Experimental 或最新稳定版,如 Proton 9.0)
- 3. 安装并运行游戏在 Steam 库中点击 Windows 游戏的“安装”按钮,安装完成后直接“开始游戏”,Proton 会自动处理兼容层。
- 4. (可选)使用 Proton GE若遇到视频播放或特殊兼容问题,可安装 Proton GE(社区增强版):
# 使用 ProtonUp-Qt 工具安装sudo apt install protonup-qtprotonup-qt
然后在 Steam 兼容性设置中选择安装的 GE 版本。
五、Lutris(全平台游戏管理)
特点:图形化管理器,整合 Wine、Proton、模拟器等,提供社区安装脚本,适合非 Steam 平台的游戏(Epic、GOG、战网等)。
操作步骤
- 1. 安装 Lutris
sudo add-apt-repository ppa:lutris-team/lutrissudo apt updatesudo apt install lutris
- 2. 安装 Wine 依赖(Lutris 会自动下载 Wine 版本,但推荐先安装系统依赖)
sudo apt install wine64 wine32
- • 打开 Lutris 官网(lutris.net),搜索目标游戏
- • 点击游戏页面的 Install 按钮,浏览器会唤起 Lutris 客户端
- • 按向导提示登录平台(如 Epic Games)、选择安装路径,Lutris 会自动配置 Wine 版本和运行库
- 4. 启动游戏安装完成后,在 Lutris 库中双击游戏图标即可运行。
六、CrossOver(商业版 Wine)
特点:CodeWeavers 出品,提供图形化界面和官方技术支持,一键安装经过测试的软件(如 Office、Adobe),适合不愿折腾的用户。
操作步骤
- 1. 下载并安装访问 CrossOver 官网[2] 下载对应发行版的
.deb 或 .rpm 包,双击安装或使用命令:sudo dpkg -i crossover_*.debsudo apt --fix-broken install
- 2. 启动 CrossOver从应用菜单打开,首次运行会提示创建容器(类似于 Wine 前缀)。
- • 在搜索框输入软件名称(如 Microsoft Office 2016)
- 4. 运行软件双击桌面或菜单中的图标即可启动,无需手动管理 Wine 配置。
七、Bottles(现代化 Wine 前端)
特点:以容器(瓶子)隔离应用,界面现代,提供预设环境(办公/游戏/定制),适合精细管理多个 Windows 程序。
操作步骤
- 1. 安装 Bottles(推荐 Flatpak)
sudo apt install flatpakflatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepoflatpak install flathub com.usebottles.bottles
- 2. 启动 Bottles运行
flatpak run com.usebottles.bottles,首次启动会提示安装依赖组件。 - • 点击“+”新建瓶子,输入名称,选择环境(“办公”、“游戏”或“定制”)
- • 点击瓶子 → “运行可执行文件” → 选择
.exe 安装程序
- 5. 管理依赖通过瓶子内的“依赖”选项卡,一键安装 .NET、DirectX 等组件。
八、QEMU/KVM + 硬件直通(高性能虚拟化)
特点:通过将物理显卡、USB 控制器等直通给虚拟机,获得接近裸机的性能,适合 3A 游戏、专业渲染等高性能需求,但配置复杂,需硬件支持。
操作步骤(简要)
- • CPU 支持 VT-d/AMD-Vi(BIOS 中开启 IOMMU)
- • 主板有至少两块显卡(或使用核显为主机,独显直通)
- 2. 安装 KVM 与工具
sudo apt install qemu-kvm libvirt-daemon-system virt-managersudo systemctl enable --now libvirtdsudo usermod -aG libvirt,kvm $USER
- 3. 配置内核参数编辑
/etc/default/grub,添加 intel_iommu=on(Intel)或 amd_iommu=on(AMD),更新 grub 并重启。 - 4. 隔离显卡通过
virsh nodedev-list 找到显卡 PCI 地址,将设备绑定到 vfio-pci 驱动(需编写脚本或使用 virsh nodedev-detach)。 - • 使用
virt-manager 创建 Windows 虚拟机 - • 添加 PCI 设备,选择要直通的显卡、USB 控制器等
- 6. 优化开启 CPU 主机直通(
host-passthrough)、使用 virtio 磁盘和网络驱动提升性能。
九、远程桌面/云游戏(非本地运行)
特点:通过网络连接远程 Windows 机器或云服务,本地仅作为显示终端,对硬件要求低,依赖网络质量。
操作步骤(以 Parsec 为例)
- 1. 在远程 Windows 机上安装 Parsec
- • 下载安装 Parsec(parsec.app),注册账号并登录,开启“托管”模式。
- 2. 在 Linux 上安装 Parsec 客户端
# 从官网下载 AppImagechmod +x parsec-linux.AppImage./parsec-linux.AppImage
- 3. 连接登录同一账号,在客户端中点击远程电脑,即可进入 Windows 桌面,运行任何程序。
- • Steam Remote Play:适用于 Steam 游戏,需在 Windows 端开启 Steam 流式传输。
- • Remmina(RDP/VNC 客户端):安装
sudo apt install remmina,连接至开启远程桌面的 Windows 主机。
十、其他边缘方案(简要)
- • PlayOnLinux:早期 Wine 前端,脚本丰富但更新慢,用法类似 Lutris。
- • DOSBox / DOSBox-X:专为 DOS 和早期 Windows(3.x/9x)设计,对现代 32/64 位程序无效。
- • ReactOS:开源 Windows 兼容系统,可在虚拟机中运行,但稳定性和兼容性尚不如 Wine。
- • Docker Windows 容器:仅用于 Windows 服务端程序,需 Windows Server 容器镜像,不适合 GUI 应用。
方案对比与推荐建议
| | | | | |
|---|
| Wine | | | | | |
| 虚拟机 | | | | | |
| WinBoat | | | | | Office/Adobe 等复杂软件,追求桌面融合 |
| Steam Proton | | | | | |
| Lutris | | | | | |
| CrossOver | | | | | |
| Bottles | | | | | |
| QEMU/KVM 直通 | | | | | |
| 远程桌面/云游戏 | | | | | |
推荐建议
- • 优先 Steam Proton(Steam 游戏) + Lutris(其他平台游戏)。
- • 若需极致性能(如反作弊游戏),可使用 虚拟机 或 KVM 直通(但反作弊可能检测虚拟机)。
- • 轻量软件(如记事本、旧版工具):Wine 或 Bottles。
- • 复杂软件(Office、Adobe):CrossOver(付费)或 WinBoat(免费)。
- • 3D 渲染、视频剪辑:KVM 直通(性能最佳)或 虚拟机(配置简单)。
- • 若可接受网络延迟:远程桌面(本地资源占用低)。
- • 直接使用 CrossOver(商业支持)或 虚拟机(一步到位)。
- • 优先 Wine、Bottles 或 远程桌面,避免虚拟机的高开销。
以上方案覆盖了从入门到进阶、从免费到商业的全部路径,可根据具体需求灵活选择。若需进一步协助(如某方案的具体故障排除),欢迎继续在留言区交流。
引用链接
[1] GitHub Releases: https://github.com/winapps-org/winapps[2] CrossOver 官网: https://www.codeweavers.com/crossover