尽管前几天发布的全新 Android 13 开发者预览版被不少人吐槽有点小失望,但近日有开发者发现谷歌在 Android 13 中隐藏的一个“彩蛋” —— 开发者在 Google Pixel 6 设备上安装 Android 13 后,可实现完全虚拟化。
据 Ars Technica 等外媒报道称,早前一位名为 kdrag0n 的 Android&web 开发者发现 Android 13 中有个有趣的新功能:支持虚拟化!
这意味着现在可以在 Pixel 6(或其他基于 Tensor 处理器驱动的设备,包括 ARM Windows 11、桌面版 Linux,如 Ubuntu 或 Arch Linux Arm,并以接近本机的速度运行)上运行几乎任何操作系统。
2 月 14 日,开发者 kdrag0n 在推特发布了一段关于该消息的视频,透露了他已征用该“彩蛋”功能来启动 ARM Windows 11 和桌面版 Linux。视频中,kdrag0n 甚至在 Pixel 6 上的虚拟机中运行 Windows 版 Doom 游戏。
据悉,kdrag0n 通过“ Pixel 6+Android 13 DP1 上的 KVM 虚拟机监控程序”,在Pixel 6 手机上使用 Ubuntu21.10、Arch Linux Arm、Void Linux 和 Alpine Linux 测试了为 Aarch64 编译的几个 Linux 发行版。
kdrag0n 表示,Android 13 具有“接近本机性能”的“完整 KVM 功能”,需要 root 才能启用不支持 GPU 加速的功能。由于该功能也不支持嵌套虚拟化,因此,尽管现在可以在 Windows 上运行 Android,在 Android 上运行 Windows,但制作无限嵌套的操作系统 turducken 是不可能的。
据了解,谷歌出于自身原因一直在 Android 中构建虚拟化,早在前几年就有“Google 正开发专门为虚拟化打造的 Android”的传闻,具体进展如何外界还不得而知。这次 Android 开发者 kdrag0n 的操作,也让关注此消息的网友们感到了振奋。
尽管对于 kdrag0n 这样的简洁演示,有些媒体评论称这与谷歌想要用 Android 即将推出的虚拟机支持的操作完全不同。
据观察,谷歌 Android 系统的虚拟化进程似乎是打算(也可能在 Android 13 中)将虚拟机用作各种功能的安全和隐私沙箱,早前媒体报道了“谷歌正在采用Linux内核的KVM和Chrome OS的虚拟机管理器crosvm”的消息,同时还有爆料称公司也正在打造一款在虚拟机上运行的精简版的微型安卓操作系统——“Microdroid”,希望以此来摆脱 ARM 的 TrustZone(运行 DRM 之类的东西)和加密工作。
有了 Android 系统的虚拟化程序,就可以在手机管理程序上同时运行 Android 和受保护的 KVM。这样一来,就不需要在正常的应用程序权限级别处理敏感数据了,因为数据在单独的操作系统中处理,因此任何攻击者想要“搞破坏”都必须先突破应用程序安全模型,然后是 Android,然后是虚拟机监控程序,然后是另一个私有操作系统,这样就能使虚拟机数据具有更高级别的私密性和安全性。
当然,上面外界对于谷歌虚拟化计划的猜测似乎太长远,但眼前来看的话,谷歌虚拟化工作的第一部分似乎是标准化 Android 设备附带的 Linux 内核。如今,Android 系统上的“臃肿”的内核已经成为了备受用户“诟病”的话题,而每款手机都会提供一个定制版本的 Linux 内核,并加载特定的更改和驱动器。内核基本上永远不会更新,而且当有 10000 多个不同的 Android 内核时,很难在操作系统级别推出任何虚拟化功能。因此,此前有报道称谷歌将 Linux 内核标准化的计划被称为“GKI”或“通用内核映像”。
由于通用内核是安卓内核,改动尽可能少,所以任何制造商的改动或硬件支持都是通过模块系统完成的。现在,主内核已经标准化,并具有一组已知的功能。而 GKI 率先推出了 Pixel 6 设备,这也就是为什么 Pixel 6 是首款(也是迄今为止唯一一款)被 kdrag0n 发现能够“支持虚拟化”的 Android 手机的原因。