MIX2S刷入windows教程

硬件准备

  • 一台解锁BootLoader,并且刷入TWRP的手机。兼容的设备列表

  • OTG转接线

  • USB键鼠

  • U盘(exFAT或者FAT32格式)

软件获取

parted

i> 用于给手机闪存手动分区

GDrive | 微云

PE系统

i> 用于安装Windows11

GDrive | 微云

Dism++

i> 用于释放Windows11镜像

官网下载 | 微云

WOA 驱动包

i> 不打的话无法使用USB、WiFi和蓝牙

(推荐) 官方下载站
edk2-porting/WOA-Drivers

Windows10 Arm64 镜像

i> 由于Win11还在内测阶段,没有镜像发布,所以只能采用UUP的方法生成镜像文件。

Windows镜像
uupdump.net

适用于845的UEFI引导镜像

i> 用于引导Windows启动

(推荐) 官方下载站
edk2-porting/edk2-sdm845/releases

下载的对应设备代号的文件即可,比如Mix2S的代号是polaris,就下载boot-polaris.img

操作步骤

!> 本文的操作有一定砖机的风险,请谨慎操作,后果自负

准备U盘

U盘内容

U盘内需要存放如下文件:

  1. Dism++
  2. WOA驱动包使用脚本解包后的output文件夹
  3. winpe.7z解压后的整个文件夹
  4. Windows11Arm镜像

i> 建议使用exFat格式,不然可能放不下完整的Windows镜像。

拷贝工具

# 第一个参数是当前电脑上parted文件的路径
adb push parted /sbin/

然后打开ADB Shell,在shell里操作

adb shell
chmod 755 /sbin/parted

取消挂载DATA

在TWRP->挂载 中,取消勾选 Data

然后在ADB Shell中取消挂载ufs:

umount /data
umount /sdcard

命令df -h可以查看挂载的项目,如果看不到/data说明取消挂载成功,可以进行下一步操作了。

polaris:/ # df -h
Filesystem     Size  Used Avail Use% Mounted on
tmpfs          2.7G  288K  2.7G   1% /dev
tmpfs          2.7G     0  2.7G   0% /mnt
tmpfs          2.7G   28K  2.7G   1% /tmp

手动创建PE分区

x> 此步操作会清空UFS中的内容,请提前备份!

输入命令parted /dev/block/sda,进入parted的交互命令行。

polaris:/sbin # parted /dev/block/sda
GNU Parted 3.2
Using /dev/block/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

看到命令提示符变成(parted),就说明成功了。

命令print可以查看当前分区表,下面是我的设备的输出,仅供参考。

(parted) print
Model: TOSHIBA THGAF4G9N4LBAIRB (scsi)
Disk /dev/block/sda: 59.1GB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name        Flags
 1      24.6kB  41.0kB  16.4kB               switch
 2      41.0kB  73.7kB  32.8kB               ssd
 3      73.7kB  524kB   451kB                bk01
 4      524kB   786kB   262kB                bk02
 5      786kB   1049kB  262kB                bk03
 6      1049kB  1573kB  524kB                keystore
 7      1573kB  2097kB  524kB                frp
 8      2097kB  4194kB  2097kB               bk04
 9      4194kB  8389kB  4194kB               misc
10      8389kB  16.8MB  8389kB               logfs
11      16.8MB  33.6MB  16.8MB               oops
12      33.6MB  50.3MB  16.8MB               devinfo
13      50.3MB  67.1MB  16.8MB               bk05
14      67.1MB  134MB   67.1MB  ext4         persist
15      134MB   201MB   67.1MB  ext4         persistbak
16      201MB   268MB   67.1MB               logdump
17      268MB   403MB   134MB                minidump
18      403MB   1275MB  872MB   ext4         cust
19      1275MB  1342MB  67.1MB               recovery
20      1342MB  1611MB  268MB   ext4         cache
21      1611MB  59.1GB  57.5GB  ext4         userdata

第一列代表分区号,倒数第二列是分区名称,我们需要操作的是userdata分区,记下它的编号21

如果想要保留原来系统的数据,可以使用resizepart裁剪该分区,如果不打算用安卓了,就直接用rm命令删除该分区。

我使用第二个方法,输入rm + 分区编号删除分区(我的是21)。

(parted) rm 21

然后创建ESPMSR分区。

最后两个参数是分区的起始位置和结束位置,起始位置填上一个分区的结束位置就行,结束位置根据你想给这个分区多大空间决定。
一般给ESP分配500MB就够了,给PE分区预留4GB左右即可,剩下的空间用来留给Windows系统和原来的userdata分区。

我的手机内置空间64GB,留了800MB给ESP分区,留了40GB左右给Windows系统,留了4GB左右给PE系统,剩下7GB左右给安卓系统。

mkpart esp fat32 1611MB 2500MB
mkpart win ntfs 2500MB 46GB
mkpart pe fat32 46GB 50GB
mkpart userdata ext4 50GB 57.5GB

