ARTICLE · 1357413
iOS 竟然跑在 Android 手机上了!
导读: 微软已经停止支持的双屏手机 Surface Duo 2,如今迎来了一个令人意外的新生命。一位开发者成功将苹果 iOS 26 原生移植到这款搭载高通骁龙 888 芯片的 Android 手机上,不仅让系统成功启动,还实现了双屏显示和触控操作。iOS 甚至将这台设备识别为“iPhone 17 Pro Max”。这并不是通过模拟器运行 iOS,而是借助苹果开源的 XNU 内核、定制 UEFI 启动加载器以及自行适配的驱动和图形转换层,让 iOS 真正运行在非苹果硬件上。微软放弃了 Surface Duo 2,但开发者 SmuOS(也称 None24)没有放弃这款设备。他花了约两个月时间完成这项移植工作,还计划继续适配 iOS 27,并尝试让 Surface Pen 以 Apple Pencil 的身份工作。

Surface Duo 2 成功运行 iOS 26:系统竟将它识别为 iPhone 17 Pro Max
开发者 SmuOS 已经成功让苹果 iOS 26 原生运行在微软 Surface Duo 2 上。这款手机采用高通骁龙 888 移动平台,拥有两块独立屏幕。此次移植并非通过 Android 模拟器运行 iOS,而是让 iOS 内核直接在 Surface Duo 2 硬件上启动。
SmuOS 分享的设备照片显示,系统已经能够正常进入 iOS 26 界面,两个屏幕均可显示内容,触控功能也已经实现。设置应用中的“关于本机”页面显示,设备运行的是 iOS 26.5.2,机型名称则被识别为 iPhone 17 Pro Max。
不过,这只是移植过程中呈现的设备型号信息,并不意味着 Surface Duo 2 真的变成了苹果手机。页面同时显示,设备容量为 5GB,序列号、Wi-Fi 地址和蓝牙信息均为 N/A。
更有趣的是,iOS 将 Surface Duo 2 的两块屏幕视为一块完整的大屏幕。设置应用采用类似 iPad 的布局:左侧屏幕显示侧边栏,右侧屏幕展示当前选择的设置页面,Liquid Glass(液态玻璃)界面也能够跨越两块屏幕显示。
电话应用则暴露了双屏适配中的一些问题。由于 iOS 将两块屏幕合并为一个显示区域,拨号键盘被居中放置,结果中间一列按键恰好落在 Surface Duo 2 的转轴位置。数字 1、4、7 和“*”位于左侧屏幕,数字 3、6、9 和“#”位于右侧屏幕,中间一列则被转轴遮挡,绿色通话按钮也有一部分无法正常显示。
即便如此,能够让 iOS 电话应用在一台 Android 双屏手机上启动并显示,已经是相当不寻常的成果。
目前测试设备的右侧屏幕存在明显裂纹,画面中也能看到彩色条纹等图形异常。SmuOS 解释说,这台设备本来就是用于测试的,屏幕损坏并不影响他继续进行系统移植实验。

短短几天取得突破:双屏帧率提升至 37fps,触控也已可用
这项移植工作的进展相当迅速。
2026 年 10 月 24 日,SmuOS 首次宣布 iOS 26 已经在 Surface Duo 2 上原生启动。不过,当时只有一块屏幕能够工作,系统还远未达到正常使用的程度。
几小时后,他进一步进入 iOS 初始设置界面。相关照片显示,两块屏幕都已经出现语言选择界面,画面上方还叠加着系统启动日志。
到了 10 月 25 日,进展又有了明显突破。SmuOS 表示,两块屏幕的运行帧率已经达到 37fps,而此前只有 3 至 10fps。他随后还宣布,设备触控功能已经可以正常工作。
从最初只能启动一块屏幕,到两块屏幕同时显示,再到触控操作逐步可用,这项移植在短时间内取得了显著进展。
当然,能够进入系统并不等于已经具备日常使用条件。目前仍存在图形异常、无线网络和蓝牙信息不可用等问题,部分系统界面也没有针对双屏转轴进行适配。

