最近实在不想所有开发都需要 SSH 了,有没有什么办法可以在 M1 pro 的机器上运行 x86_64 的虚拟机呢?看了下 Parallels Desktop 似乎只能运行 Ubuntu Aarch64
1
maxmak 2023-01-26 03:06:10 +08:00 1
我直接用老 mbp
|
2
forgetlight 2023-01-26 03:15:42 +08:00 3
UTM 可以做 x86 的虚拟机,但是效率很低。
|
3
xuhaoyangx 2023-01-26 04:07:47 +08:00
我是用 Docker 跑没办法在 ARM 编译过 /不开源的 X86
|
4
dangyuluo OP 好像没什么好办法😔
|
5
zjsxwc 2023-01-26 06:59:29 +08:00 via Android 1
m1 虚拟机里运行 x8664 的 linux 效率非常低,不推荐用虚拟机。
|
6
holulu 2023-01-26 07:15:02 +08:00
架构不同,只能用模拟器。如 qemu 。UTM 就是用 qemu 跑 x86_64 系统的,Docker 也可以用的 qemu 跑 x86_64 容器的。
|
7
mritd 2023-01-26 08:22:44 +08:00 via iPhone
Lima 试试,现在支持 Rosetta 了
|
8
BrettD 2023-01-26 08:26:38 +08:00 via iPhone 1
ARM 模拟 x86 效率肯定很低
|
9
gilgameshhh 2023-01-26 08:53:22 +08:00
M2 芯片出来之前就有传言说要支持嵌套虚拟化,也就是支持 x86 的 docker 。不知道现在是不是真支持了
|
10
dayeye2006199 2023-01-26 09:04:40 +08:00
|
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
|
12
SteveLee 2023-01-26 10:29:52 +08:00
使用 UTM ,用 Apple Virtualization ,可以按照 @lqf96 的方法挂载 rosetta 进去,然后 chroot 到一个 x86 的 Linux 就可以了
|
13
mmr 2023-01-26 10:52:44 +08:00 via Android
最简单的方法当然是直接 VMWARE
|
14
SteveLee 2023-01-26 11:25:22 +08:00 via iPhone
|
15
Ayahuasec 2023-01-26 11:49:22 +08:00 via Android
我记得 linux 下是可以用 qemu-user 直接模拟运行其他构架的二进制文件,配置好以后效果类似 rosetta 。OP 可以试试就用 aarch64 的 linux 虚拟机,这样系统内核是满速虚拟化的,然后 x86_64 的应用程序通过 qemu-user 运行,可能跑起来会快一点。
|
16
ShadowPower 2023-01-26 12:10:38 +08:00 1
我预感你很快就要问“怎么调试二进制程序”的问题……
我感觉现在有些开发用 M1 就是非常折腾,以前买 Mac 都是图方便的,现在我都放弃了。 |
17
ETiV 2023-01-26 12:15:41 +08:00
开一个 x86 虚拟机,ssh 上去开发调试,当代 IDE 都支持远程,所有操作都是本地的体验,而性能、内存还都是服务器的。
你甚至不用担心你手里的电脑挂掉,换台电脑继续 ssh 战斗就行了。 |
18
wengych 2023-01-26 12:20:28 +08:00
|
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 上有硬件加速的加成。
|