M1 Pro 机器上有没有办法运行 x86_64 Linux 系统 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dangyuluo
V2EX    macOS

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

  •  
  •   dangyuluo 2023-01-26 03:01:25 +08:00 4735 次点击
    这是一个创建于 993 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    你甚至不用担心你手里的电脑挂掉,换台电脑继续 ssh 战斗就行了。
    wengych
        18
    wengych  
       2023-01-26 12:20:28 +08:00
    findex
        19
    findex  
       2023-01-27 17:24:17 +08:00
    可以。用 qemu 自带的软件虚拟化,不能进行硬件加速 x86 的系统。我一直在用。系统是 debian amd64 位,在 m1 上给 8 核心、8G ram ,gcc 编译 benchmark 相当于 i7 8700k 的 25%。不是不能用,就是会很慢。我有 i9 9900K 工作站,所以 UTM 基本上吃灰。qemu 只有用 arm64 的系统时候,才会在 m1 上有硬件加速的加成。
    devzhaoyou
        20
    devzhaoyou  
       282 天前
    25 年 1 月在 M1 PRO 上 虚拟 x86 ubuntu 非常慢,巨慢,点个按钮都得十几秒
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2945 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 20ms UTC 12:49 PVG 20:49 LAX 05:49 JFK 08:49
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86