当前位置:首页>Linux>Linux Wine安装攻略(上)——基础安装与依赖处理

Linux Wine安装攻略(上)——基础安装与依赖处理

  • 2026-10-11 07:41:44
Linux Wine安装攻略(上)——基础安装与依赖处理

大家好,我是冯哥的缓存。很多朋友装了Linux之后,总会遇到一个现实问题:有些软件只有Windows版,死活找不到Linux替代品。比如某些老旧的行业软件、网银U盾驱动、或者公司内部只发Windows版的工具。

这时候 Wine 就派上用场了。它能让你在Linux上直接运行Windows软件,不用装虚拟机、不用切双系统。

💡 提示: Wine 不是万能药。有些软件能完美运行,有些只能部分运行,有些压根跑不起来。建议先查一下 WineHQ应用数据库 看看你想跑的软件评分如何(Platinum/Gold 基本没问题,Silver 可能有些小毛病,Bronze/Garbage 别抱太大希望)。

一、Wine到底是什么?

简单说:Wine 是一个翻译层,把 Windows 程序调用的 Windows API 翻译成 Linux 能理解的系统调用。

不是虚拟机——它不模拟整个Windows系统,不虚拟CPU和内存。性能损失比虚拟机小很多。

不是双系统——它直接在Linux里运行,不需要重启切换。

概念
说明
Wine是什么
Windows API的Linux实现(翻译层),不是模拟器
Wine不是什么
不是虚拟机、不是双系统、不是Windows
发音
读作"外恩"(wine,红酒),WINE = WINE Is Not an Emulator
本质
一套把Windows系统调用翻译成Linux系统调用的库
性能损失
通常5%~15%,比虚拟机(30%~50%)小得多

Wine vs 虚拟机 vs 双系统

对比维度
Wine
虚拟机(VirtualBox/VMware)
双系统
是否需要Windows授权
不需要(纯开源)
需要在虚拟机里装Windows(需授权)
需要装一份Windows(需授权)
性能损失
5%~15%
30%~50%(虚拟化开销)
0%(原生运行)
启动速度
秒开,像原生Linux程序
需启动虚拟机(~30秒)+ Windows启动(~30秒)
需重启电脑(1~2分钟)
兼容性
看具体软件,参差不齐
高(完整Windows环境)
最高(原生Windows)
内存占用
极小(几十MB)
大(需分2~8GB给虚拟机)
不运行时无占用
文件互通
直接用Linux文件系统
需设置共享文件夹
需要各自读写分区
适用场景
运行少量Windows程序
重度依赖Windows环境
两个系统都重度使用

💡 提示: 如果你只需要偶尔运行一两个Windows小工具,Wine是最省事的方案。如果工作流高度依赖Windows全家桶(Office全套、企业微信、钉钉等),虚拟机更合适。

二、安装方式对比

安装方式
优点
缺点
推荐程度
系统自带仓库(apt install wine)
一行命令,简单
版本很老(Ubuntu 22.04 给的是 Wine 6.0,落后主版本2年以上)
⭐⭐
WineHQ 官方仓库
版本最新,持续更新
需要手动添加仓库,步骤较多
⭐⭐⭐⭐⭐
flatpak 安装
沙箱隔离,不影响系统
某些系统集成功能受限
⭐⭐⭐
snap 安装
一行命令
版本可能不是最新,沙箱限制
⭐⭐

⚠️ 注意: 尽量不要用 sudo apt install wine 装系统自带版本!它落后太多,很多新软件不兼容。花几分钟走一遍 WineHQ 官方仓库安装,一劳永逸。

三、WineHQ 官方仓库安装(推荐)

以下以 Ubuntu 22.04 / 24.04 为例。其他发行版请参考 WineHQ下载页面。

第一步:启用32位架构

很多Windows软件仍然是32位的(特别是老软件和部分安装程序),必须先启用32位支持:

sudo dpkg --add-architecture i386
sudo apt update

第二步:安装 WineHQ 仓库密钥

# 创建密钥目录
sudomkdir -pm755 /etc/apt/keyrings

# 下载并安装 WineHQ 官方签名密钥
sudo wget -O /etc/apt/keyrings/winehq-archive.key \
  https://dl.winehq.org/wine-builds/winehq.key

第三步:添加 WineHQ 软件源

Ubuntu 24.04(Noble):

sudo wget -NP /etc/apt/sources.list.d/ \
  https://dl.winehq.org/wine-builds/ubuntu/dists/noble/winehq-noble.sources

Ubuntu 22.04(Jammy):

sudo wget -NP /etc/apt/sources.list.d/ \
  https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources

如果不确定系统版本,先用这个命令查一下:

lsb_release -a
# 看 Codename 那一行:noble(XX.XX)/ jammy(XX.XX)/ focal(XX.XX)

第四步:更新并安装

sudo apt update
sudo apt install --install-recommends winehq-stable

💡 提示:--install-recommends 确保安装了推荐的依赖包。安装过程会下载几百MB的文件,耐心等待。安装完成后弹出配置窗口属于正常现象,不要慌。

第五步:验证安装

