我应该购买什么软件才能在我的 Linux 机器上安装 macOS VM?

软件推荐 linux osx 苹果系统 虚拟机
2021-10-27 23:24:21

动机

我在 Linux 机器上工作,但我教那些也在 Windows 和 macOS 上工作的人。为了从他们的角度看问题,我还想访问 Windows 和 macOS 操作系统。

可能的解决方案#1

也许最简单的解决方案是购买两台小型 PC,每台都配备这些操作系统,但这很昂贵(想想购买 Apple 产品,每年可能总共使用三个小时)而且很麻烦(我经常喜欢进行全新安装,这意味着需要花费大量时间重新格式化机器)。然后是额外硬件所需的物理空间。

可能的解决方案#2

对我来说,最好的解决方案似乎是为每个操作系统购买许可证,并在我的 Linux PC 中为它们安装虚拟机,并在必要时使用它们。我有硬件来处理它,所以我看不出有什么缺点。

#2 的问题

上次我检查时,微软出售 Windows 许可证。然而,Apple 似乎并没有出售 macOS 的许可证(甚至不允许在非 Apple 硬件上使用 macOS)。

近二十年来我一直在使用 Linux,所以我真的希望我在这里继续过时的信息,微软和苹果都让与我处境相同的人的生活更轻松。

问题

  1. 是否可以(并且合法)购买 macOS 许可证以将其作为我的 Linux 机器上的 VM?
  2. 如果不可能,我还有哪些其他选择来迎合由 Linux、macOS 和 Windows 用户组成的人群?

观察事物的合法性对我来说很重要,因为我们正在谈论为此使用公司资金。

4个回答

有多家公司出租云中的 Mac 访问权限。当我不得不将 Android 应用程序移植到需要 Mac 编译的 iOS 时,我使用了其中一个几个月。如果您每年只需要几个小时的 Mac,这可能是最便宜的选择。重置“你的”mac 只需几分钟即可获得新安装的新 VM。

我不隶属于他们中的任何一个,但在互联网上搜索“租用 Mac”会发现多家这样的公司。

是否可以(并且合法)购买 macOS 许可证以将其作为我的 Linux 机器上的 VM?

——至少不是根据 Apple 的 MacOS 软件许可协议。MacOS Big Sur (其他类似)许可协议明确表示(强调我的):

您被授予有限的、不可转让的、非排他性的许可:

[...]

(iii) 在您拥有或控制且已运行 Apple 软件的每台 Mac 计算机上的虚拟操作系统环境中安装、使用和运行最多两 (2) 个额外的 Apple 软件副本或实例

因此,根据 Apply 的说法,即使在 VM 中,您也只能在“Mac 计算机”(上面进一步定义为“运行 macOS 的 Apple 品牌计算机”)上运行 MacOS。通过在 Linux 机器上的 VM 中运行 MacOS,您将违反这一点(如果您在 Apple 硬件上运行 Linux,则例外,这是可能的 - 这没关系,但这不是您想要的)。

