操作系统|Android 13 “鸡肋”?可它跑起了 Windows 11、Linux 发行版!
整理 | 郑丽媛
出品 | CSDN(ID:CSDNnews)
还记得在今年年初盘点 “Bug 连连”的 Android 12 时 , XDA Developers的前主编 Mishaal Rahman 曾预言:“Android 12 的 Bug 修复对谷歌而言已压力不小 ,由此可能导致下一版本的开发周期遭到缩减 , 从而引发恶性循环 。 ”
【操作系统|Android 13 “鸡肋”?可它跑起了 Windows 11、Linux 发行版!】结果不到一个月 , Mishaal Rahman 就被“打脸”了:2月10日, 谷歌正式发布了 Android 13 首个开发者预览版。
不可否认的是 , 在感受过“Android 历史上最大设计变更”的 Android 12 后 , 首个 Android 13 预览版似乎处在一种“珠玉在前 , 瓦石难当”的尴尬处境:在看过谷歌的介绍后 , 许多人吐槽 Android 13 “平淡无奇”、“鸡肋平庸” 。
Android 和 Web 开发人员 @kdrag0n 发现了隐藏在 Android 13 预览版中的闪光点: 谷歌 Pixel 6 等设备在安装 Android 13 预览版后 , 可实现完全虚拟化!
这意味着 , 现在我们可以在 Pixel 6 或其他基于 Tensor 处理器的设备上 , 以接近原生的速度运行几乎任意操作系统 , 包括 Windows 11、Ubuntu 或 Arch Linux Arm 等 Linux 发行版 。
文章图片
将 KVM 引入 Android
早在 2 个月之前 , Mishaal Rahman 就曾“谷歌将如何在 Android 13 中使用虚拟化”这一话题进行过分析 , 他坚定认为:“ 谷歌多年碎片化战争的下一个战场是虚拟化 。 ”
说起 Android 的虚拟化 , Android 系统团队的 Will Deacon 将之称为“碎片化的狂野西部” 。 因为不论虚拟机是否存在于设备上 , 它们的作用通常都不是用来运行其他操作系统 , 而是用于试图增强内核安全或在 Android 操作系统之外运行杂项代码(例如 DRM、密码学和其他闭源二进制文件的第三方代码) 。
但在谷歌看来 , “在 Android 操作系统之外运行杂项代码”这一点存在重大隐患:
文章图片
从上面这张 ARMv8/v9 异常模型中可以看出 , 虚拟机程序运行在 EL2 层 , 而在 ARM 命名法中 , 数字越大 , 特权级别越高 , 即 EL2 比行在 EL0、EL1 的代码权限更高 。 这也就意味着 , 许多闭源二进制文件的第三方代码的运行权限 , 比操作系统和内核还高 。 这显然是个安全隐患 , 因为 在较高 EL 上运行的代码可访问低级别的所有寄存器 。
为解决这一安全问题 , 谷歌一直在寻求一个通用的虚拟化解决方案 , 以实现解除第三方代码的特权 , 并将该代码与 Android 和其他第三方程序隔离开来 。 关于这点 , KVM 是个不错的选择 。
KVM , 全名 Kernel-based Virtual Machine , 是一个开源的系统虚拟化模块 , 自 Linux 2.6.20 之后 , 便广泛集成在各个主流 Linux 发行版中 , 主要使用 Linux 自身的调度器进行管理 。 而 Android 同样也基于 Linux 内核构建 , 所以谷歌自然而然会选择将 KVM 部署为通用虚拟机管理程序 。 但谷歌并非照搬全收 , 它实际上是在扩展具有额外安全功能的 KVM , 即 pKVM:受保护的 KVM 。
当时 , Mishaal Rahman 就已预测了 Android 13 可能出现的变化:“目前 , 市场上没有任何 Android 设备配备虚拟化模块 , 包括谷歌自己的 Pixel 6 也没有 , 但 这将随着即将发布的 Android 13 版本而改变 。 ”他补充道 , 据他了解 ,谷歌有计划在 Android 13 中引入 pKVM 和虚拟机框架的第一个版本 。
Mishaal Rahman 预测成功
这次 , Mishaal Rahman 的预测成功了:通过加入全新虚拟化框架的 Android 13 预览版 , @kdrag0n 完成了在 Pixel 6 中运行 Windows 11 及部分 Linux 发行版的尝试 。
@kdrag0n 表示:“在 Pixel 6 + Android 13 DP1 上 , 拥有 KVM 管理程序(接近本机性能)的成熟虚拟机 。 ”Ta 还分享道 , 目前在设备上可获得完整的 EL2 , 而“pKVM”是可选项 , 可在每个 VM 的基础上启用 , 但对于未受保护的 VM , 似乎可使用完整的 KVM 功能 。
文章图片
为证明其运行成功 , @kdrag0n 在推特上发布了一则 各种 Linux 发行版作为 VM 在 Pixel 6 上启动的视频 , 其中包括 Ubuntu 21.10、Arch Linux Arm、Void Linux 和 Alpine Linux , 甚至还有一段在 Arch 上为 arm64 编译 Linux 5.17-rc3 allnoconfig 的录屏 。
此后 , @kdrag0n 又 通过 Android 13 虚拟化 , 让 Pixel 6 得以运行 Windows 11 并对此进行了优化:“稍微提高了性能 , Windows VM 现在真的可以使用了 , 尽管不支持硬件 GPU 加速 , 但 CPU、I/O 和内存压力已缓和许多 。 ”
文章图片
?
不仅如此 , @kdrag0n 还成功通过 Pixel 6 的 Windows 虚拟机 , 连接到电脑上(为进行键盘输入) , 十分顺畅地玩起了 1993 年的老游戏《毁灭战士》 。
文章图片
但 @kdrag0n 也补充道 , 这是 Windows on ARM , 而非 x86 , 并且不支持嵌套虚拟化 , 所以也不支持 WSA 。 尽管这远非完美的体验 , 也不如本地安装操作系统那样流畅 , 但能够良好运行已然不易 。
相信等到 Android 13 正式版支持 pKVM 时 , 其虚拟机体验将再度完善 , 届时各类操作系统在 Android 手机上的表现也值得期待 。
参考链接:
- https://www.cnx-software.com/2022/02/14/android-13-virtualization-lets-pixel-6-run-windows-11-linux-distributions/
?曾被“霸凌”的两个孩子:电动汽车与分布式数据库
? Unix 操作系统背后的女程序员 Lorinda Cherry 去世 , 享年 78 岁
推荐阅读
- |大连超算中心“落子” 剑指东北第一
- |银保监会:防范以“元宇宙”名义进行非法集资的风险
- 项目|瞭望:破译“双奥之城”密码
- 网友|马上评|中学推行“人脸支付”,还是先等等吧
- |纷纷跨界汽车“赛道” 家电数码企业争抢流量入口?
- 贵州|“东数西算”工程全面启动 激发数据要素创新活力
- bug|百度回应无法搜索“裁判文书网”:系统bug,已修复
- 枢纽|贵州成重要节点!“东数西算”工程是什么?
- 视点·观察|小伙称工资单被同事看到遭开除 “家规”不能与法律冲突
- 开普勒|寻找“地球2.0”
