macOS 27 忽略「使用 Rosetta 打开」:修复缺失的 Intel 插件

macOSTahoe ·
macOS 27 忽略「使用 Rosetta 打开」:修复缺失的 Intel 插件

macOS 27 升级后会移除 Rosetta,并忽略「使用 Rosetta 打开」设置。本文帮你找出因此损坏的 Intel 插件、打印机过滤器和安装程序,并逐一修复。

你升级到了 macOS 27 Golden Gate,打开你每天都要用的应用,却发现有些东西悄悄不见了。一个音频插件不再出现在列表里;一台打印机在周五还能正常工作,现在却提示「Filter failed」而停止打印;一个曾经能正常启动的工具,现在要求你安装 Rosetta——或者更糟,它照常启动,却唯独不再执行你留着它的那一项功能。这些情况都不会给出指明原因的错误提示,而背后的原因其实是同一个:macOS 27 改变了 Rosetta 2 的行为方式,其中两处改动只在苹果的开发者发行说明中被提到过。

本指南将梳理具体改动内容、如何在你的 Mac 上找出所有依赖旧行为的项目,以及如何修复每一类故障。清单命令是在一台真实的 Apple 芯片 Mac 升级前运行得到的。macOS 27 的行为描述均来自苹果自己的发行说明,凡是引用之处我们都会原文照引。

关键要点

  • 升级到 macOS 27 会移除 Rosetta 2。 苹果发行说明写道:「如果之前安装过 Rosetta,升级到 macOS 27.0 后不会自动恢复。」可用 softwareupdate --install-rosetta --agree-to-license 重新安装。
  • 「使用 Rosetta 打开」复选框现已被忽略。 你曾强制以 Intel 模式运行的应用会以原生方式启动,它们原本加载的任何 Intel 专属插件都会悄然消失。苹果表示这些插件「可能不会出现在设置中,也不会触发不兼容提示」。
  • 辅助工具的故障比应用更隐蔽。 一个仅支持 Intel 的应用会显示安装 Rosetta 的提示;而一个仅支持 Intel 的打印机过滤器、后台代理或命令行工具则只会直接失败。在我们审计的这台 Mac 上,打印机驱动文件夹内的 341 个可执行文件中,有 117 个仅支持 Intel。
  • 安装程序也变了。 未声明主机架构的安装包现在默认按 arm64 处理,其安装脚本会以原生方式运行。
  • 这是宽限期的最后一年。 苹果表示,除传统游戏外,所有基于 Intel 的软件都将不再兼容 macOS 28。

macOS 27 中苹果做了哪些改动

macOS 27 发行说明中关于 Rosetta 的部分很短,但每一句都很关键。说明在「新功能(New Features)」下列出了一项改动:

应用启动时,如果用户此前将其设置为「使用 Rosetta 打开」,现在将以原生方式启动。过去因兼容性问题而需要 Rosetta 的情况,应在 macOS 27 上重新评估。

其余改动列在「弃用(Deprecations)」下:

如果此前安装过 Rosetta,升级到 macOS 27.0 后不会自动恢复。

未指定 hostArchitecture 的安装包现在将默认使用 arm64。请确保安装前后脚本在 arm64 下也能按预期运行。

基于 Intel 的插件和加载器可能不会出现在设置中,也不会触发不兼容提示。除传统游戏外,所有基于 Intel 的软件都将不再兼容 macOS 28.0。

同一条说明还列出了需要检查的插件文件夹:VST、HAL、ARA、PDE、颜色选择器,以及 Quick Look 或 Spotlight 插件,路径包括 ~/Library/Audio/Plug-Ins/、~/Library/Printers/ 和 ~/Library/ColorPickers/ 等。

Rosetta 本身在 macOS 27 中仍然可用——苹果在 2025 年 WWDC 上的承诺是将其作为通用工具保留至 macOS 27。但升级会移除它,而且它不再遵循针对单个应用的 Intel 设置。也就是说,重新安装后的 Rosetta 可以运行仅支持 Intel 的程序,但不会再仅因为你勾选了某个选项,就把一个通用应用运行在 Intel 模式下。

