V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dangyuluo
V2EX  ›  macOS

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

  •  
  •   dangyuluo · 131 天前 · 2589 次点击
    这是一个创建于 131 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    你甚至不用担心你手里的电脑挂掉,换台电脑继续 ssh 战斗就行了。
    wengych
        18
    wengych  
       131 天前
    findex
        19
    findex  
       130 天前
    可以。用 qemu 自带的软件虚拟化,不能进行硬件加速 x86 的系统。我一直在用。系统是 debian amd64 位,在 m1 上给 8 核心、8G ram ,gcc 编译 benchmark 相当于 i7 8700k 的 25%。不是不能用,就是会很慢。我有 i9 9900K 工作站,所以 UTM 基本上吃灰。qemu 只有用 arm64 的系统时候,才会在 m1 上有硬件加速的加成。
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1259 人在线   最高记录 5634   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 17:38 · PVG 01:38 · LAX 10:38 · JFK 13:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.