本文先概覽小米Pocophone F1安裝Windows 11 ARM的執行效果,再來介紹如何安裝。
Renegade Project這個專案主要是研究如何將Windows裝到手機上,不是虛擬機,而是真的把Android刷成Windows系統,有GPU驅動的情況下還能玩電腦遊戲。
Github上有中國人釋出的原始碼,最關鍵的技術是把Linux kernel偽裝成UEFI,才能啟動Windows 11 ARM。目前處理器為高通s835、s845、s855的手機都有機會裝上Windows 11 ARM,詳情請看 圖表。
選這支小米Pocophone F1的理由是拍賣剛好看到有很便宜的二手現貨,而且Poco F1刷機資源也很多,有Android ROM、postmarketOS、Ubuntu touch能刷。
1. Poco F1裝Windows 11 ARM的效能#
螢幕亮度、螢幕觸控(EBBG或Tianma面板皆正常)、Wifi正常,有3D硬體加速;因為我這支的傳感器零件壞了所以自動旋轉無法運作。沒有音效驅動要另外安裝虛擬音效卡。
Microsoft Office (ARM) 正常執行。
Minecraft Java版 (x64) 正常執行。
2. 事前準備#
接下來看看如何安裝至手機,首先準備以下項目:
- 電腦: Windows 11 x86_64
- 手機: 小米Pocophone F1 (beryllium),原廠MIUI(Android 10),已解鎖Bootloader。
- USB Type-C的擴充座(或OTG),用於給手機連接實體鍵盤和滑鼠用。
- 64GB隨身碟
步驟簡介: 解鎖Bootloader → 建立 Windows分區 → 用特製版Windows PE開機,安裝Windows和驅動程式。
- Windows 11 ARM的ISO: 用 UUP DUMP下載。
- Platform Tools (ADB & Fastboot),解壓縮後放到C槽任意位置並加入至PATH環境變數。
- Poco F1的TWRP: 下載最新版
- UEFI開機映像:我的面板是tianma所以下載boot-beryllium-tianma.img
- 驅動程式:下載beryllium.tar.gz,解壓縮後將目錄重新命名為Drivers。
- Windows PE
- DISM++:解壓縮後重新命名為DISM。
- PARTED執行檔
- commands.txt
以上檔案下載好後,解壓縮,在電腦桌面建立
Windows11ARM
目錄,放到裡面。結構應該會長這樣:進入
Drivers
目錄,會看到一個output
目錄。將Windows 11 iso、DISM、commands.txt、output四個項目複製到隨身碟。
3. 在手機上建立Windows分區#
- 手機關機,長按開機+音量下鍵進入fastboot模式,連上電腦。在Windows11ARM目錄右鍵,在此開啟終端機,輸入指令用TWRP開機 (注意: 此TWRP並沒有安裝到手機上)。
fastboot boot twrp-3.6.2_9-0-beryllium.img
- 將parted執行檔複製到手機
adb push parted\parted /sdcard/
- 進入手機的adb shell
adb shell
- 將parted檔複製到sbin目錄,並修改權限
cp /sdcard/parted /sbin/ && chmod 755 /sbin/parted
- 取消掛載data和sdcard
umount /data && umount /sdcard
- 執行parted,進行硬碟分割
parted /dev/block/sda
輸入
p
,畫面上會顯示所有的硬碟分割區。最後一個userdata
是Android的資料位置。接下來要決定給Android分配多少? Windows分配多少? Windows最少要有64GB。縮小userdata的大小,縮小到大約只剩32GB
resizepart 21 32GB
- 建立esp分區(第22號分區),約500MB
mkpart esp fat32 32GB 32.5GB
- 建立Windows分區(第23號分區),也就是剩下的空間,別忘了還要1GB給PE。
mkpart win ntfs 32.5GB 120GB
- 最後是PE分區
#輸入 print free 列出剩餘的空間才能決定要填121GB還是127GB
mkpart pe fat32 120GB 121GB
- 開啟ESP(EFI硬碟分割)並退出,再退出adb shell。
set 22 esp on
quit
exit
手機上TWRP點選Reboot,點選Bootloader,重新開機進fastboot模式
再度用TWRP開機
fastboot boot twrp-3.6.2_9-0-beryllium.img
- 進入adb shell
adb shell
- 格式化以下分割區
mkfs.fat -F32 -s1 /dev/block/by-name/esp
mkfs.ntfs -f /dev/block/by-name/win
mkfs.fat -F32 -s1 /dev/block/by-name/pe
#(選擇性) 清除Android分區的資料
mke2fs -t ext4 /dev/block/by-name/userdata
- 掛載PE分割區,退出adb shell
mount /dev/block/by-name/pe /mnt
exit
- 將以下檔案複製到手機上
adb push PEFiles\boot /mnt
adb push PEFiles\efi /mnt
adb push PEFiles\sources /mnt
adb push PEFiles\bootmgr.efi /mnt
4. 用Windows PE開機安裝Windows 11 ARM#
- 手機上TWRP點選Reboot,點Bootloader,重新開機進fastboot模式,接著用UEFI開機。(新版的若無法使用,請下載舊版)
fastboot flash boot UEFIImages\boot-beryllium.img
fastboot reboot
拔掉USB傳輸線,手機重開機後會進入Windows PE,預設是簡體中文介面,手機要接上滑鼠和鍵盤才能操作。
手機上的命令提示字元開機後會自動開啟。執行以下指令,給第23分區指派Windows磁碟機代號:
diskpart
select disk 0
list part
select part 23
assign letter=Y
exit
#請保持命令提示字元開啟
插上隨身碟,開啟檔案總管,執行隨身碟裡的
Dism++ARM64.exe
點選Accept,點選左上角File → Apply Image ,選擇Windows 11的ISO,勾選Add Boot,再選擇安裝至C槽。
點選OK,就會開始部署Windows。
完成後點選畫面上的Open Session,點選左邊的Drivers
點選右下角Add,選取隨身碟的outputs目錄,開始安裝驅動程式。
回到命令提示字元,開啟隨身碟裡面的
commands.txt
複製以下指令貼上,關閉數位驅動程式簽章。
bcdedit /store Y:\efi\microsoft\boot\bcd /set {Default} testsigning on
bcdedit /store Y:\efi\microsoft\boot\bcd /set {Default} nointegritychecks on
- 重開機
shutdown -s -t 0
- 重開機後大概等個10分鐘,就會進入Windows 11的初始設定畫面了,Wifi正常所以不用擔心網路問題。
5. 後續優化#
因為傳感器無法使用,要到系統設定手動旋轉螢幕。關機的話就點選Windows的關機按鈕。
5.1. 修正觸控問題#
剛裝完Windows還是無法觸控,要手動刷入devcfg。
下載 devcfg,從電腦上用fastboot刷入到手機的devcfg分區。
fastboot flash devcfg_all devcfg-beryllium_FixTS.img
5.2. 安裝64位元OpenGL相容層#
Windows ARM可以轉譯跑x86架構的exe,3D方面也會跟著轉譯。
但若要執行x64版的3D應用程式,就要到 微軟商店安裝OpenGL相容層。微軟承諾日後會逐步改善效能。
5.3. 安裝虛擬音效卡#
Windows 11無法驅動小米Poco F1的喇叭,所以要安裝虛擬音效卡,並使用藍芽或Soundwire來播放音效。
在手機上從 Github的Release頁面下載壓縮檔,解壓縮,右鍵以系統管理員執行ARM64的cmd,安裝虛擬音效卡。
安裝好之後雖然有了音訊裝置,仍無法從手機喇叭播放,請使用藍芽音箱或繼續往下看。
準備一支Android手機,跟Windows連線到同一個Wifi。Windows手機安裝 Soundwire,滑鼠移動到Server Address上面會顯示192.168開頭的區網IP。
在另一部Android手機上安裝 Soundwire APP,輸入Windows手機的區網網路IP,
Windows端會顯示Connected。
手機的SoundWire圖示會發光,接著就會將Windows的音效輸出至Android手機。