ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

15分钟跑通Whisky:在Apple Silicon Mac上运行Windows程序的操作手册

15分钟跑通Whisky:在Apple Silicon Mac上运行Windows程序的操作手册

15分钟跑通Whisky:在Apple Silicon Mac上运行Windows程序的操作手册

【免费下载链接】WhiskyA modern Wine wrapper for macOS built with SwiftUI项目地址: https://gitcode.com/gh_mirrors/wh/Whisky

被Windows版工具卡住时的一个选择

你手上这台Mac,偏偏要跑一个只有Windows版的工具。装虚拟机嫌卡,装双系统嫌烦,自己翻Wine的命令行更劝退。Whisky就是为这个场景做的:一个原生SwiftUI应用,让你在Mac上运行Windows程序——建个容器,把安装文件拖进去,全程不用碰命令行。它底层用的是CrossOver 22.1.1和苹果官方的Game Porting Toolkit(D3DMetal),图形和游戏兼容性有官方技术打底,不是裸跑的Wine。

Whisky 运行 Windows 程序的3项前提与2条装法

项目要求备注
芯片Apple Silicon(M1/M2/M3)Intel Mac不支持
系统macOS Sonoma 14.0及以上代码里写死了macOS 14基线
存储WhiskyWine加一个容器,预留2GB以上装得越多容器越大

Intel芯片的Mac没有Whisky这条路,只能考虑虚拟机或老式Wine方案。另有一句实话:README里已注明项目不再积极维护,某个老程序哪天跑不动了,别太意外。

主路径(推荐):

brew install --cask whisky

✅ 一条命令装好,后续更新也由Homebrew接管,最省心。

备路径(手动):

  1. 从项目仓库下载最新的Whisky应用包
  2. 把Whisky.app拖进"应用程序"文件夹
  3. 首次启动被拦截的话,到"系统设置→隐私与安全性"里允许

动手前搞懂3个词:Bottle、WhiskyWine与DXVK

Bottle(容器):每个Bottle就像一个"样品箱":里面封着一套完整的小Windows,有自己的系统文件、自己的注册表、自己的C盘。动一箱不碰另一箱,删一箱全部归零。

WhiskyWine(运行时):Whisky本身只是"底盘",WhiskyWine才是"发动机"——Whisky定制的Wine运行时,首次启动时下载安装,装一次,所有容器共用。

DXVK(图形转换层):给图形走一条"绕路":把DirectX调用改走Vulkan的中转站,再接入Metal的本地路网,DX9/10/11游戏收益最大。

只记一句话:Whisky管界面,WhiskyWine管执行,Bottle管边界。

用Whisky运行Windows程序:一条12步的操作流

  1. 打开Whisky → 首次启动进入引导页 → 应用不带运行时,这一步就是"装发动机"
  2. Rosetta 2检查 → 显示已装,或出现一键安装按钮 → 没装就点它,几分钟的事
  3. 下载WhiskyWine → 进度条开始走 → ⚠️ 中途断网别慌,重启Whisky它会检测未完成状态并接着来
  4. 安装WhiskyWine → 解压装完,引导自动关闭
  5. 点工具栏左上角"+" → 弹出新建容器窗口
  6. 输入容器名,比如"办公" → 名字不能为空,为空时"创建"按钮是灰的
  7. Windows版本保持默认Windows 10→ 对大多数程序最稳妥
  8. 存放路径保持默认 → 默认在应用容器目录内,点"浏览"可自定义
  9. 点"创建" → 主界面容器图标亮起来 → ⚠️ 首次创建要初始化一整套Windows前缀,几分钟属正常
  10. 点底部"运行"选.exe/.msi安装文件(也可以直接把文件拖进窗口) → 弹出Windows安装向导
  11. 一路"下一步" → 程序进入开始菜单列表,并被自动Pin到容器首页
  12. 双击首页里的程序 → Windows窗口出现,收工

GUI能做的,命令行都能做。在设置页启用CLI工具后,whisky命令直接可用:

whisky list # 列出所有容器及Windows版本 whisky create "办公" # 新建容器(默认Win10) whisky run "办公" "/path/to/setup.exe" # 在指定容器里跑程序 eval "$(whisky shellenv "办公")" # 把容器环境变量加载进当前终端

掉帧、高占用、不兼容:3类症状的对症配置

掉帧(DirectX 9/10/11游戏) 先查同步模式:配置页里同步模式应为msync(默认值),个别游戏在msync下异常就退回esync试试。再打开DXVK(DXVK Async默认就是开的,保持即可)。然后打开Metal HUD,如果GPU浮层打满而CPU闲着,瓶颈在渲染侧,去查游戏自身设置。预期:帧数和稳定性上一个台阶。这个思路可以在WhiskyKit/Sources/WhiskyKit/Whisky/BottleSettings.swift里看到——msync开启时会同时写入WINEESYNC=1,因为D3DMetal检测到esync会改变行为,必须"谎报"一次。

CPU占用高、风扇狂转先确认同步模式不是none,msync的本事就是压住多线程空转。再关掉macOS侧的后台高占用应用。再看容器所在磁盘是不是慢盘,游戏容器挪到更快的盘上,创建时改路径就行。预期:风扇噪音降一档。

