打開網(wǎng)易新聞 查看精彩圖片

編譯 | 蘇宓

出品 | CSDN(ID:CSDNnews)

打造一款“一統(tǒng)天下”的操作系統(tǒng),很多科技巨頭們都曾夢想過:Google 在移動端坐擁全球最流行的 Android,桌面端則有 ChromeOS,其還曾嘗試推出可跨多個平臺運行的 Fuchsia,不過多年過去,這款系統(tǒng)始終沒能激起太大水花;與之有著類似經(jīng)歷的微軟,在桌面市場憑借 Windows 一騎絕塵,但在移動端卻折戟沉沙,Windows Phone 的失敗成為揮之不去的遺憾...

隨著移動設(shè)備形態(tài)的不斷演變,從手機到平板、從折疊屏到可穿戴設(shè)備,越來越多的開發(fā)者等不及大廠的“一統(tǒng)天下”了,率先自己動起了手。

這不,最新嘗試的是一位名為Gustave Monce的硬核極客開發(fā)者,他于近日把 Windows 裝進(jìn)了 Arm(手臂)設(shè)備里,更準(zhǔn)確的說,帶到了智能手表上!

開機界面如下:

打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片

“折騰 Windows on Arm 這么多年,我膩了”

現(xiàn)實來看, Gustave Monce 是個典型的“折騰狂人”,他不僅是法國波爾多大學(xué)(LaBRI)的博士生,研究方向涉及軟件工程、嵌入式系統(tǒng)和 SoC 開發(fā),還是一位徹頭徹尾的極客。他喜歡研究微軟操作系統(tǒng)的演變,收藏稀有的原型硬件,并挑戰(zhàn)讓 Windows 在各種“不可能”的設(shè)備上運行。

如果你翻開他的 GitHub 主頁,會發(fā)現(xiàn)他的貢獻(xiàn)記錄密密麻麻。

打開網(wǎng)易新聞 查看精彩圖片

而他 此前最廣為 人知的“神奇操作”,莫過于讓 Windows 11 在舊手機上成功運行。

早在2021 年 Windows 11 預(yù)覽版剛發(fā)布時,Gustave Monce 就盯上了——這是微軟 Windows Mobile 時代的“絕唱”,也是最后一款官方搭載 Windows 10 Mobile 的手機。按理來說,它的時代早已結(jié)束,但在他的手里,這臺老設(shè)備竟然成功運行了 Windows 11!

打開網(wǎng)易新聞 查看精彩圖片

這還不夠,他隨后又折騰起了微軟的雙屏手機,讓它完美運行 Windows 11,玩出了新花樣。

打開網(wǎng)易新聞 查看精彩圖片

但這些挑戰(zhàn)都已經(jīng)完成了,接下來還能做點什么?Gustave Monce 一度陷入了沉思,直到某一天,他突然想明白了:“答案一直就在我眼前!讓 Windows 跑在手臂設(shè)備上!更準(zhǔn)確地說,讓它跑在——智能手表上!”

打開網(wǎng)易新聞 查看精彩圖片

為什么要這么折騰?

Gustave Monce 在他的博文中坦言:

“多年來,我花了(或者說浪費了)無數(shù)時間,讓 Windows on ARM 運行在各種不是電腦的設(shè)備上,直到有一天,我突然有點膩了。 下一個項目能是什么呢?我折騰了好幾年,甚至玩了折疊屏手機,但總感覺還不夠。一定還有更離譜、更有挑戰(zhàn)性的東西…… 我在網(wǎng)上亂逛了成千上萬小時,甚至和一些年紀(jì)大的人聊天,仍然找不到答案。 直到有一天,我終于想明白了。 我要讓 Windows 運行在智能手表上!”

于是,他開始了這場讓 Windows 運行在智能手表上的挑戰(zhàn)

打開網(wǎng)易新聞 查看精彩圖片

智能手表的選擇

