wor-flasher 是方便在 Raspbian 下创建树莓派 Windows Arm 系统盘的脚本工具,理论上支持所有 Debian 系发行版,其 UEFI 固件使用了 pftf 的树莓派 3/4 固件
wor-flasher 使树莓派安装 Windows 的操作变得十分简单,此外,通过 wor-flasher 可以直接使用树莓派构建 Windows,无需额外电脑
下文将展示如何使用 wor-flasher 在树莓派上安装 Windows 11(Windows 10 同理)
准备
请仔细阅读本小节内容,树莓派 Windows 的安装过程十分漫长,尽量保证不出现硬件问题以免从头再来
- 树莓派 3/4
- 下文使用树莓派4 8GB 版本
- 安装了 Raspbian 的 microSD 卡
- SD 卡仅用来安装 Raspbian 并运行 wor-flasher 脚本,容量达到 Raspbian 的要求即可
- 一个 U 盘或硬盘
- 用来安装 Windows,容量需要大于 25 GB
- 建议配合 SATA 转 USB 线使用 SSD,U 盘的质量良莠不齐,一些发热、减速 U 盘会使安装过程极其漫长
- 使用硬盘时,请确保转接线是 SATA 直接转 USB,硬盘盒可能无法安装,因为分区表可能会无法写入磁盘
- 使用 HDD 时,即使是 2.5 寸也建议连接独立电源,HDD 的 USB 供电会影响树莓派本身的供电电压,会造成树莓派电压不足
- HDMI线,显示器,电源,键盘和鼠标
参考
步骤
将 SD 卡插入树莓派,上电开机进入 Raspbian
更新 EEPROM
打开终端,执行
sudo rpi-eeprom-update sudo rpi-eeprom-update -a reboot
获取 wor-flasher
git clone https://github.com/Botspot/wor-flasher
安装 Windows Arm
将 U 盘/硬盘插入树莓派
安装时需要连接 worproject.ml 下载文件,确保树莓派可以连接此网站
- 进入 wor-flasher 根目录,执行 install-wor.sh 脚本
cd wor-flasher ./install-wor.sh
也可以使用 GUI 版本
./install-wor-gui.sh
GUI 版本只是给 CLI 加了几个对话框,后端仍是一个执行 CLI 版本的 shell
下文演示为 CLI 版本 - 跟随安装过程,期间会要求选择
- 安装的 Windows 版本
- Windows 语言、树莓派版本、安装磁盘
- 安装模式——第一种安装方式需要至少 25 GB 空间,脚本将安装程序写入 U 盘/硬盘,安装包再将 Windows 安装在本磁盘上;第二种安装方式需要至少 7 GB 空间,脚本将安装程序写入 U 盘/硬盘,安装程序将 Windows 安装到其他大小在 16GB 以上的磁盘中(需要额外的磁盘)
- 安装的 Windows 版本
- 等待写入完毕,关闭树莓派,关闭电源,拔掉 SD 卡,接入电源重启树莓派
- 写入过程中耗时的部分主要在下载文件,文件下载完毕后的处理过程耗时比较短
配置 UEFI
以下内容忘记拍照,会尽力描述得准确一些
开机后,屏幕会显示树莓派 Logo,此时按下 ESC 键进入 UEFI 设置界面(开机后反复按 ESC)
进入 Device Manager -> Raspberry Pi Configuration -> Display Configuration 选中 720p,取消选中 Native resolution,ESC 返回上级菜单
进入 Advanced Configuration,关闭 Limit RAM to 3 GB,按 ESC 两次,按 Y 保存设置,按 ESC 直到回到主菜单
选择 Continue,按下 Y 确认重启树莓派使设置生效
Windows 安装
重启后树莓派会自动启动 Windows 安装程序,跟随安装程序即可,重启后即可开始体验 Windows on Arm
找不到安装磁盘的解决方法
写在末尾是因为 wor-flasher 在未来可能会修复这个错误,如果进行以上步骤后可以顺利安装,则可以忽略本节
症状
Windows 安装程序加载完(三个)驱动后会寻找安装介质磁盘,这时弹出错误对话框,提示“找不到安装介质磁盘(Couldn't find the installation disk!)”,与此伴随的是键盘鼠标失灵无法操作,只能拔电源线关机
原因
wor-flasher 为了适配旧版树莓派 4 以及 旧版 EEPROM,针对树莓派 4 使用了旧的 UEFI 固件(见 commit)1.28
但是一些新的树莓派 4 和更新了新版 EEPROM 的树莓派使用 1.28 固件会出现问题,找不到安装介质就是其中一个
解决方法
参见 wor-flasher 的 issue 28,我在其中提到了临时解决方法,因为每个人手中的 RPi 4 的版本不同,EEPROM 的版本也不同,暂时不知道作者是否会着手解决这个问题
编辑 install-wor.sh 脚本,搜索 “use the older version”,将搜索结果下一行的 URL 字符串中的 1.28 全部更改为 1.30(如果后续 UEFI 固件有新的版本可以尝试使用最新版),如下图
这样 wor-flasher 在安装时会自动下载 1.30 版本的 UEFI 固件,1.30 版本是可以检测到磁盘的
效果
缅怀
贺新郎·读史
人猿相揖别。
只几个石头磨过,
小儿时节。
铜铁炉中翻火焰,
为问何时猜得?
不过几千寒热。
人世难逢开口笑,
上疆场彼此弯弓月。
流遍了,
郊原血。
一篇读罢头飞雪,
但记得斑斑点点,
几行陈迹。
五帝三皇神圣事,
骗了无涯过客。
有多少风流人物?
盗跖庄蹻流誉后,
更陈王奋起挥黄钺。
歌未竟,
东方白。