某类程序起不来或报错先切Windows版本:老程序可能认Win7甚至XP,配置页的版本下拉框随时可换。再补运行库:底部"Winetricks"按钮,在dlls和apps分类里装vcrun、dotnet这类常见组件。程序明确需要AVX指令集、系统又是macOS 15以上,可以试AVX开关(带警告,谨慎开)。预期:换版本能解决大半起不来的情况,省得一个个盲试。

3种人,3套配置:按你的场景取用

如果你是办公用户(Office、财务软件): 推荐配置:Windows 10 + 默认msync,其余全不动。 最容易踩的坑:① 不同项目挤在一个容器里,出问题没法隔离;② 忘了容器存在哪(默认在~/Library/Containers下的应用容器里),要备份时找不到。 进阶才需要:whisky shellenv把容器环境灌进终端,绕过GUI直接跑单个exe。

如果你是游戏玩家: 推荐配置:Windows 10/11 + msync + DXVK,游戏单独开容器。 最容易踩的坑:① 非DirectX游戏也开DXVK,纯属多此一举;② 录屏或展示时忘了关DXVK HUD和Metal HUD,画面多了层浮层。 进阶才需要:M3/M4芯片上配置页会出现DXR开关,光追类游戏值得一试。

如果你是开发/测试: 推荐配置:Windows 10 + 打开Retina模式,同步用默认值。 最容易踩的坑:① 开着Metal HUD录教程,浮层进了成片;② Pin了可移动磁盘上的程序,拔盘后图标还在——这是设计如此,可移动磁盘的Pin会被单独记住,盘插回来自动复活。 进阶才需要:Metal Trace抓取GPU帧跟踪,用来分析渲染行为。

用户推荐配置组合常见坑进阶项
办公Win10 + 默认msync多项目挤一个容器shellenv进终端跑
游戏Win10/11 + msync + DXVK非DirectX游戏开DXVKM3/M4试DXR
开发Win10 + Retina录制忘关HUDMetal Trace抓帧

起不来别卸载:4个高频故障按图排查

装完程序启动不了

最可能原因:容器Windows版本和程序年代不匹配,或缺运行库。 30秒检查:打开容器的Winetricks,看vcrun、dotnet这类组件装没装。 彻底解决:配置页换Windows版本(Win10、Win7、Win11逐个试)→ Winetricks装常用组件 → 重启程序验证 → 还不行就打开容器页面和底部"终端",看具体报错输出。

中文界面全是方块

最可能原因:容器缺CJK字体。 30秒检查:Winetricks的fonts分类里装一个中文字体组件,立刻看效果。 彻底解决:Winetricks装字体包 → 配置页点winecfg把容器区域语言设为简体中文 → 重启容器生效。

Bottle一直卡在"创建中"

最可能原因:首次初始化前缀本来就慢,不是卡死。 30秒检查:点"C盘"按钮打开容器目录,看文件夹大小还在不在涨。 彻底解决:先耐心等几分钟 → 超过10分钟毫无动静再删除重建 → 检查磁盘剩余空间,容器尽量放在空间充足的卷上。

窗口模糊发虚

最可能原因:Retina模式没开,或DPI停在默认96。 30秒检查:配置页打开Retina开关。 彻底解决:仍模糊就打开配置页的DPI设置,滑到192以上,页面内置预览能立刻看到字体大小变化。

排查总原则:查配置 → 补组件 → 看日志 → 去提问;提问时附上报错截图和复现步骤,回复效率翻倍。

4个目录看懂源码,4步参与贡献

目录职责
Whisky/Views/全部SwiftUI页面:建容器、配置、程序列表、首次引导
Whisky/Utils/小工具件:Winetricks调用、快捷方式、CLI工具安装
WhiskyKit/Sources/WhiskyKit/核心引擎:Bottle数据模型、Wine调用、配置序列化
WhiskyKit/Sources/WhiskyKit/PE/内置Windows PE文件解析器,程序图标和快捷方式都靠它读
WhiskyCmd/Main.swiftCLI实现,list、create、run、shellenv等6个子命令

想参与进来,4步就够,同行之间说点实在的:

  1. git clone https://gitcode.com/gh_mirrors/wh/Whisky
  2. 读CONTRIBUTING.md:Xcode 15构建,SwiftLint零违规是硬门槛
  3. 从最小可提交单元入手:修一个typo、补一行英文文案(key加在Whisky/Localizable.xcstrings,具体翻译走平台协调,PR里只加英文key)、修一个UI bug(附截图)
  4. CI通过后提PR,等评审

现在去做这3件事

  1. 今天:brew install --cask whisky,建出第一个Bottle,装上那个惦记很久的Windows程序。
  2. 这周:在设置里启用命令行,用whisky run把同一个程序以CLI方式再跑一遍,感受界面和命令是同一套数据模型的两副面孔。
  3. 之后:顺手clone一份仓库,改一行typo,提你的第一个PR。

Windows世界没你想的那么远——打开终端敲下那条brew命令,15分钟后你的Mac里就多了一台Whisky。

【免费下载链接】WhiskyA modern Wine wrapper for macOS built with SwiftUI项目地址: https://gitcode.com/gh_mirrors/wh/Whisky

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表