专栏名称: 程序员好物馆
成就一亿技术人
目录
相关文章推荐
51好读  ›  专栏  ›  程序员好物馆

Windows跑在智能手表上,开发者“魔改”震惊网友:这次是真Windows on Arm

程序员好物馆  · 公众号  ·  · 2025-04-04 09:00

正文

请到「今天看啥」查看全文


编译 | 苏宓
出品 | CSDN(ID:CSDNnews)

打造一款“一统天下”的 操作系统,很多科技巨头们都曾梦想过:Google 在移动端坐拥全球最流行的 Android,桌面端则有 ChromeOS,其还曾尝试推出可跨多个平台运行的 Fuchsia,不过多年过去,这款系统始终没能激起太大水花;与之有着类似经历 的微软,在桌面市 场凭借 Windows 一骑绝尘,但在移动端却折戟沉沙,Windows Phone 的失败成为挥之不去的遗憾...

随着移动设备形态的不断演变,从手机到平板、从折叠屏到可穿戴设备,越来越多的开发者等不及大厂的“一统天下”了,率先自己动起了手。

这不,最新尝 试的是一位名为 Gustave Monce 硬核极客开发者, 他于近日把 Windows 装进了 Arm( 手臂)设 备里, 更准确的说,带到了智能手表上!

开机界面如下:

“折腾 Windows on Arm 这么多年,我腻了”
现实来看, Gustave Monce 是个典型的“折腾狂人”,他不仅是 法国波尔多大学(LaBRI) 的博士生,研究方向涉及 软件工程、嵌入式系统和 SoC 开发 ,还是一位彻头彻尾的极客。他喜欢研究微软操作系统的演变,收藏稀有的原型硬件,并挑战让 Windows 在各种“不可能”的设备上运行。
如果你翻开他的 GitHub 主页,会发现他的贡献记录密密麻麻。
而他 此前最广为 人知的“神奇操作”,莫过于 让 Windows 11 在旧手机上成功运行
早在 2021 年 Windows 11 预览版刚发布 时,Gustave Monce 就盯上了 Lumia 950 XL ——这是微软 Windows Mobile 时代的“绝唱”,也是最后一款官方搭载 Windows 10 Mobile 的手机。按理来说,它的时代早已结束,但在他的手里,这台老设备竟然成功运行了 Windows 11!
图片

这还不够,他随后又 折腾起了微软的双屏手机 Surface Duo ,让它完美运行 Windows 11,玩出了新花样。

但这些挑战都已经完成了,接下来还能做点什么?Gustave Monce 一度陷入了沉思,直到某一天,他突然想明白了:“答案一直就在我眼前!让 Windows 跑在手臂设备上!更准确地说,让它跑在——智能手表上!”

为什么要这么折腾?

Gustave Monce 在他的博文中坦言:

“多年来,我花了(或者说浪费了)无数时间,让 Windows on ARM 运行在各种不是电脑的设备上,直到有一天,我突然有点腻了。

下一个项目能是什么呢?我折腾了好几年,甚至玩了折叠屏手机,但总感觉还不够。一定还有更离谱、更有挑战性的东西……

我在网上乱逛了成千上万小时,甚至和一些年纪大的人聊天,仍然找不到答案。

直到有一天,我终于想明白了。

我要让 Windows 运行在智能手表上!”

于是,他开始了这场 让 Windows 运行在智能手表上的挑战

智能手表的选择