这项改动会以三种方式造成故障

症状取决于你所拥有的是哪种 Intel 代码。

你拥有的内容升级后会发生什么可见程度
仅支持 Intel 的应用弹出「To open this app, you need to install Rosetta」提示明显——会看到对话框
设置为「使用 Rosetta 打开」的通用应用应用以原生方式启动;其仅支持 Intel 的插件不会加载隐蔽——插件只是从列表中消失
仅支持 Intel 的辅助工具:打印机过滤器、启动代理、命令行工具、安装脚本程序无法启动隐蔽或含糊——「Filter failed」「Bad CPU type in executable」,或安装失败

第一种情况在你重新安装 Rosetta 后就会自行解决。第二种最容易让人困惑:重新安装 Rosetta 并不能解决问题,因为该应用根本不再以 Rosetta 方式运行。第三种则既需要恢复 Rosetta,从长远看也需要原生替代方案。

步骤一:把 Rosetta 装回来(如果你需要的话)

如果你的 Mac 上有任何仅支持 Intel 的内容——大多数 Mac 上确实存在——现在就重新安装 Rosetta,不要等到弹出提示才行动。有些依赖它的程序根本不会弹出提示。

softwareupdate --install-rosetta --agree-to-license

--agree-to-license 参数会以非交互方式同意许可协议。不加这个参数,命令会要求你输入 A 来表示同意。在 Tahoe 上,softwareupdate --help 将该选项列为「Install Rosetta 2」,它与应用内提示所使用的机制相同。

要确认 Rosetta 已安装并正在运行:

# The Rosetta runtime directory exists only when Rosetta is installed
ls -d /Library/Apple/usr/share/rosetta 2>/dev/null && echo "Rosetta installed"

# oahd is the Rosetta translation daemon
pgrep -l oahd

# The installer receipt
pkgutil --pkgs | grep -i rosetta

在我们用于本指南测试的这台 Mac 上——升级前仍是 Tahoe 26.5.2——这三项检查全部通过:目录存在,oahd 正在运行,安装回执是 com.apple.pkg.RosettaUpdateAuto。升级到 macOS 27 之后,预计第一项和最后一项会返回空结果,直到你重新安装 Rosetta。

要不要重新安装它? 如果你完全没有仅支持 Intel 的内容,那就不需要。不保留 Rosetta 正是苹果希望达到的干净状态。但请先做下面的审计再做决定——「我不用任何 Intel 应用」这句话,对应用而言往往成立,对驱动而言往往不成立。

步骤二:找出你设置过「使用 Rosetta 打开」的应用

自第一代 Apple 芯片 Mac 起,Finder 的显示简介窗口就为通用应用提供了使用 Rosetta 打开这一复选框。人们勾选它的原因只有一个:应用本身是通用的,但它加载的某样东西——音频插件、扫描仪模块、附加组件、字体或颜色工具——仍然只支持 Intel。一个进程要么以 arm64 运行,要么以 x86_64 运行,二者不能同时存在,所以加载 Intel 插件的唯一办法就是把整个宿主应用放到 Rosetta 下运行。

macOS 会把这个选择保存在 LaunchServices 偏好设置里,而不是保存在应用本身。你可以列出所有设置过该标记的应用:

plutil -p ~/Library/Preferences/com.apple.LaunchServices/com.apple.LaunchServices.plist \
  | grep -E '^    "'