i> 把PE分区创建在WIN分区后面方便装好系统以后回收空间

(parted) print
Model: TOSHIBA THGAF4G9N4LBAIRB (scsi)
Disk /dev/block/sda: 59.1GB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name        Flags
 1      24.6kB  41.0kB  16.4kB               switch
 2      41.0kB  73.7kB  32.8kB               ssd
 3      73.7kB  524kB   451kB                bk01
 4      524kB   786kB   262kB                bk02
 5      786kB   1049kB  262kB                bk03
 6      1049kB  1573kB  524kB                keystore
 7      1573kB  2097kB  524kB                frp
 8      2097kB  4194kB  2097kB               bk04
 9      4194kB  8389kB  4194kB               misc
10      8389kB  16.8MB  8389kB               logfs
11      16.8MB  33.6MB  16.8MB               oops
12      33.6MB  50.3MB  16.8MB               devinfo
13      50.3MB  67.1MB  16.8MB               bk05
14      67.1MB  134MB   67.1MB  ext4         persist
15      134MB   201MB   67.1MB  ext4         persistbak
16      201MB   268MB   67.1MB               logdump
17      268MB   403MB   134MB                minidump
18      403MB   1275MB  872MB   ext4         cust
19      1275MB  1342MB  67.1MB               recovery
20      1342MB  1611MB  268MB   ext4         cache
21      1611MB  2500MB  889MB   fat32        esp
22      2500MB  46.0GB  43.5GB  ntfs         win
23      46.0GB  50.0GB  4000MB  fat32        pe
24      50.0GB  57.5GB  7499MB  ext4         userdata

然后我们需要给ESP分区添加一个FLAG

#添加esp标记,21是ESP分区的编号
set 21 esp on
(parted) print
Model: TOSHIBA THGAF4G9N4LBAIRB (scsi)
Disk /dev/block/sda: 59.1GB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name        Flags
 1      24.6kB  41.0kB  16.4kB               switch
 2      41.0kB  73.7kB  32.8kB               ssd
 3      73.7kB  524kB   451kB                bk01
 4      524kB   786kB   262kB                bk02
 5      786kB   1049kB  262kB                bk03
 6      1049kB  1573kB  524kB                keystore
 7      1573kB  2097kB  524kB                frp
 8      2097kB  4194kB  2097kB               bk04
 9      4194kB  8389kB  4194kB               misc
10      8389kB  16.8MB  8389kB               logfs
11      16.8MB  33.6MB  16.8MB               oops
12      33.6MB  50.3MB  16.8MB               devinfo
13      50.3MB  67.1MB  16.8MB               bk05
14      67.1MB  134MB   67.1MB  ext4         persist
15      134MB   201MB   67.1MB  ext4         persistbak
16      201MB   268MB   67.1MB               logdump
17      268MB   403MB   134MB                minidump
18      403MB   1275MB  872MB   ext4         cust
19      1275MB  1342MB  67.1MB               recovery
20      1342MB  1611MB  268MB   ext4         cache
21      1611MB  2500MB  889MB   fat32        esp         boot, esp
22      2500MB  46.0GB  43.5GB  ntfs         win
23      46.0GB  50.0GB  4000MB  fat32        pe
24      50.0GB  57.5GB  7499MB  ext4         userdata

可以看到Flags列出现了boot, esp字样。

因为分区改变了,我们需要重启TWRP。

接着进入ADB Shell,手动格式化新分区

#格式化esp分区
mkfs.fat -F32 -s1 /dev/block/by-name/esp
#格式化win分区
mkfs.ntfs -f /dev/block/by-name/win
#格式化pe分区
mkfs.fat -F32 -s1 /dev/block/by-name/pe
#格式化userdata分区
mke2fs -t ext4 /dev/block/by-name/userdata
polaris:/ # mkfs.fat -F32 -s1 /dev/block/by-name/esp
mkfs.fat 3.0.28 (2015-05-16)

polaris:/ # mkfs.ntfs -f /dev/block/by-name/win
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.

polaris:/ # mkfs.fat -F32 -s1 /dev/block/by-name/pe
mkfs.fat 3.0.28 (2015-05-16)

polaris:/ # mke2fs -t ext4 /dev/block/by-name/userdata
mke2fs 1.43.3 (04-Sep-2016)
Discarding device blocks: done
Creating filesystem with 1830912 4k blocks and 457856 inodes
Filesystem UUID: 94797801-e4fd-43a2-966a-7d01da72684f
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

刷入PE

把之前下载的winpe.7z,解压后把文件夹复制到U盘里,用OTG线接到手机上。

然后在TWRP -> 挂载里勾选USB-OTG