Gustave Monce 看来, 2025 年了,还有谁不爱智能手表呢? 毕竟,市场上现有的智能手表的性能其实都不错。在这次尝试中, Gustave Monce 理想中的硬件规格如下:

  • 四核 64 位 ARM Cortex A53 处理器

  • 整整 2GB DDR4X 内存

  • 32GB eMMC 存储

  • Adreno 702 GPU(支持光线追踪!)主频高达 1GHz(便携游戏机?)

  • 456x456 OLED 曲面显示屏, 还是圆形的

  • 超高速 LTE 调制解调器(部分型号)

  • USB 充电

  • 音频输出

  • 高端 WiFi 6E + 蓝牙(SDIO 传输,2003 年的 PDA 看到这技术都得泪目

  • 支持通话和短信

  • 超先进传感器集群(对你的健康有好处,尽管作者自己可能更需要这个)

  • 额外的协处理器,实现低功耗深度睡眠!

  • 续航比你想象的要长(当然,前提是用原生系统)

  • 全球首款圆形触摸屏

  • 小巧,精致,毕竟是块表

  • 它拥有你手机的所有功能

各种约束下, Gustave Monce 将目光对准了自己手里刚好有的一块 Google Pixe l Watch 3(大号 LTE 版)手表。他 表示,“这款手表 的硬件配置跟我花了 2000 美元买的 手机几乎一样,但价格便宜了 75%。(所以,为什么还要买那么贵的手机呢?)”

让 Windows 在智能手表上运行

拿到手表的第一天, Gustave Monce 像所有极客一样,第一反应就是——开始折腾。

Pixel Watch 3 采用的是 高通 Snapdragon W5 Gen 1(SW5100) 处理器,配备了 2GB DDR4X 内存 + 32GB eMMC 存储

对于智能手表来说,这样的配置已经相当不错。

而对 Gustave Monce 来说,这是一款 高通芯片设备 ,意味着他之前折腾高通设备的经验派上了用场,甚至可以直接复用一些开源代码。

同时,这块手表的启动方式也很关键—— 它使用的是 UEFI(类似于电脑 BIOS 的启动系统) ,这意味着它的启动方式和 PC 比较接近,让运行 Windows 变得可能。

它的 SoC 采用了 四核 Cortex-A53 ,虽然是比较老的架构(Cortex-A53 其实是 2011 年设计的),但经过时间验证,依然够用。当然,这颗芯片没法运行那些需要原子操作(atomics)的现代操作系统,但对于这次实验来说,已经足够了。

搞清楚这些基本情况后, Gustave Monce 所做的第一步就是 用 root 过的 boot 镜像备份手表系统,并进行解析固件:

然后,Gustave Mo nce 先 从原始 UEFI 里一点点提取 EFI 启动文件 ,适配到 UEFI 环境里。这个过程并不简单,但最终,他成功进入了 UEFI 界面

在经历了 数小时的补丁修复和加载顺序调整 (原本的顺序完全乱套了), Gustave Monce 终于看到熟悉的 UEFI Shell

没想到的是,新的问题随之出现—— 手表屏幕的分辨率太低,竟然不符合 UEFI 规范! 这意味着他还得手动调整 U EFI 代码,让它能正确适配手表的显示屏。

接下来,Gustave Monce 又开始调整 ACPI 表(负责管理硬件资源的配置文件),这一步主要是 从已知的 8250 设备上复制现成的 ACPI 表 ,然后 补上定时器和中断控制器(GIC)的信息 ,这些数据可以从原生设备树(Device Tree)里找到。

这项工作并不算特别难,只要知道去哪里找数据,大部分时候就是 复制粘贴,加点修改 ,把关键的表格填好就行了。

为了进行测试,他还准备了一个 简化版的 DSDT ACPI 表 ,只定义了 4 个 CPU

终于, Windows 真的启动了!

当然,这只是 Windows PE(Windows 的简化版),功能非常基础,甚至还没完全加载完( Gustave Monce 称自己懒得等)。但它确实能运行,证明了这个疯狂的想法是可行的!

初步验证之后,新的挑战出现了——

首先,手表的存储空间有限,只有 32GB,而系统已经占满了所有可用空间,根本没有地方放 Windows 文件。

然而,由于这是 Google 旗下的产品,它采用了“超级分区”(super partition)以及 A/B 双系统槽机制,并使用了一些较新的分区格式,比如 boot image header v4。

于是, Gustave Monce 利用了 A/B 分区机制,将当前未使用的 A 槽(对他而言)中的最大分区(modem_a)覆盖,替换为自己的启动文件。由于这个分区最多只有 150MB,因此他还对 Windows PE 进行了精简,最终成功解决了存储问题。

升级导致崩溃

在正式发布这个项目前,他决定 把手表升级到最新固件 ,以保证稳定性。
但令 Gustave Monce 没想到的是,这一步差点让他的努力白费。
Google 向手表推送了 Android 15(此前是 Android 14 系统)。
他更新后,Google 的 Web 刷机工具崩溃了两次 ,每次更新都要 4 个小时。更惨的是, 更新完成后, Gustave Monce 发现自己的 UEFI 版本无法启动了!
经过排查,问题出在 Google 更新了 ABL(Android Bootloader),导致他的 UEFI 启动文件被认为“太小” ,无法通过验证。
Gustave Monc e 尝试了各种方法,甚至改了设备自带的内核镜像,最终发现 新的 ABL 只接受特定格式的内核头文件 。最终,他 拿到官方的内核头文件,删除代码,只留下跳转指令 ,然后把自己的 UEFI 追加到后面,终于让系统再次正常启动!
最后

Gustave Monce 的这次尝试吸引了不少人的围观,有网友表示:“可以给微软参考了,为 Surface Watch 铺路....”,也有人调侃”真正践行Windows on Arm的理念了 “。

在昨 天发布了 这个项目后, Gustave Monce 自评道:“这次的愚人节项目,和我以往的风格一样:又真实又滑稽,而且还没做完。你现在就能尝试,但……你最好别试,哈哈哈。对我来说,这项工作非常有趣...我希望这个实验对这个星球上的某些人来说是有用的。对于其他人,我希望你们会过得很愉快。”

如果你感兴趣的话, 更多详细内容可参考 Gustave Monce 个人博客:

https://gus33000.me/fish/

或者查阅 WOA 项目 相关内容:

https://github.com/WOA-Project/mu_seluna_platforms

https://github.com/woa-project/pixelwatch-guides

图片
好啦,今天的内容分享就到这,感觉不错的同学记得分享点赞哦!
PS: 程序员好物馆 持续分享程序员学习、面试相关干货,不见不散!
图片
点分享
图片
点收藏
图片
点点赞
图片
点在看







请到「今天看啥」查看全文