iOS 26 如何运行在 Android 手机上?
这项移植能够实现,首先与苹果公开 XNU 内核源代码有关。
XNU 是苹果 iOS 和 macOS 使用的核心内核。由于 iPhone 和绝大多数 Android 手机都采用 ARM 架构处理器,开发者可以在苹果公开的 XNU 源代码基础上,尝试为高通处理器构建适配版本。
SmuOS 解释说,移植工作首先需要根据目标设备使用的芯片平台,从源代码构建能够在对应 ARM 硬件上运行的 XNU 内核。真正困难的地方,是让 iOS 所依赖的各类硬件和系统组件能够与非苹果设备兼容。
第二个关键项目是 UniXNU。这是一个开源项目,目标是通过 UEFI 启动方式,让 iOS 和 macOS 运行在非苹果 ARM64 硬件上。它的思路有些类似于 Hackintosh 社区使用 OpenCore 在非苹果电脑上启动 macOS。
简单来说,开发者需要先准备一个定制启动加载器,再针对目标硬件移植 iOS 或 macOS 所需的内核、驱动和系统组件。
UniXNU 社区已经将 Surface Duo 2 纳入移植设备名单,该设备的代号为 zeta,SmuOS 则负责维护相应的移植项目。
根据他的 GitHub 项目仓库,此次移植使用了苹果官方 iPhone 17 Pro Max 的 iOS 26.5.2 恢复映像,版本构建号为 23F84。内核则基于苹果提供的 iOS 26.5 版本 XNU 源代码构建。
需要注意的是,该项目没有重新分发苹果固件和相关文件。因此,用户不能简单地下载一个完整安装包,再将 iOS 26 刷入 Surface Duo 2。整个过程涉及系统映像、内核构建、硬件驱动和底层适配,并不属于面向普通用户的安装方案。

真正困难的不是内核,而是驱动和图形系统
让 XNU 内核成功启动,只是整个项目的起点。
Surface Duo 2 使用骁龙 888 芯片,其 GPU 为 Adreno 660。苹果 iOS 原生使用 Metal 图形 API,而这款高通 GPU 并不直接支持 Metal。因此,开发者必须解决图形接口之间的兼容问题。
SmuOS 表示,除了从头构建或移植设备驱动程序,还需要开发 Metal 转换层,并让 iOS 26 能够正确识别和使用 Surface Duo 2 的双屏硬件。
UniXNU 项目采用的方案,是将苹果 Metal 图形接口转换为 Vulkan,再通过 Turnip 驱动运行。Turnip 是面向高通 Adreno GPU 的开源 Vulkan 驱动。
这意味着,iOS 发出的图形渲染指令需要经过转换,才能由 Surface Duo 2 的 Adreno 660 GPU 执行。图形接口转换、显示控制和系统界面之间的适配,都可能成为影响稳定性和性能的因素。
另一个技术障碍来自苹果芯片使用的指针认证技术(Pointer Authentication)。
苹果部分 ARM 代码采用 arm64e 指令架构,并使用指针认证机制增强安全性。但骁龙 888 并不支持这一硬件特性,因此,直接运行相关代码会遇到兼容性问题。
为了解决这一问题,SmuOS 的项目仓库记录显示,移植过程中从 iOS 共享缓存中移除了约 2960 万个指针签名,并将部分默认采用 ARM64e 的代码改写为 ARM64,以便在目标设备上运行。
SmuOS 特别强调,整个项目最难处理的部分其实并不是内核,而是图形系统。他提到,图形栈中有许多细节可能导致 SpringBoard、backboardd 等关键系统组件无法正常工作。通过自行反编译 iOS IPSW 固件,他能够更深入地理解 iOS 内部的运行机制。
这也解释了为什么让一个系统成功启动,与让它真正能够操作、显示和运行应用之间,存在如此大的差距。

