Raspberry Pi 4B 8GB でWindows10 Arm版はSSDから起動可能か　試行錯誤メモ

#はじめに
初投稿です。拙い&Qiitaに慣れていないことにはご了承をいただけると幸いです。
ではまずは事のいきさつから。

##背景
・放送機材（オーディオコンポ）近くにおいてある何かしらのWinPCにリモートデスクトップで接続して、Youtube、インターネットラジオなどでどこからでも音楽を流したい/流れている音楽を切り替えたい
・PCはWindowsしか使いたくない
・それだけ（音楽再生）のためにPC1台買うのは馬鹿らしい、予算は約3万
・せっかくだし何か新しいことに挑戦したい

という動機・背景のもと、せっかくRaspberryPiの8GB版が発売されたことだし、Windows10が動くらしいと風のうわさで聞いたし、やってみるか。
というところがスタートです（プロトタイプとして、RaspberryOSにVNC鯖、Nginx鯖を立ててウェブ上でNoVNCでYoutube等見れるようにしたが不評だったためWin10で再スタート）

##用意したもの
・Raspberry Pi 4B 8GBモデル
・Kingston　480GB　2.5インチSSD
・UGREEN　　SATA-USB3.0　変換ケーブル
・（念の為）USBフラッシュメモリ
・かっこいい冷却性能ちゃんとしてそうなRaspberry Piケース

RasPiの電源とかもろもろも買って計2.5万ほど。LENOVOの価格.com週末セールで3万ちょっとでThinkPadE495やThinkCentreM75qを買うのよりは安い（手間と安定性を考えると間違いなく後者がいいだろう）。

##ぱぱっと調べていくと分かったこと
・Raspberry Pi 3BでもWORというツールを使ってWin10を起動することができるらしい。
・Raspberry Pi 4B のEEPROMを書き換えて最新版にすることで、USB外付け機器から起動ができるようだ
・SSDからRaspberryPi OSを起動している人もいる

あわせればWin10をRaspberryPi 4BでSSDから起動できるじゃん。

#とりあえずEEPROM書き換えとSSD起動のテスト
今のバージョン確認
`uname -a`

アプデしとく
`apt update`
`apt full-upgrade`

バージョンアップ確認で見に行く先をcriticalからbetaに書き換え
`sudo sed -i /etc/default/rpi-eeprom-update -e "s/beta/critical/"`

EEPROMの書き換え
`sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/stable/pieeprom-2020-ほげほげ.bin`
事前にディレクトリの中身をのぞいて一番新しいやつを選択

確認
`vcgencmd bootloader_version`

再起動
`sudo reboot now`

USBをBOOTデバイスとして選択して、再起動（省略）
`sudo raspi-config`　から　`3 Boot Options`からUSBのやつを選ぶ（うろ覚え）

パソコンでRaspberryPi ImagerなりEtcherなりイメージライターでRaspberryOSをUSBフラッシュメモリ/SSDに書き込んでそれぞれ起動できるかテスト
**→できる！**

#Windows起動にむけての準備
いろいろと用意する

||リンク|
| :-- | :-: | --: |
|WOR(書き込みアプリ)|https://www.worproject.ml/|
|Win10 ARMのイメージのダウンロード|https://uupdump.ml/|
|Win10 ARMのイメージダウンロード（代替）|https://uup.rg-adguard.net/|

今回選択したイメージは、
19042.541_arm64（とりあえず最新版は試してみたいよね）
19041.508.200905（19041なら動くよってWORに書いてあった。）
19041.330_arm64（330はいい感じって参考にしたページに書いてあった。）
の3つ。

#焼いて起動テスト
WORをインスコしてUSB、SSDに焼いて起動できるか試してみる。
起動にも起動してからもかなり時間がかかるから忍耐が必要。
結果…SSDはどれも起動せず、USBフラッシュからはすべて起動できる。

他のサイトにて紹介されていたUSBキーボードやマウスが反応しないトラブルなども特になく、
普通にRaspberryPi のUSBポートにマウス/キーボードを接続して作業できる。
なお、メモリは8GB載っているにも関わらず、OS上では3GBの制限がBIOS設定でかかっている様子。
起動時にBIOSメニューからRaspberry Pi Configurationを選択し、メモリ3GB制限を解除できるが、解除した上でWindowsを起動して何かアプリを立ち上げるとクラッシュすることを確認済み。3GB以上は使ってはならないのか…

USBフラッシュメモリで起動できることは分かって嬉しかったが、やはりSSDから起動したい。
・SDカードにブートローダーのみを書き込み、OS起動はSSDから行う
・今まではWOR標準のMBRで書き込んでいたが、GPTパーティションで書き込んでみる

を試したがうまく行かないようだ。ここまでに十分程WORでSSDにイメージを焼いて、また10分ほどRaspberry Piで起動するのを待って…　ということを繰り返すこと10回以上、気力がゴリゴリと削れていく。もうUSBメモリからの起動でよくね？

#結論と今後
結論：SATA-USB3.0変換ケーブルを使った上で、SSDからは**起動できませんでした。**
　　　USBフラッシュメモリからなら**起動できました。※ただし重い…**

今後機会があったら試したいこと
1. Raspberry Pi正面のUSBポートではなく、電源を繋いでいるUSB TypeCポートにノーパソ用のアダプターを噛ませてSSDを接続してみる
2. WORもしくはWORで使用されるドライバーが更新されるのを待つ
3. 違うメーカーのSATA-USB3.0変換ケーブル、SSDを使用してみる

以上、いささか残念な結果となってしまった。
半年後くらいにもう一度チャレンジしてみようと思います。


##参考にさせていただいたサイト
>https://kowaza.blue/post-118/
>https://pc-freedom.net/microsoft/windows/installed-windows-arm-on-raspberry-pi-part1/
>https://www.youtube.com/watch?v=gKzMjNSjPt4
>https://www.youtube.com/watch?v=5BNzuGHm2DI
>https://raspberrypi.mongonta.com/howto-install-windows10-on-arm-for-raspberrypi-with-usbhdd/
>http://www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi_4_eeprom_firm_update/
>https://qiita.com/tkyonezu/items/6c2a4638e3b8aee390e2
>https://jamesachambers.com/raspberry-pi-4-usb-boot-config-guide-for-ssd-flash-drives/