不久前我写过第一个Android 13 开发者的预览版本,给人的感觉似乎有点平淡无奇。但其实我发现在 Google Pixel 6 智能手机等硬件上,有一个隐藏的宝藏功能。该功能可以实现完全虚拟化。
完全虚拟化的话,这就意味着现在几乎可以在谷歌 Tensor 驱动的手机上运行任何操作系统了,包括 Windows 11、Ubuntu、Arch Linux Arm 等 Linux 发行版。而且还可以通过接近原生的速度运行。

Android 和 Web 的开发人员“kdrag0n”使用“Pixel 6 + Android 13 DP1 上的 KVM 管理程序”在 Pixel 6 上使用了 Ubuntu 21.10、Arch Linux Arm、Void Linux 和 Alpine Linux 测试了几个为 Aarch64 编译的 Linux 发行版。他们也做进一步的解释:
据我所知,我们现在几乎可以在生产设备上获得完整的EL2了。受保护的 KVM 是可以选择的,用户可以在每个 VM 的基础上启用。不过,对于未受保护的VM,似乎可以使用完整的KVM功能。
正如Arm 开发者网站上所阐述的,EL2 是指 Arm 异常级别。kdrag0n 也并没有放弃,而是通过相同的 Android 13 虚拟化设法让 Windows 11 能在 Pixel 6 上运行。

这样操作之后,Windows手机又回来了!更严谨点,我们看看一切是否能真的能按预期工作,看起来还是很有希望的。
但为什么 Google 会在 Android 中去启用虚拟化呢?他们应该不太可能只是为了想让用户在手机上安装 Linux 或 Windows吧。多番查询之后,我发现大约两个月前,Mishaal Rahman 谈到过这个问题,原内容如下:
这是因为虚拟机管理程序可能存在、也有可能不存在于设备上。所以当它们存在时,它们通常在虚拟机中是没有被用来做原来用途的,也就是在虚拟机中运行操作系统!相反,它们被用于增强内核的安全性(或至少尝试)以及在 Android 操作系统之外运行杂项代码(例如 DRM、密码学和其他闭源二进制文件的第三方代码)。
因此,这个虚拟化主要是用于安全性和 DRM 等二进制文件的。Mishaal的文章还列出了虚拟化模块源代码的链接,以及一个如何开始使用受保护虚拟机的指南。
本文消息来源于Liliputing。

文章翻译者:Taylor Lee,瑞科慧联(RAK)高级嵌入式开发工程师,有丰富的物联网和开源软硬件经验,熟悉行业主流软硬件框架,对行业发展动向有着敏锐的感知力和捕捉能力。