这项移植已经开展两个月,AI 也参与了开发过程
SmuOS 表示,这项工作耗费了大约两个月,期间经历了大量调查、反复试错和技术问题排查。
有趣的是,他其实在本轮 Android 设备运行 iOS 的讨论受到关注之前,就已经让 iOS 26 在 Surface Duo 2 和 Google Pixel 10 Pro Fold 上实现了无图形输出的启动状态。
当时他没有立即公开成果,是希望等到图形显示功能真正可用后,再展示完整的移植效果。他原本希望成为第一个在折叠屏设备上实现这一成果的开发者。
SmuOS 并不避讳开发过程中使用了 AI 工具。他表示,部分工作由自己完成,ChatGPT 则帮助他理解了此前并不熟悉的 XNU 内核知识。
这项项目最初并不是为了让 Android 手机运行 iOS,而是希望通过移植 Linux Mobile、Android 16 和 Android 17 等系统,让微软 Surface Duo 和 Surface Duo 2 获得更多生命力。
在他看来,Surface Duo 系列这些年来并没有得到足够的关注,因此希望通过社区项目延续这款设备的使用价值。开发过程中,还有曾参与微软 Duo 团队工作的人员提供了帮助,让他更深入地了解 Surface Duo 的底层框架。
目前,iOS 26 在 Surface Duo 2 上仍然属于研究版本。除了图形显示异常,设置页面中的 Wi-Fi 和蓝牙信息仍然显示 N/A,壁纸也无法正常渲染。项目仓库还在持续记录和修复相关问题。
这项成果的意义在于证明了 iOS 可以经过大量底层适配,在非苹果 ARM64 设备上启动并运行部分功能,但距离完整、稳定的日常使用体验仍有很长的路要走。

下一步:让 Surface Pen 变成 Apple Pencil,继续移植 iOS 27
SmuOS 已经为 Surface Duo 2 的后续开发规划了两个方向。
第一个目标是实现 Surface Pen 到 Apple Pencil 的身份模拟,让微软 Surface 手写笔能够被 iOS 识别为 Apple Pencil。

第二个目标则是将当前项目升级到 iOS 27。
不过,iOS 27 的移植难度更高。SmuOS 指出,目前尚未有可公开使用的对应内核版本标签,因此项目需要进一步研究和适配,不能简单地将现有 iOS 26 移植成果直接升级。
他还考虑为 Surface Duo 2 增加类似 iPhone 操作按钮(Action Button)的功能,让这款原本没有该实体按键的设备也能够体验相应操作。
Surface Duo 2 也不是 SmuOS 正在研究的唯一微软设备。
他还在尝试将微软于 2018 年取消的双屏 Windows 系统 Windows Andromeda 移植到 Google Pixel 10 Pro Fold 上。Surface Duo 早期固件曾经留下与 Andromeda 系统有关的线索,这也让社区一直对这款被取消的操作系统保持兴趣。
此外,他还计划使用 ARM64 重写任天堂 GameCube 的启动菜单,为 Ayn Odin 2 开发一套操作系统。
SmuOS 表示,这些项目主要源于个人兴趣。他也鼓励其他系统移植开发者继续尝试:即使别人已经完成过类似工作,也可以通过进一步完善成果,或者与原项目开发者合作,推动社区项目继续发展。

微软放弃了 Surface Duo,开发者却让它拥有了更多可能
Surface Duo 2 是微软在双屏移动设备领域的一次重要尝试。它采用两块独立屏幕,通过铰链连接,试图探索不同于传统单屏手机的移动交互方式。但微软最终停止了这一产品线的后续投入,Surface Duo 2 也在 2024 年 10 月结束支持。
如今,一位开发者却让这款已经停止官方支持的设备运行起了苹果 iOS 26,甚至让两个屏幕同时工作。这种跨平台移植本身就足够令人惊讶,而项目背后涉及的内核、驱动、图形接口和硬件适配工作,更体现了开源社区的技术创造力。
当然,把 iOS 26 启动在 Surface Duo 2 上,并不代表 Android 与 iOS 的软硬件体系已经可以轻松互换。苹果公开的是 XNU 内核源代码,而不是完整的 iOS 系统。应用框架、硬件驱动、图形接口、安全机制和设备服务仍然需要大量适配。当前版本也存在明显缺陷,距离能够作为日常手机使用还有很大差距。
但这项工作的价值并不只在于让一台安卓手机运行 iOS。它还证明了已经被厂商放弃的硬件,仍然可能通过社区开发获得新的生命。Surface Duo 2 原本面向双屏 Android 体验,如今却成为测试 iOS、Linux 和其他操作系统的实验平台。
对于微软而言,Surface Duo 的故事或许已经结束;对于开源开发者来说,这款设备的探索空间显然还没有耗尽。比起简单地延长一款旧手机的使用寿命,这种跨越平台边界的技术尝试,更值得关注。















































