wine --version
# 应输出类似:wine-9.0(或其它版本)

四、stable / devel / staging 三个版本怎么选?

WineHQ 提供了三个安装包,对应不同场景:

版本
包名
更新频率
稳定性
适用场景
stable(稳定版)winehq-stable
每年一次大版本
⭐⭐⭐⭐⭐
日常使用首选
,运行成熟软件
devel(开发版)winehq-devel
每两周一次
⭐⭐⭐⭐
想用新特性但可接受偶尔小bug
staging(测试版)winehq-staging
每两周一次
⭐⭐⭐
尝鲜、测试新补丁、问题最多的软件

💡 提示: 对普通用户来说,装 winehq-stable 就够了。staging 虽然有些额外补丁能提高特定软件的兼容性,但也更容易出各种奇怪问题。等遇到 stable 跑不了的软件,再考虑换 staging。

五、初次运行与环境配置

创建 Wine 环境

安装完 Wine 后,先运行一下 winecfg 来创建初始环境:

winecfg

第一次运行会提示安装 Wine Mono 和 Wine Gecko(开源版的 .NET 和 IE 替代品),弹窗时点"安装"即可。然后会出现配置窗口:

操作
说明
"应用程序"标签
可以设置Windows版本(默认Windows 10)
"函数库"标签
可以用原生Windows DLL替换Wine内置DLL
"显示"标签
调整DPI(高分屏用户的重要设置)
"驱动器"标签
虚拟的C盘、D盘等映射关系
"桌面整合"标签
可以选主题

默认配置一般不用改。设置完点"确定"关闭窗口。

Wine 虚拟C盘在哪?

~/.wine/drive_c/

结构跟真实的Windows C盘相似:

~/.wine/drive_c/
├── Program Files/       # 32位程序安装位置
├── Program Files (x86)/ # 64位程序安装位置(64位前缀)
├── users/               # 用户目录
├── windows/             # 系统文件(相当于C:\Windows)
│   ├── system32/
│   └── Fonts/           # 字体目录(解决中文乱码的关键)
└── 你的程序数据/

六、Winetricks——依赖一键安装工具

很多Windows程序依赖特定的运行库(.NET框架、Visual C++运行时、DirectX等)。Wine 默认不包含这些,需要手动装。

Winetricks 就是解决这个问题的——它是一个辅助脚本,帮你一键安装各种依赖。

安装 Winetricks

# Ubuntu/Debian 系统自带仓库版本较旧但够用
sudo apt install winetricks

# 或者装最新版
sudo wget -O /usr/local/bin/winetricks \
  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
sudochmod +x /usr/local/bin/winetricks

Winetricks 常用依赖速查表

winetricks 参数
安装内容
什么时候需要
corefonts
微软核心字体(Arial、Times New Roman等)
几乎所有软件的基础,必装
cjkfonts
中日韩字体
中文软件必装,否则全是方块
vcrun2019
Visual C++ 2015-2022运行时
大量现代Windows软件需要
vcrun2015
Visual C++ 2015运行时
同上(2015/2017/2019/2022共享同一套)
dotnet48
.NET Framework 4.8
依赖.NET的软件(如部分企业软件)
dotnet472
.NET Framework 4.7.2
同上,4.7.2兼容性最好
d3dx9
DirectX 9
老游戏和部分图形软件
d3dcompiler_43
Direct3D编译器
游戏着色器编译
dxvk
Vulkan-based Direct3D
游戏性能提升(需要Vulkan驱动支持)
allfonts
所有字体
一劳永逸的方案,但装得很多
riched20
富文本编辑控件
部分文字处理软件
msxml6
MSXML 6.0解析器
依赖XML的软件
gdiplus
GDI+图形库
老软件界面渲染
ie8
Internet Explorer 8
嵌入IE控件的软件(如部分网银)

安装示例:打好中文软件的基础

# 装完 Wine 后马上执行,打好基础
winetricks corefonts cjkfonts vcrun2019

这三步解决90%中文软件的基础依赖问题:

  • corefonts
     → 英文不乱码
  • cjkfonts
     → 中文不乱码(宋体/黑体/微软雅黑等)
  • vcrun2019
     → 不弹"缺少MSVCP140.dll"之类的错误

⚠️ 注意: 安装 winetricks 组件时,每个组件可能会弹出多个安装向导窗口,按默认选项一路下一步就行。不要跳过也不要手动改选项,winetricks 已经帮你配置好了参数。

七、Wine前缀(WINEPREFIX)——一软件一环境

这是 Wine 最重要的进阶概念。

什么是前缀?

默认情况下 Wine 把所有东西都放在 ~/.wine/。但有时你需要:

  • 装一个必须用 .NET 4.8 的软件,另一个却跟 .NET 冲突
  • 一个软件需要中文环境,另一个需要英文环境
  • 两个软件的依赖版本互相冲突

这时候就需要创建独立的前缀——每个软件或每个"场景"一个独立目录,互不干扰。

创建和使用独立前缀

# 创建一个新前缀(如果不指定目录,Wine会自动创建)
WINEPREFIX=~/wine-myapp winecfg