在我们的测试 Mac 上,这条命令在 "Architectures for arm64" 字典下返回了三条记录:

    "ArcTime Pro" => [
    "com.ScooterSoftware.BeyondCompare" => [
    "ImageJ" => [

每条记录都包含指向应用程序包的书签,后面跟着字符串 x86_64。有一个应用出现了三组书签和 x86_64 配对——同一个应用在不同文件夹里有三个副本,每个都被单独强制设为 Intel 模式。这就是这项设置多年积累下来的方式,也是为什么升级前值得把这份清单通读一遍:你很可能不记得自己勾选过所有这些项。

这些应用在 macOS 27 上会怎样

根据发行说明,这份清单里的每个应用现在都会以原生方式启动。应用本身仍能正常工作,因为它是通用应用。真正失效的,是你当初需要 Intel 模式来实现的那部分功能。发行说明警告称,此类插件「可能不会出现在设置中,也不会触发不兼容提示」,所以你不会看到任何错误。插件只是不在列表里了,或者某个菜单项消失了,或者某种文件格式无法再导入。

把清单上的每个应用都记下来,并逐一回答一个问题:我当初为什么勾选了它? 如果答案是「一个老插件」,步骤三会帮你找到它。如果你已经不记得原因,这项设置可能只是多年前某个 bug 的临时解决办法,而这个 bug 早已修复,原生模式很可能没问题。

显示简介窗口中一个通用应用,「使用 Rosetta 打开」选项被放在一旁未勾选

步骤三:审计插件文件夹

应用很容易检查,因为 Finder 和系统信息会显示它们的类型。插件、驱动和过滤器则不会,这也是为什么苹果的说明列出的是文件夹而不是应用。下面这个循环会遍历苹果提到的文件夹,外加相机插件文件夹,并打印出所有不含 arm64 代码的可执行文件:

for dir in ~/Library/Audio/Plug-Ins /Library/Audio/Plug-Ins /Library/Printers \
           ~/Library/ColorPickers /Library/ColorPickers /Library/QuickLook \
           ~/Library/Spotlight /Library/Spotlight /Library/CoreMediaIO/Plug-Ins; do
  [ -d "$dir" ] || continue
  find "$dir" -type f -perm -u+x 2>/dev/null | while read -r f; do
    archs=$(lipo -archs "$f" 2>/dev/null) || continue
    case "$archs" in *arm64*) ;; *) echo "INTEL-ONLY  $f" ;; esac
  done
done

lipo -archs 会打印出一个 Mach-O 二进制文件所包含的架构——通用代码是 x86_64 arm64,仅原生代码是 arm64 或 arm64e,仅 Intel 代码是 x86_64(有时还带 i386)。脚本和数据文件会让 lipo 执行失败,|| continue 会跳过这些文件。

在我们的测试 Mac 上,结果全部来自打印机驱动:

位置仅支持 Intel 的可执行文件数
/Library/Printers/hp108
/Library/Printers/KONICAMINOLTA9
音频、颜色选择器、Quick Look、Spotlight、相机文件夹0

打印机文件夹里总共有 341 个 Mach-O 可执行文件:224 个包含 arm64 代码,117 个不包含。第三方应用安装的五个音频 HAL 驱动全部是通用或原生的。不过仍然值得逐台检查:每台 Mac 的情况都不一样,一台积累了十年 Audio Units 插件的音乐制作 Mac,看起来会和这台完全不同。

对于单个应用,检查方法同样只需一行命令:

lipo -archs "/Applications/Some App.app/Contents/MacOS/$(defaults read "/Applications/Some App.app/Contents/Info" CFBundleExecutable)"

在这台 Mac 的 /Applications 文件夹里的 84 个应用中,48 个是通用应用,11 个仅支持 Intel,其余均为仅支持 arm64。这 11 个应用就是升级后会要求安装 Rosetta 的应用。

打印机:没人会联想到 Rosetta 的故障

打印机值得单独一节来讲,因为它的故障从来不会提到 Rosetta。CUPS 打印系统会让每个打印任务经过一连串过滤器,而厂商驱动会把自己的过滤器和后端加入这条链路。在我们的测试 Mac 上,仅支持 Intel 的文件包括 HP 的 hpPreProcessing 和 hpPostProcessing 过滤器、HP 的传真后端,以及 Konica Minolta 的 PostScript 过滤器 psToKMC759PS。

当其中一个过滤器无法运行时,任务就会停止,打印队列显示「Filter failed」——这正是 2020 年 Apple 芯片用户在 Rosetta 尚未安装时打印所遇到的情况。macOS 27 升级移除 Rosetta 之后,同样的事情可能发生在一台已经正常工作多年的打印机上。

从最快到最持久,有三种修复方式:

  1. 重新安装 Rosetta(步骤一)。过滤器会重新在转译下运行。这只能撑过 macOS 27 这一年,仅此而已。
  2. 更新厂商驱动。 许多厂商现在已经提供通用驱动;这台测试 Mac 上的 HP 和 Konica Minolta 安装包是旧版本,而不是当前的下载版本。
  3. 把打印机切换为 AirPrint。 在系统设置 → 打印机与扫描仪中移除该打印机,重新添加,并在使用菜单中选择 AirPrint 或 Secure AirPrint,而不是厂商驱动。AirPrint 和 IPP Everywhere 都是免驱动的,所以没有厂商过滤器可能出故障。你可能会失去装订、精加工等厂商专属选项,但日常打印将不再依赖 Rosetta。

打印对话框有自己的依赖项。它为厂商驱动额外显示的面板来自打印机对话框扩展(PDE),而这台测试 Mac 上五个 HP PDE 中有三个仅支持 Intel。如果升级后打印对话框里的厂商选项面板消失了,这就是首先要排查的地方。

如果你已经遇到「Filter failed」,想要完整的排查步骤,可参考我们的打印机 Filter failed 故障修复指南,其中详细介绍了 CUPS 方面的处理方法。

音频插件与其他插件宿主

音乐软件是「使用 Rosetta 打开」复选框使用最多的场景。一个通用 DAW 在 Rosetta 下运行时,可以加载存在了十年的 Intel Audio Unit 或 VST 插件。在 macOS 27 上,DAW 会以原生方式启动,这些插件因此不再加载,只是从列表中悄悄消失。

要查看当前真正以原生方式运行的内容,打开活动监视器(Activity Monitor),在 CPU 标签页查看种类(Kind)列:每个进程都会显示 Apple 或 Intel。升级之后,一个原本显示 Intel 的宿主会变成 Apple,这就说明它的 Intel 专属插件不再被加载。

按优先顺序,你的选择是:

  • 更新插件。 大多数仍在积极维护的插件厂商早在多年前就发布了通用版本。先检查一下,不要想当然地认为它已被放弃。
  • 替换为原生等效插件,并趁现在还能用旧配置打开项目时重新保存——可以在第二台 Mac 上操作,或者在升级这台 Mac 之前完成。
  • 冻结旧配置。 如果某个项目依赖一个已被放弃的 Intel 插件,就在仍运行 Tahoe 的 Mac 上把它完成或缩混导出。macOS 28 会彻底移除通用的 Rosetta 选项,所以 Golden Gate 不是长期搁置这类依赖的地方。

同样的逻辑适用于任何插件宿主:带旧滤镜的图像编辑器、带附加组件的办公套件、带 Intel 专属模块的科学工具,以及 Finder 会代为加载的颜色选择器或 Quick Look 插件。

还能强制让应用在 Rosetta 下运行吗?

复选框没有了,但通过命令行进入 Intel 模式的途径可能还在。在 Tahoe 上,arch 可以在 Rosetta 下启动通用二进制文件的 x86_64 切片:

arch -x86_64 /usr/bin/uname -m    # prints x86_64 on Tahoe with Rosetta installed
uname -m                          # prints arm64

对于应用,你需要让 arch 指向应用程序包内部的可执行文件:

arch -x86_64 "/Applications/Some App.app/Contents/MacOS/Some App"

请把这当作尚未在 macOS 27 上验证过的方法。上面的命令是我们在 Tahoe 26.5.2 上运行的。苹果的发行说明只谈到了「使用 Rosetta 打开」这项设置,并没有对 arch 表态。苹果的方向也很明确:它要求你重新评估任何曾经需要 Rosetta 的兼容性问题。即便这个技巧在 Golden Gate 上确实有效,它也只是用来完成一次性任务的办法,而不是可以长期保留的配置。

现在以 arm64 运行脚本的安装程序

最不易察觉的改动出现在安装程序里。一个 flat 安装包的 Distribution 文件可以在其 <options> 元素上声明支持哪些主机架构:

<options customize="never" hostArchitectures="arm64,x86_64"/>

苹果的说明称,未声明 hostArchitecture 的安装包「现在将默认使用 arm64」。以前从未设置该属性的旧安装包,在 Apple 芯片 Mac 上曾经获得 Intel 行为,因此其安装前后脚本会在 Rosetta 下运行。现在它们会以原生方式运行。如果某个脚本调用了仅支持 Intel 的辅助工具,或者根据架构判断走错了分支,就可能导致整个安装失败。

当一个较旧的安装程序报告「The installation failed」时,可以按下面的方法检查是否是这个原因:

# Unpack the package without installing it
pkgutil --expand "Some Installer.pkg" /tmp/pkg-inspect

# Does it declare host architectures?
grep -o 'hostArchitectures="[^"]*"' /tmp/pkg-inspect/Distribution

# What did the installer log say?
grep -i -E "error|failed" /var/log/install.log | tail -20

如果 grep 没有找到 hostArchitectures 属性,而日志中显示某个脚本执行失败,那就说明找到了原因。修复要靠厂商完成,但重新安装 Rosetta 通常能让脚本内部的 Intel 辅助工具运行起来,这对一次性安装可能已经足够。苹果同时也在要求开发者审查「任何仍在使用的安装程序插件」,所以带有自定义安装面板的旧安装包最有可能出问题。

一个安装包正在通过一道只标注了单一架构的闸门

游戏怎么办?

游戏是苹果为 macOS 28 及以后版本开的一个例外,你可能会在网上看到有人提到 game-test-tool 命令。发行说明对此描述得很清楚:

一个新的命令行工具可以让你在测试版发布期间启用对传统 Intel 游戏的支持。要启用它,请在终端中运行以下命令:sudo game-test-tool enable。

同一条说明还附加了三条警告,使其无法作为通用解决方案:启用它会「禁用 Rosetta」,「非游戏进程可能崩溃或出现异常行为」,而且该功能「仅在 macOS 测试版之外不可用」。这只是苹果计划保留的游戏子集用的测试开关,不会带回那个复选框,也不打算用在正式发布的 Mac 上。

你现在所处的时间线

版本Rosetta 的行为
macOS 26 Tahoe完整 Rosetta;「使用 Rosetta 打开」复选框有效
macOS 27 Golden Gate升级后移除 Rosetta,可重新安装;复选框被忽略;通用转译仍然可用
macOS 28「所有基于 Intel 的软件都将不再兼容」,传统游戏除外

所以你还剩最后一个版本的时间。更实际的用法是把 Rosetta 当作过渡桥梁,逐一替换清单上的每个 Intel 依赖项,而不是把旧配置原样搬回来,然后就此忘掉它。

关于更大范围的规划——哪些软件类别受影响最大,以及如何安排迁移进度——请参阅我们的Rosetta 2 生命周期终止指南和Intel 应用审计指南。

升级后十分钟检查清单

如果你刚完成升级,想知道自己目前处于什么状态,可以按顺序完成以下清单:

  1. 运行 plutil -p ~/Library/Preferences/com.apple.LaunchServices/com.apple.LaunchServices.plist | grep -E '^ "',记下列出的每个应用。
  2. 运行步骤三中的插件审计循环,把输出保存到文件。
  3. 用 lipo -archs 或活动监视器中的种类列,检查 /Applications 里仅支持 Intel 的应用。
  4. 如果上述任一清单不为空,用 softwareupdate --install-rosetta --agree-to-license 重新安装 Rosetta。
  5. 在你使用的每台打印机上打印一页测试页。
  6. 打开步骤一列出的每个应用,检查你实际使用的插件是否仍然存在。
  7. 对每一项重要的 Intel 依赖,记下它的原生替代方案,或计划淘汰它的日期。

整个清单大约需要十分钟,它能把「有东西不见了」变成一份你可以逐条处理的清单。

常见故障排查

插件不见了,但 Rosetta 已经安装

问题:你重新安装了 Rosetta,但插件仍然没有出现在宿主应用里。

解决方法:因为 macOS 27 忽略了「使用 Rosetta 打开」,宿主现在以原生方式运行,而原生进程无法加载 Intel 代码。可以用活动监视器中的种类列来确认。更新或替换该插件,仅靠 Rosetta 无法让它回来。

终端中出现「Bad CPU type in executable」

问题:一个以前能正常工作的命令行工具或脚本,现在报出这条错误。

解决方法:该二进制文件仅支持 Intel,而 Rosetta 未安装。用 lipo -archs $(which toolname) 检查,重新安装 Rosetta,并寻找原生版本——Homebrew 用户应从 /opt/homebrew 下的 arm64 Homebrew 前缀重新安装。

后台应用停止工作

问题:一个同步工具、菜单栏辅助程序或启动代理似乎在没有报错的情况下停止了工作。

解决方法:由 launchd 启动的辅助工具没有窗口可以显示 Rosetta 提示。用 ls ~/Library/LaunchAgents /Library/LaunchAgents /Library/LaunchDaemons 列出这些代理,找到每一个的 ProgramArguments 路径,再用 lipo -archs 检查。

安装程序失败且原因不明

问题:一个较旧的 .pkg 报告安装失败。

解决方法:按照上面安装程序一节的方法操作:展开安装包,检查 hostArchitectures,并查看 /var/log/install.log。重新安装 Rosetta 再试一次,是一个合理的一次性变通方法。

只有一台打印机打印失败

问题:AirPrint 打印机工作正常,唯独一台使用厂商驱动的打印机失败。

解决方法:它的厂商过滤器几乎肯定仅支持 Intel。重新安装 Rosetta、更新驱动,或改用 AirPrint 重新添加该打印机。

常见问题

macOS 27 是否仍然包含 Rosetta 2?

是的,作为可重新安装的组件存在。升级会移除它,你可以通过 softwareupdate --install-rosetta --agree-to-license,或者通过 Intel 应用触发的提示重新添加。苹果的承诺是将通用 Rosetta 保留至 macOS 27,此后只支持传统游戏。

苹果为什么不再遵循「使用 Rosetta 打开」?

苹果的说明只给出了规则,没有解释原因:此前被标记的应用会以原生方式启动,兼容性问题应当重新评估。可能的用意是在 Rosetta 仍然存在时,先找出隐藏的 Intel 依赖,而不是等到 macOS 28 时让它们一次性全部失效。

重新安装 Rosetta 能找回我的 Intel 插件吗?

只有当插件的宿主本身仅支持 Intel 时才可以。如果宿主是通用应用,而你之前把它强制设为 Intel 模式,macOS 27 现在无论如何都会以原生方式启动它,Intel 插件因此无法加载。你需要的是插件的通用版本。

如何判断一个应用是否仅支持 Intel?

在应用程序包内的可执行文件上运行 lipo -archs,或者在应用运行时查看活动监视器中的种类列。x86_64 单独出现表示仅支持 Intel;x86_64 arm64 表示通用;arm64 或 arm64e 表示仅支持 Apple 芯片。

不安装 Rosetta 安全吗?

是的,如果你用不到任何需要它的东西。macOS 本身并不需要 Rosetta。但请先完成插件和打印机审计,因为辅助工具和驱动出故障时不会主动提示需要 Rosetta。

结语

macOS 27 把 Rosetta 从一个默认存在的背景假设,变成了一项需要明确选择的功能。升级会移除它,针对单个应用的 Intel 开关不再起作用,安装程序也不再默认使用 Intel。任何依赖这些默认行为的东西现在都会失效,而且大多数故障都不会提到 Rosetta。

解决办法主要是做好清点:列出你强制设为 Intel 模式的应用,运行插件审计,打印一页测试页,只有在清单显示确实需要时才重新安装 Rosetta。然后利用 Golden Gate 剩下的这一年,在 macOS 28 彻底移除该选项之前,替换掉每一个 Intel 依赖项。

相关阅读:macOS 27 Golden Gate 首日更新指南 · Rosetta 2 生命周期终止指南 · macOS 27 前的 Intel 应用审计指南 · 打印机「Filter failed」故障修复指南 · Intel Mac 时代的终结