客户端
游戏
无障碍

4

评论

7

8

手机看

微信扫一扫,随时随地看

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

AI划重点 · 全文约3301字,阅读需10分钟

1.极客开发者Gustave Monce成功将Windows操作系统运行在智能手表上,挑战了微软在移动端的市场地位。

2.他选择了Google Pixel Watch 3作为硬件平台,对其进行了root操作,并调整了UEFI代码和ACPI表以适应手表屏幕。

3.经过一系列努力,Gustave Monce让Windows PE在智能手表上成功运行,但功能仅为基础。

4.为了解决存储空间有限的问题,他利用A/B分区机制将未使用的A槽中的最大分区覆盖为自己的启动文件。

5.尽管遇到了挑战,Gustave Monce表示这个项目非常有趣,希望对某些人有用。

以上内容由腾讯混元大模型生成,仅供参考

编译 | 苏宓
出品 | 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 Pixel 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 Monce 先从原始 UEFI 里一点点提取 EFI 启动文件,适配到 UEFI 环境里。这个过程并不简单,但最终,他成功进入了 UEFI 界面

图片

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

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

图片

接下来,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 Monce 尝试了各种方法,甚至改了设备自带的内核镜像,最终发现新的 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

免责声明:本内容来自腾讯平台创作者,不代表腾讯新闻或腾讯网的观点和立场。
举报
00:34
8090后泪目!奇迹MU端游复刻,4月11日登录送卓越套装
广告奇迹MU怀旧版
了解详情
评论 0文明上网理性发言,请遵守《新闻评论服务协议》
请先登录后发表评论~
查看全部0条评论
首页
刷新
反馈
顶部