dangyuluo
V2EX  ›  macOS

M1 Pro 机器上有没有办法运行 x86_64 Linux 系统

  •  
  •   dangyuluo · Jan 26, 2023 · 6026 views
    This topic created in 1382 days ago, the information mentioned may be changed or developed.

    最近实在不想所有开发都需要 SSH 了,有没有什么办法可以在 M1 pro 的机器上运行 x86_64 的虚拟机呢?看了下 Parallels Desktop 似乎只能运行 Ubuntu Aarch64

    Supplement 1  ·  Jan 26, 2023
    重点不是 Linux ,重点是 x86_64 ,公司的编译架构都是 x86_64 的
    20 replies  •  2025-01-06 11:41:20 +08:00
    maxmak
    maxmak
    Jan 26, 2023❤️1
    1
    我直接用老 mbp
    forgetlight
    forgetlight
    Jan 26, 2023❤️3
    2
    UTM 可以做 x86 的虚拟机,但是效率很低。
    xuhaoyangx
    xuhaoyangx
    Jan 26, 2023
    3
    我是用 Docker 跑没办法在 ARM 编译过 /不开源的 X86
    dangyuluo
    dangyuluo
    OP
    Jan 26, 2023
    4
    好像没什么好办法😔
    zjsxwc
    zjsxwc
    Jan 26, 2023 via Android❤️1
    5
    m1 虚拟机里运行 x8664 的 linux 效率非常低,不推荐用虚拟机。
    holulu
    holulu
    Jan 26, 2023
    6
    架构不同,只能用模拟器。如 qemu 。UTM 就是用 qemu 跑 x86_64 系统的,Docker 也可以用的 qemu 跑 x86_64 容器的。
    mritd
    mritd
    Jan 26, 2023 via iPhone
    7
    Lima 试试,现在支持 Rosetta 了
    BrettD
    BrettD
    Jan 26, 2023 via iPhone❤️1
    8
    ARM 模拟 x86 效率肯定很低
    gilgameshhh
    gilgameshhh
    Jan 26, 2023
    9
    M2 芯片出来之前就有传言说要支持嵌套虚拟化,也就是支持 x86 的 docker 。不知道现在是不是真支持了
    lqf96
    lqf96
    Jan 26, 2023 via iPhone
    11
    不可以但是 Rosetta 2 现在应该支持 Linux 虚拟机了,所以至少用户态程序可以转译运行了: https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta
    SteveLee
    SteveLee
    Jan 26, 2023
    12
    使用 UTM ,用 Apple Virtualization ,可以按照 @lqf96 的方法挂载 rosetta 进去,然后 chroot 到一个 x86 的 Linux 就可以了
    mmr
    mmr
    Jan 26, 2023 via Android
    13
    最简单的方法当然是直接 VMWARE
    SteveLee
    SteveLee
    Jan 26, 2023 via iPhone
    14
    Ayahuasec
    Ayahuasec
    Jan 26, 2023 via Android
    15
    我记得 linux 下是可以用 qemu-user 直接模拟运行其他构架的二进制文件,配置好以后效果类似 rosetta 。OP 可以试试就用 aarch64 的 linux 虚拟机,这样系统内核是满速虚拟化的,然后 x86_64 的应用程序通过 qemu-user 运行,可能跑起来会快一点。
    ShadowPower
    ShadowPower
    Jan 26, 2023❤️1
    16
    我预感你很快就要问“怎么调试二进制程序”的问题……

    我感觉现在有些开发用 M1 就是非常折腾,以前买 Mac 都是图方便的,现在我都放弃了。
    ETiV
    ETiV
    Jan 26, 2023
    17
    开一个 x86 虚拟机,ssh 上去开发调试,当代 IDE 都支持远程,所有操作都是本地的体验,而性能、内存还都是服务器的。

    你甚至不用担心你手里的电脑挂掉,换台电脑继续 ssh 战斗就行了。
    findex
    findex
    Jan 27, 2023
    19
    可以。用 qemu 自带的软件虚拟化,不能进行硬件加速 x86 的系统。我一直在用。系统是 debian amd64 位,在 m1 上给 8 核心、8G ram ,gcc 编译 benchmark 相当于 i7 8700k 的 25%。不是不能用,就是会很慢。我有 i9 9900K 工作站,所以 UTM 基本上吃灰。qemu 只有用 arm64 的系统时候,才会在 m1 上有硬件加速的加成。
    devzhaoyou
    devzhaoyou
    Jan 6, 2025
    20
    25 年 1 月在 M1 PRO 上 虚拟 x86 ubuntu 非常慢,巨慢,点个按钮都得十几秒
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1574 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 08:53 · PVG 16:53 · LAX 00:53 · JFK 03:53
    ♥ Do have faith in what you're doing.