此限制是否真正合法有效将取决于您的管辖权(可能取决于法官的意见),但这超出了这里的范围(您可以在https://law.stackexchange.com/上询问)。


除了(可能的)法律障碍之外,MacOS 似乎积极拒绝在非 Apple 硬件上运行(参见 VirtualBox 手册,第 3.1.1 章,Mac OS X 访客)。可以规避这一点,但这并非易事。例如,这篇文章有一个解决方案,但它不受支持且无法完全发挥作用。这另一篇文章(德语)声称有一个解决方案 - 我没有测试过。

如果不可能,我还有哪些其他选择来迎合由 Linux、macOS 和 Windows 用户组成的人群?

最简单的解决方案是解释您无法帮助解决由环境/操作系统引起的问题 - 通常不应该期望您这样做。如果您教人们使用不同的操作系统,那么您直接用于教学或作为学科的软件可能是跨平台的,因此您希望可以帮助解决问题。如果超出此范围,请礼貌地解释您无能为力。

在简单的情况下,您还可以协助寻找解决方案(良好的网络搜索不是每个人都具备的技能),但由于您没有 Apple 硬件,因此您无法帮助使用 Apple 软件。

正如其他人所说,合法虚拟化 Mac OS X(根据 Apple 的 EULA)的唯一方法是在 Apple 硬件上。因此,您需要购买的不是软件,而是硬件:您需要购买 Mac。

使用 Intel (x86) Apple 硬件,您可以通过三种方式执行此操作:

1.使用VMWare ESXi作为主机操作系统

ESXi 是 VMware 的专业服务器虚拟化平台。作为 Apple Mac 上的基本/主机操作系统,VMware ESXi 可以虚拟化 Mac OS X 来宾,以及几乎任何其他在 x86 硬件上运行的操作系统,包括 Linux 和 Microsoft Windows。您需要的 ESXi 核心是免费的;VMWare 出售 ESXi 的支持许可证,但您不需要支付高额的许可证费用。

我一直在走这条路,虽然它可以工作,但它并不适合胆小的人:ESXi 需要通过另一台机器的 Web UI 进行管理,如果你打算将它用作桌面系统(带有监视器和连接键盘),那么您需要有能够支持 PCI 直通的硬件(USB 控制器和 GPU 卡)。如果没有 PCI 直通,您连接的监视器将仅显示纯文本 ESXi 配置屏幕。

检查VMWare 的硬件兼容性列表并关注第一款或 Mac Pro 型号。Mac Mini 可以工作,但您不太可能让 Passthrough 工作

目前,VMWare ESXi 无法在 Apple M1 芯片上运行,因此您需要 Intel mac 才能使用此选项。VMWare 表示“我们致力于在 Apple Silicon 上提供 VMware 虚拟机”,因此这种情况可能会改变。

2. 使用 Mac OS X 作为主机操作系统

购买 Mac(任何最新的 x86 型号)并使用 Mac OS X 作为基本/主机操作系统来虚拟化 Mac OS X、Linux 和 Windows。在这种情况下,您可能需要购买软件。VMWare Fusion是我个人使用并强烈推荐的软件。Parallels是我知道的另一种选择。您可以使用免费的 VirtualBox,但缺少对 Mac OS X 来宾的支持,因此我只会将其用于 Linux 或 Windows 来宾。

机器将启动到 OS X,但您可以将 Linux VM 配置为在启动时启动,并使用全屏、多显示器支持将 Linux 用作您的日常操作系统,或者切换到 Mac VM 进行测试,或者只是使用主机上的 Mac OS。Linux 在 VMWare 下运行良好,但图形性能不如裸机。这是一个易于使用的解决方案,也是我迁移到的解决方案(我曾经使用 ESXi)

此解决方案适用于 Apple Mac Mini、Mac Pro、Macbook Pro 以及基本上任何最新且足够强大的x86 Apple 硬件。不需要 GPU 直通。

你会想要坚持使用英特尔 Mac 并避免使用 M1 芯片:VirtualBox 仅支持 x86 虚拟化,虽然 Parallels 和 VMWare 都表示他们正在支持 M1,但它还没有出现,我不建议早点采用者。

3. 使用 Apple Boot Camp或 Linux 作为主要操作系统

Apple x86 硬件能够运行 Linux 或 Windows 作为它的主要引导操作系统。Linux 在现代 Apple 硬件上运行良好,如果您只是偶尔需要 Mac 进行测试,您可以将 Mac 引导至 Linux 进行正常工作,并仅在测试需要时重新引导至 Mac OS X。Linux 可以安装到 Mac 的主驱动器(在单独的分区上)或外部驱动器,甚至可以安装到 SD 卡(尽管我只建议对只读根目录,如 LiveCD)

此选项适用于任何 Intel mac;Apple M1 mac 不支持 boot camp,虽然 Linux 将来可能会支持启动 M1 mac,但听起来不会很快发生

4. 保留一台旧的、用过的 Mac 进行测试

当然还有另一种选择:不要虚拟化,只需拥有一台仅用于测试的廉价 Mac。在这种情况下,处理器架构无关紧要,除非它影响您将在 Mac 上进行的测试。

我目前正在使用 Ubuntu,但我仍然想在 macOS 上使用一些应用程序。我找到了macOS-Simple-KVM

但是,在能够在其上使用 App Store 之前,您需要进行一些调整,并且仅限于 macOS Catalina。

对于 Windows,我只使用 VirtualBox 和我购买的 Windows 10 许可证。

编辑:我很抱歉。我刚刚意识到“遵守合法性......因为我们正在谈论为此使用公司资金”。肯定需要一台 Mac 电脑。