Windows跑在智慧手錶上,開發者“魔改”震驚網友:這次是真WindowsonArm

編譯 | 蘇宓  出品 | 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(便攜遊戲機?)
  • 456×456 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
END
官方站點:www.linuxprobe.com
 Linux命令大全:www.linuxcool.com

劉遄老師QQ:5604215
Linux技術交流群:2636170
(新群,火熱加群中……)
想要學習Linux系統的讀者可以點選"閱讀原文"按鈕來了解書籍《Linux就該這麼學》,同時也非常適合專業的運維人員閱讀,成為輔助您工作的高價值工具書!


相關文章