Gustave Monce看來,2025 年了,還有誰不愛智能手表呢?畢竟,市場上現(xiàn)有的智能手表的性能其實都不錯。在這次嘗試中,Gustave Monce 理想中的硬件規(guī)格如下:

  • 四核 64 位 ARM Cortex A53 處理器

  • 整整 2GB DDR4X 內(nèi)存

  • 32GB eMMC 存儲

  • Adreno 702 GPU(支持光線追蹤?。┲黝l高達(dá) 1GHz(便攜游戲機?)

  • 456x456 OLED 曲面顯示屏,還是圓形的

  • 超高速 LTE 調(diào)制解調(diào)器(部分型號)

  • USB 充電

  • 音頻輸出

  • 高端 WiFi 6E + 藍(lán)牙(SDIO 傳輸,2003 年的 PDA 看到這技術(shù)都得淚目)

  • 支持通話和短信

  • 超先進(jìn)傳感器集群(對你的健康有好處,盡管作者自己可能更需要這個)

  • 額外的協(xié)處理器,實現(xiàn)低功耗深度睡眠!

  • 續(xù)航比你想象的要長(當(dāng)然,前提是用原生系統(tǒng))

  • 全球首款圓形觸摸屏

  • 小巧,精致,畢竟是塊表

  • 它擁有你手機的所有功能

各種約束下,Gustave Monce 將目光對準(zhǔn)了自己手里剛好有的一塊Google Pixel Watch 3(大號 LTE 版)手表。他表示,“這款手表的硬件配置跟我花了 2000 美元買的手機幾乎一樣,但價格便宜了 75%。(所以,為什么還要買那么貴的手機呢?)”

打開網(wǎng)易新聞 查看精彩圖片

讓 Windows 在智能手表上運行

拿到手表的第一天,Gustave Monce 像所有極客一樣,第一反應(yīng)就是——開始折騰。

打開網(wǎng)易新聞 查看精彩圖片

Pixel Watch 3 采用的是高通 Snapdragon W5 Gen 1(SW5100)處理器,配備了2GB DDR4X 內(nèi)存 + 32GB eMMC 存儲。

對于智能手表來說,這樣的配置已經(jīng)相當(dāng)不錯。

而對 Gustave Monce 來說,這是一款高通芯片設(shè)備,意味著他之前折騰高通設(shè)備的經(jīng)驗派上了用場,甚至可以直接復(fù)用一些開源代碼。

同時,這塊手表的啟動方式也很關(guān)鍵——它使用的是 UEFI(類似于電腦 BIOS 的啟動系統(tǒng)),這意味著它的啟動方式和 PC 比較接近,讓運行 Windows 變得可能。

打開網(wǎng)易新聞 查看精彩圖片

它的 SoC 采用了四核 Cortex-A53,雖然是比較老的架構(gòu)(Cortex-A53 其實是 2011 年設(shè)計的),但經(jīng)過時間驗證,依然夠用。當(dāng)然,這顆芯片沒法運行那些需要原子操作(atomics)的現(xiàn)代操作系統(tǒng),但對于這次實驗來說,已經(jīng)足夠了。

搞清楚這些基本情況后,Gustave Monce 所做的第一步就是用 root 過的 boot 鏡像備份手表系統(tǒng),并進(jìn)行解析固件:

打開網(wǎng)易新聞 查看精彩圖片

然后,Gustave Monce 先從原始 UEFI 里一點點提取 EFI 啟動文件,適配到 UEFI 環(huán)境里。這個過程并不簡單,但最終,他成功進(jìn)入了UEFI 界面。

打開網(wǎng)易新聞 查看精彩圖片

在經(jīng)歷了數(shù)小時的補丁修復(fù)和加載順序調(diào)整(原本的順序完全亂套了),Gustave Monce 終于看到熟悉的UEFI Shell

沒想到的是,新的問題隨之出現(xiàn)——手表屏幕的分辨率太低,竟然不符合 UEFI 規(guī)范!這意味著他還得手動調(diào)整 UEFI 代碼,讓它能正確適配手表的顯示屏。

打開網(wǎng)易新聞 查看精彩圖片

接下來,Gustave Monce 又開始調(diào)整ACPI 表(負(fù)責(zé)管理硬件資源的配置文件),這一步主要是從已知的 8250 設(shè)備上復(fù)制現(xiàn)成的 ACPI 表,然后補上定時器和中斷控制器(GIC)的信息,這些數(shù)據(jù)可以從原生設(shè)備樹(Device Tree)里找到。

打開網(wǎng)易新聞 查看精彩圖片

這項工作并不算特別難,只要知道去哪里找數(shù)據(jù),大部分時候就是復(fù)制粘貼,加點修改,把關(guān)鍵的表格填好就行了。

為了進(jìn)行測試,他還準(zhǔn)備了一個簡化版的 DSDT ACPI 表,只定義了4 個 CPU

打開網(wǎng)易新聞 查看精彩圖片

終于,Windows 真的啟動了!

打開網(wǎng)易新聞 查看精彩圖片

當(dāng)然,這只是 Windows PE(Windows 的簡化版),功能非?;A(chǔ),甚至還沒完全加載完(Gustave Monce 稱自己懶得等)。但它確實能運行,證明了這個瘋狂的想法是可行的!

初步驗證之后,新的挑戰(zhàn)出現(xiàn)了——

首先,手表的存儲空間有限,只有 32GB,而系統(tǒng)已經(jīng)占滿了所有可用空間,根本沒有地方放 Windows 文件。

打開網(wǎng)易新聞 查看精彩圖片

然而,由于這是 Google 旗下的產(chǎn)品,它采用了“超級分區(qū)”(super partition)以及 A/B 雙系統(tǒng)槽機制,并使用了一些較新的分區(qū)格式,比如 boot image header v4。

于是,Gustave Monce 利用了 A/B 分區(qū)機制,將當(dāng)前未使用的 A 槽(對他而言)中的最大分區(qū)(modem_a)覆蓋,替換為自己的啟動文件。由于這個分區(qū)最多只有 150MB,因此他還對 Windows PE 進(jìn)行了精簡,最終成功解決了存儲問題。

打開網(wǎng)易新聞 查看精彩圖片

升級導(dǎo)致崩潰

在正式發(fā)布這個項目前,他決定把手表升級到最新固件,以保證穩(wěn)定性。

打開網(wǎng)易新聞 查看精彩圖片

但令Gustave Monce 沒想到的是,這一步差點讓他的努力白費。

Google 向手表推送了Android 15(此前是 Android 14 系統(tǒng))。

打開網(wǎng)易新聞 查看精彩圖片

他更新后,Google 的Web 刷機工具崩潰了兩次,每次更新都要 4 個小時。更慘的是,更新完成后,Gustave Monce 發(fā)現(xiàn)自己的 UEFI 版本無法啟動了!

經(jīng)過排查,問題出在Google 更新了 ABL(Android Bootloader),導(dǎo)致他的 UEFI 啟動文件被認(rèn)為“太小”,無法通過驗證。

打開網(wǎng)易新聞 查看精彩圖片

Gustave Monce 嘗試了各種方法,甚至改了設(shè)備自帶的內(nèi)核鏡像,最終發(fā)現(xiàn)新的 ABL 只接受特定格式的內(nèi)核頭文件。最終,他拿到官方的內(nèi)核頭文件,刪除代碼,只留下跳轉(zhuǎn)指令,然后把自己的 UEFI 追加到后面,終于讓系統(tǒng)再次正常啟動!

打開網(wǎng)易新聞 查看精彩圖片

最后

Gustave Monce 的這次嘗試吸引了不少人的圍觀,有網(wǎng)友表示:“可以給微軟參考了,為 Surface Watch 鋪路....”,也有人調(diào)侃”真正踐行Windows on Arm的理念了“。

在昨天發(fā)布了這個項目后,Gustave Monce 自評道:“這次的愚人節(jié)項目,和我以往的風(fēng)格一樣:又真實又滑稽,而且還沒做完。你現(xiàn)在就能嘗試,但……你最好別試,哈哈哈。對我來說,這項工作非常有趣...我希望這個實驗對這個星球上的某些人來說是有用的。對于其他人,我希望你們會過得很愉快?!?/p>

如果你感興趣的話,更多詳細(xì)內(nèi)容可參考 Gustave Monce 個人博客:

https://gus33000.me/fish/

或者查閱 WOA 項目 相關(guān)內(nèi)容:

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

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

4 月 2 日 20:00,CSDN《萬有引力》欄目特別邀請到OpenManus 項目一作、MetaGPT 開源核心貢獻(xiàn)者梁新兵,DeepWisdom 算法研究員、OpenManus 核心作者向勁宇相聚 CSDN 視頻號直播間,在CSDN &《新程序員》執(zhí)行總編、《萬有引力》主理人唐小引主持下,一起聊聊 00 后程序員的故事,以及 OpenManus 背后的秘密!