在树莓派上安装Windows 10 arm64版

前言

最近在群上看到有在树莓派上安装Windows arm64版本的消息,就去找了一下,然后就找到了安装方式

准备

下载UEFI引导https://github.com/andreiw/RaspberryPiPkg

下载驱动https://github.com/andreiw/rpi3winstuff

下载Windows安装镜像https://gitlab.com/uup-dump/uupdl

准备一张最小为16G的SD卡,使用MBR分区表,分为两个区,一个Boot加一个系统分区即可

下载Windows安装镜像

直接打开uupdl的批处理文件,R,R,A,选择语言和操作版本即可开始下载,下载完成后为ESD格式,存放在uup文件夹里,使用其他方法转换成wim格式即可

为镜像整合驱动

首先创建一个临时目录用来存储系统文件,里面包含install.wim镜像,包含驱动的文件夹,和一个空文件夹

然后以管理员身份打开cmd,切换到此目录后输入

1
dism /get-wiminfo /wimfile:wim文件名

输出应该是这样的

然后输入

1
dism /mount-image /imagefile:wim文件名 /index:索引后面的数字,多版本需要在此指定 /mountdir:空文件夹名

这一步需要的时间会很长,请耐心等待

完成后会输出这些内容,同时文件夹中会出现Windows镜像的文件

接下来集成驱动,输入

1
dism /add-driver /image:上一步释放镜像的文件夹 /add-driver /driver:驱动所在的文件夹 /recurse /forceunsigned

然后会提示这个,就代表整合成功了

最后是卸载并保存镜像

1
dism /unmount-wim /mountdir:镜像被释放的文件夹 /commit

这一步同样需要很久,这样就算是准备完成了

安装系统

首先,把uefi引导的文件放到SD卡的Boot分区里,必须选用标注了WoA-17125-only的引导文件

然后在cmd中输入

1
dism /apply-image /imagefile:wim文件名 /index:上面使用的索引数字 /applydir:系统分区的盘符

这一步需要的时间极长,请耐心等待。等待出现这样的提示就算部署完成了

创建引导文件

cmd中输入

1
bcdboot 系统所在盘符\Windows /s Boot盘符 /f UEFI

完成后会提示”已成功创建启动文件”

然后输入这两条命令

1
2
bcdedit /store Boot盘符:\EFI\Microsoft\Boot\bcd /set {default} testsigning on
bcdedit /store Boot盘符:\EFI\Microsoft\Boot\bcd /set {default} nointegritychecks on

最后的准备

创建一个注册表文件,内容为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\State]
"ImageState"="IMAGE_STATE_COMPLETE"

[HKEY_LOCAL_MACHINE\SYSTEM\Setup]
"SetupPhase"=dword:00000000
"SetupType"=dword:00000000
"OOBEInProgress"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\ChildCompletion]
"oobeldr.exe"=dword:00000003
"SetupFinalTasks"=dword:00000003

[HKEY_LOCAL_MACHINE\SYSTEM\Setup\Timers\OobeBootPerf]
"StartLow"=dword:ee3f4a6f
"StartHigh"=dword:01d16b34
"StopLow"=dword:aa04f836
"StopHigh"=dword:01d16b35

[HKEY_LOCAL_MACHINE\SYSTEM\Setup\Timers\OobeCmdPerf]
"StartLow"=dword:0841a3a7
"StartHigh"=dword:01d16b35
"StopLow"=dword:956f7fdf
"StopHigh"=dword:01d16b35

[HKEY_LOCAL_MACHINE\SYSTEM\Setup\Timers\OobeExePerf]
"StartLow"=dword:0846686d
"StartHigh"=dword:01d16b35
"StopLow"=dword:aa02967b
"StopHigh"=dword:01d16b35

将此文件放入SD卡的系统分区备用

开机

从此阶段开始,不再提供截图

将SD卡插入树莓派,直接开机,过程中不要连接任何USB设备,包括键盘和鼠标

启动时间很长,请耐心等待

在这期间会报错,连接键盘,按下shift+f10打开cmd,切换到注册表所在目录,使用regedit导入注册表文件,并解锁Administrator用户,最后重启即可

1
2
3
regedit file.reg
net user Administrator /active:yes
shutdown /r /t 0

重启可能会卡住,这个和usb驱动有关,尝试拔插几次usb设备就可以正常重启了

最后就可以正常进入系统了

注意事项

  1. UEFI的SD卡驱动并不完善,速度不是很可观
  2. USB驱动同样不完善,U盘之类的会导致系统蓝屏
  3. 因为第二点,所以想要往系统里添加文件需要提前塞进SD卡
  4. 没有声音,没有网络,没有显卡,全是因为没有驱动