因为没法使用ADB Shell了,所以下面的命令在TWRP的终端里执行(高级 -> 终端命令

#挂载PE分区到/mnt目录下
mount /dev/block/by-name/pe /mnt

#拷贝PE系统到PE分区
cp -r /usb_otg/winpe/* /mnt

i> 不同手机、不同TWRP版本下,OTG设备挂载的位置可能有所不同

然后重启进入fastboot(TWRP → 重启 → BootLoader)
或者关机后长按电源键 + 音量-,也可以进入fastboot

在PE系统中安装Windows11

i> 如果此步操作有误,无法引导进Windows或者PE系统,重新进TWRP,然后格式化win和esp分区,就可以重新进入PE了,命令参考上一步。

手机进入fastboot以后,用数据线连接电脑,然后执行命令

#boot镜像名根据实际情况修改
fastboot boot .\boot-polaris.img
>fastboot boot ./boot-polaris.img
Sending 'boot.img' (1488 KB)                       OKAY [  0.037s]
Booting                                            OKAY [  0.067s]
Finished. Total time: 0.113s

看到手机上出现Renegade Project字样,等待片刻,即可进入PE系统。

!> 请不要关闭PE系统的控制台,关掉以后会直接关机。

大部分操作需要在控制台中执行,使用OTG转接线接一块键盘操作。

diskpart

先进入diskpart,然后等待命令提示符变成DISKPART>再进行下一步

#选择磁盘
select disk 0
#查看分区
list part

分区信息

这里输出的分区信息和parted输出的差不多,我们要找到ESP分区,类型为系统,我的手机上是第21号。

#选择分区(21根据实际情况修改)
select part 21
#分配驱动器号为Y
assign letter=Y

装载ESP分区

然后退出diskpart,控制台千万不要关闭

#退出diskpart
exit

然后打开资源管理器,在U盘里打开Dism++(后缀带Arm86的那个)

左上角文件 -> 释放映像,如图操作

释放映像1

释放映像2

释放映像3

接下来需要等它完成。

释放完成

点一下打开会话,然后左侧选择驱动管理,右下角添加驱动

添加驱动

驱动文件夹选择U盘内的output文件夹

添加驱动成功

如果添加以后出现了驱动(数量可能不一样,没关系),就说明成功了

然后需要禁用驱动签名,在控制台执行命令

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

到这里Windows11已经装好了,重新进入Fastboot重新引导应该就能进入WIndows11

如果遇到蓝屏不要怕,关机后重新引导即可

如果卡在Renegade Project引导屏幕,并且出现报错提示,可能是驱动签名没关,需要重新来过

如果能成功进入系统,但是USB不识别,可能是没有打驱动包,也需要重新来过(也有可能是设备兼容性问题)

i> 如果一切正常,不再需要PE了,可以在磁盘管理中,删掉PE分区,然后扩展C盘即可

3 Likes

感谢老哥,终于等到了教程,过几天就开整👍

1 Like

问一下大神 留下的userdata分区还能装安卓系统吗 正常卡刷就可以吗

1 Like

可以,userdata只是用户数据,原来的安卓系统还在的,相当于重置系统了。

1 Like

明白了 谢谢大神回复 :nerd_face:

1 Like

请问一下,我安装了最新驱动,USB可用,蓝牙能搜到并连接设备,但马上就变成已配对状态,无法再次连接。
最关键WIFI,设备管理器里面显示WAN Miniport,但是设置和网络适配器里都没有WLAN选项。
请问如何才能是它们正常工作,谢谢!

1 Like

要上网的话要么用USB有线网卡,要么用另一台手机开USB网络共享,要么连接另一台手机的蓝牙,然后打开蓝牙网络共享,最后在Windows上托盘区域的蓝牙图标右键,打开个域网。

1 Like

你说的这些我知道,我是想问你说不打的话无法使用USB、WiFi和蓝牙,请问你的WiFi能用吗?

1 Like

不能

1 Like

好的,谢谢,还以为我哪儿出错了

1 Like

老哥,这个win11咋看充电状态啊,右下角状态栏都没有电池相关了

1 Like

暂不支持

1 Like

好的吧,那充电还是正常的吧?老哥有没有在用hub?我手上这个飚王的连上去用不了,USB和网卡都不行,另一个只有pd充电和usb口的却能用,郁闷了

1 Like

充电只有5v 0.3A,充电速度感人

1 Like

我这能达到8.35v0.47a,总共4w,维持系统常开没问题,就是HUB用不了,头疼,JD个有线网卡试试,不行再说。啥时候有wifi驱动啊

1 Like

好像已经有了。

1 Like

after flash windows 11 on my polaris,my phone so hot on running windows 11 can you help me @ccccccccchr

1 Like

Due to driver problems, it is recommended that you temporarily use dism++ to delete the qcadc850.inf driver in the system and restart it, which can reduce the CPU usage rate by up to 20%

This is the offical notice.

3 Likes

老哥,是不是触屏可以用了?我更新了一下驱动没反应啊 :sweat_smile:

Release Version 1.0 · edk2-porting/edk2-sdm845 (github.com)
去读一下,往下拉,不要开翻译 :sweat_smile:
另:你不会没更新UEFI吧