自从苹果发布了搭载 M1 芯片的新 Mac 以来,一直在努力让各种应用程序可以在新架构上运行,即 arm64,不同于英特尔、AMD 等传统的 x86_64 架构,既来自拥有专有软件的公司,也来自开源项目社区。

Mac M1 支持这个生态系统的大部分,但是,一些项目仍然存在问题,例如一些基于 QEMU 的项目或尚不支持多架构的 docker 映像。

解决这种情况的一种方法就是能够以 x86_64 架构运行这些项目,而这正是虚拟化可以帮助我们的地方。

对于虚拟化,我们将使用 UTM,我已经在这个链接中写过,Virtualization on Mac M1?是的,使用 UTM。

所以我假设你已经在你的 Mac M1 上安装了 UTM,所以我们开始吧。

对于本文,我们将使用 Ubuntu 20.04 服务器,因此您可以从 Canonical 的网站下载它,或者直接从下面的链接下载它,但是,您可以使用您选择的发行版。

发布.ubuntu.com/20.04/ubuntu-20.04.3-li..

创建虚拟机

  • 让我们通过单击“+”图标然后“从头开始”来创建我们的虚拟机。

在 UTM 中创建新的虚拟机

  • 在“信息”选项卡中,您将根据需要配置虚拟机的名称和图标。

配置虚拟机信息

  • 在“系统”选项卡中是重要的部分,在“架构”中,选择“x86_64”选项,下面的“系统”选项将自动更改。在“内存”选项中,您将选择虚拟机应具有的内存量。能够运行的最小值是 768Mb,但是,我强烈建议您放置 1Gb 或更多。

配置虚拟机架构和内存

  • 在“驱动器”选项卡中,您将创建一个硬盘和一个 CD/DVD 驱动器。我强烈建议创建至少 30Gb 或更大的磁盘。

虚拟机硬盘创建创建虚拟机 CD/DVD 驱动器虚拟机硬盘和 CD/DVD 驱动器

  • 在“网络”选项卡中,您将创建一个端口转发,以便我们可以通过 SSH 访问机器。

添加虚拟机端口转发虚拟机端口重定向

值得记住的是,您可以根据需要转发其他端口。

  • 最后,点击“保存”就可以了,你的虚拟机就创建好了。

虚拟机创建

  • 在虚拟机信息的底部有一个选择 CD/DVD 选项,您将选择您选择的发行版的 ISO,在我们的例子中是 Ubuntu Server 20.04。

具有选定发行版 ISO 的虚拟机

  • 现在只需运行虚拟机并安装 linux 发行版。

在虚拟机中安装linux

测试虚拟机

现在您已经安装了虚拟机,只需通过 SSH 访问它,您将看到虚拟机将运行 x86_64 系统,如下图所示。

终端 ssh na máquina 虚拟

试火时间

对于防火示例,我正在使用 docker 和一个名为 Kafdrop 的项目的容器,它基本上是一个用 Java 制作的 Kafka 的 Web UI,并且在 GitHub 上也值得一星,即使它是用 Java 制作的哈哈存储库该项目如下。

github.com/obsidiandynamics/kafdrop

由于这个项目的容器还不支持多架构,所以我们试着把它当成linux/amd64来运行,在其他项目中可以,但是在这个项目中不行。

如下图所示,在第一个控制台中发生了错误qemu: uncaught target signal 11 (Segmentation fault) - core dumped,因为即使尝试在 arch arm64 上强制 x86_64,在这种情况下它也不起作用。

但是,在第二个控制台中,项目运行正常,因为它是在 x86_64 发行版上运行的 x86_64 容器。

容器执行 no macOS e linux

也就是说,即使使用 Mac M1 也完全可以运行 x86_64 项目。

就是这样,我希望我对这篇文章有所帮助,如果您有更多问题,请随时在此处发表评论或在互联网上的某个地方寻找我 :)

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