# 以后在这个前缀里装软件
WINEPREFIX=~/wine-myapp wine ~/Downloads/setup.exe

# 在这个前缀里装依赖
WINEPREFIX=~/wine-myapp winetricks corefonts cjkfonts vcrun2019

# 运行已安装的软件
WINEPREFIX=~/wine-myapp wine "C:\Program Files\MyApp\myapp.exe"

32位 vs 64位前缀

默认创建的是64位前缀。如果需要32位前缀(老软件很常见):

# 创建32位前缀
WINEARCH=win32 WINEPREFIX=~/wine-32app winecfg

⚠️ 注意:WINEARCH 只能在新建前缀时指定。一旦创建了前缀,WINEARCH 就不能改了,要换只能删除重建。

前缀类型
创建命令
C盘路径
适用场景
64位(默认)
WINEPREFIX=~/wine-app winecfgdrive_c/Program Files/
 + Program Files (x86)/
现代软件
32位
WINEARCH=win32 WINEPREFIX=~/wine-app winecfgdrive_c/Program Files/
老软件、16位安装程序

前缀管理建议

策略
说明
推荐度
一个前缀打天下
所有软件共用一个 ~/.wine/,简单但容易冲突
⭐⭐(新手够用)
按场景分前缀
办公类一个、游戏类一个、老软件一个
⭐⭐⭐⭐(推荐)
一软件一前缀
每个软件独立前缀,最干净但最费空间
⭐⭐⭐⭐⭐(进阶推荐)

每个前缀大约占用 200MB~500MB 基础空间(不含你装的软件),所以"一软件一前缀"虽然最干净,但也要有占用存贮空间的心理准备。

八、常见报错速查

报错信息
原因
解决方法
wine: could not load kernel32.dll
Wine 安装不完整或32位架构未启用
sudo dpkg --add-architecture i386 && sudo apt update && sudo apt install --reinstall winehq-stable
002c:fixme:font:...
缺少字体(中文显示为方块)
winetricks corefonts cjkfonts
MFC140.dll / VCRUNTIME140.dll not found
缺少Visual C++运行时
winetricks vcrun2019
.NET Framework 初始化错误
缺少.NET依赖
winetricks dotnet472
 或 dotnet48
wine: cannot find L"C:\\windows\\system32\\xxx.exe"
路径格式错误或程序未安装
检查路径是否用 "C:\\..." 格式,软件是否已装到此前缀
Application tried to create a window, but no driver...
图形驱动问题
确保显卡驱动正确安装,尝试 sudo apt install mesa-utils
中文全是方块(□□□□)
缺中文字体
winetricks cjkfonts
,然后 wineboot -r 重启Wine
err:winediag:nodrv_CreateWindow
Wine的图形后端没正常工作
检查 ~/.wine 目录权限,sudo chown -R $USER:$USER ~/.wine
安装程序界面乱码
安装程序本身是GBK编码
LANG=zh_CN.UTF-8 wine setup.exe
,或在winecfg中将语言设为中文

九、实战练习

按顺序完成以下操作,把本篇内容串起来:

# 1. 启用32位架构
sudo dpkg --add-architecture i386 && sudo apt update

# 2. 查看你的Ubuntu版本
lsb_release -a

# 3. 安装密钥和仓库(以Ubuntu 24.04为例)
sudomkdir -pm755 /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key \
  https://dl.winehq.org/wine-builds/winehq.key
sudo wget -NP /etc/apt/sources.list.d/ \
  https://dl.winehq.org/wine-builds/ubuntu/dists/noble/winehq-noble.sources

# 4. 安装 Wine
sudo apt update
sudo apt install --install-recommends winehq-stable

# 5. 首次运行,创建默认环境
winecfg
# (弹窗提示装Mono/Gecko时点安装,配置窗口直接点确定)

# 6. 安装 Winetricks
sudo apt install winetricks

# 7. 安装基础依赖(字体+C++运行库)
winetricks corefonts cjkfonts vcrun2019

# 8. 创建一个独立前缀试试
WINEPREFIX=~/wine-test winecfg
# (又弹一次配置窗口,注意这次是独立的~/wine-test/目录)

# 9. 验证整体环境
wine --version
ls ~/.wine/drive_c/

十、总结

关键点
记住这个
Wine版本
用 WineHQ 官方仓库,少用系统自带的
30秒基础环境
装完 Wine 马上执行 winetricks corefonts cjkfonts vcrun2019
前缀隔离
用 WINEPREFIX=~/wine-xxx 给每个软件或场景独立环境
32位别忘了
老软件用 WINEARCH=win32 创建32位前缀
兼容性先查
装软件前先到 WineHQ AppDB 看看评分

💡 提示: Wine 的安装只是第一步。后面你会遇到各种软件的依赖问题。下篇会介绍 Bottles 和 PlayOnLinux 这两个图形化管理工具,让你通过点击鼠标来管理 Wine 前缀和依赖,不用记一堆命令。还会给出几个常见软件的具体安装范例。

下一篇: 《Linux Wine安装攻略(下)——Bottles与PlayOnLinux》,敬请期待!

最新文章

随机文章