快轉到主要內容

小米Poco F1:Android手機安裝Windows 11 ARM教學

分類   智慧型手機 Root與刷機
標籤   Xiaomi Windows on ARM
🗓️ 民國111年 壬寅年
✍ 切換正體/簡體字
目錄

本文先概覽小米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和驅動程式。

  1. 解鎖手機Bootloader鎖: 插入SIM卡綁定手機,到 小米官網申請解鎖

  2. 然後下載以下檔案 (部份檔案由 MRMRR提供)

  1. 以上檔案下載好後,解壓縮,在電腦桌面建立Windows11ARM目錄,放到裡面。結構應該會長這樣:

  2. 進入Drivers目錄,會看到一個output目錄。

  3. 將Windows 11 iso、DISM、commands.txt、output四個項目複製到隨身碟。

3. 在手機上建立Windows分區
#

  1. 手機關機,長按開機+音量下鍵進入fastboot模式,連上電腦。在Windows11ARM目錄右鍵,在此開啟終端機,輸入指令用TWRP開機 (注意: 此TWRP並沒有安裝到手機上)。
fastboot boot twrp-3.6.2_9-0-beryllium.img
  1. 將parted執行檔複製到手機
adb push parted\parted /sdcard/
  1. 進入手機的adb shell
adb shell
  1. 將parted檔複製到sbin目錄,並修改權限
cp /sdcard/parted /sbin/ && chmod 755 /sbin/parted
  1. 取消掛載data和sdcard
umount /data && umount /sdcard
  1. 執行parted,進行硬碟分割
parted /dev/block/sda
  1. 輸入p,畫面上會顯示所有的硬碟分割區。最後一個userdata是Android的資料位置。接下來要決定給Android分配多少? Windows分配多少? Windows最少要有64GB。

  2. 縮小userdata的大小,縮小到大約只剩32GB

resizepart 21 32GB
  1. 建立esp分區(第22號分區),約500MB
mkpart esp fat32 32GB 32.5GB
  1. 建立Windows分區(第23號分區),也就是剩下的空間,別忘了還要1GB給PE。
mkpart win ntfs 32.5GB 120GB
  1. 最後是PE分區
#輸入 print free 列出剩餘的空間才能決定要填121GB還是127GB
mkpart pe fat32 120GB 121GB
  1. 開啟ESP(EFI硬碟分割)並退出,再退出adb shell。
set 22 esp on
quit
exit
  1. 手機上TWRP點選Reboot,點選Bootloader,重新開機進fastboot模式

  2. 再度用TWRP開機

fastboot boot twrp-3.6.2_9-0-beryllium.img
  1. 進入adb shell
adb shell
  1. 格式化以下分割區
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
  1. 掛載PE分割區,退出adb shell
mount /dev/block/by-name/pe /mnt
exit
  1. 將以下檔案複製到手機上
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
#

  1. 手機上TWRP點選Reboot,點Bootloader,重新開機進fastboot模式,接著用UEFI開機。(新版的若無法使用,請下載舊版)
fastboot flash boot UEFIImages\boot-beryllium.img
fastboot reboot
  1. 拔掉USB傳輸線,手機重開機後會進入Windows PE,預設是簡體中文介面,手機要接上滑鼠和鍵盤才能操作。

  2. 手機上的命令提示字元開機後會自動開啟。執行以下指令,給第23分區指派Windows磁碟機代號:

diskpart
select disk 0
list part
select part 23
assign letter=Y
exit
#請保持命令提示字元開啟
  1. 插上隨身碟,開啟檔案總管,執行隨身碟裡的Dism++ARM64.exe

  2. 點選Accept,點選左上角File → Apply Image ,選擇Windows 11的ISO,勾選Add Boot,再選擇安裝至C槽。

  3. 點選OK,就會開始部署Windows。

  4. 完成後點選畫面上的Open Session,點選左邊的Drivers

  5. 點選右下角Add,選取隨身碟的outputs目錄,開始安裝驅動程式。

  6. 回到命令提示字元,開啟隨身碟裡面的commands.txt複製以下指令貼上,關閉數位驅動程式簽章。

bcdedit /store Y:\efi\microsoft\boot\bcd /set {Default} testsigning on
bcdedit /store Y:\efi\microsoft\boot\bcd /set {Default} nointegritychecks on
  1. 重開機
shutdown -s -t 0
  1. 重開機後大概等個10分鐘,就會進入Windows 11的初始設定畫面了,Wifi正常所以不用擔心網路問題。

5. 後續優化
#

因為傳感器無法使用,要到系統設定手動旋轉螢幕。關機的話就點選Windows的關機按鈕。

5.1. 修正觸控問題
#

  1. 剛裝完Windows還是無法觸控,要手動刷入devcfg。

  2. 下載 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來播放音效。

  1. 在手機上從 Github的Release頁面下載壓縮檔,解壓縮,右鍵以系統管理員執行ARM64的cmd,安裝虛擬音效卡。

  2. 安裝好之後雖然有了音訊裝置,仍無法從手機喇叭播放,請使用藍芽音箱或繼續往下看。

  3. 準備一支Android手機,跟Windows連線到同一個Wifi。Windows手機安裝 Soundwire,滑鼠移動到Server Address上面會顯示192.168開頭的區網IP。

  4. 在另一部Android手機上安裝 Soundwire APP,輸入Windows手機的區網網路IP,

  5. Windows端會顯示Connected。

  6. 手機的SoundWire圖示會發光,接著就會將Windows的音效輸出至Android手機。

相關文章

[Root] Termux:以原生效能在Android手機上跑Docker (紅米Note 5)
分類   智慧型手機 Root與刷機
標籤   Termux Android Linux Kernel Docker Xiaomi
用Docker容器在Android手機跑32位元Ubuntu容器,執行Windows exe
分類   智慧型手機 Root與刷機
標籤   Wine Docker Box86 Box64
初探Ubuntu Touch:紅米Note 5 + Android雙重開機
分類   智慧型手機 真Linux手機
標籤   Ubuntu Touch Xiaomi Android

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。