以前から Windows 10 IoT は Raspberry Pi 2 をサポートしていましたが、IoT 版ではない Windows 10 が Raspberry Pi 3 にインストールできるようになったと聞いたので、試してみました。
目次
はじめに:
Raspberry Pi は Arm なので、もちろん Arm64 版 Windows 10 です。
Arm64 版 Windows 10 では、Arm64 のアプリケーションはもちろん x86 のアプリケーションも動作します。(x86 はエミュレーション) ただし、x64 のアプリケーションは動作しません。
対応しているのは Raspberry Pi 3 model B または B+ です。(Raspberry Pi 4 や 3 model A は不明)
今回試しにインストールした Raspberry Pi は Pi 3 model B です。
ストレージは 16GB だと厳しい ということだったので 32GB の microSDHC にしました。また、アプリケーションパフォーマンスクラス 1 (A1) に対応したものという指定だったので、SanDisk の A1 の microSDHC にしました。
Windows on Raspberry imager:
今回インストール方法は詳しく説明しませんが、Windows 10 が動いている PC(x64) で Windows on Raspberry imager を使ってブート SD カードを作成します。(次回以降で紹介します。)
スナップショット:
いくつかスナップショットを撮ってみました。
システム
ARMv8 1.20GHz 4プロセッサ、メモリ約1GBであることが確認できます。
デバイスマネージャー
ここでも4プロセッサであることが確認できます。ドライバ未対応のため、不明なデバイスもいくつかあります。Bluetooth、無線LAN は非サポートのようです。
タスクマネージャー
特に負荷をかけているわけでもないですが、CPU、メモリ、ディスクの使用率が高くなっています。
DirectX
DirectX 12 ですが、GPU はサポートされていないので、ソフトウェア実装になります。
Direct3D はもちろん DirectDraw すら使用できません。
システムの要約
環境変数:
環境変数は以下のような値が設定されていました。
ALLUSERSPROFILE=C:\ProgramData APPDATA=C:\Users\user\AppData\Roaming CommonProgramFiles=C:\Program Files\Common Files CommonProgramFiles(Arm)=C:\Program Files (Arm)\Common Files CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files CommonProgramW6432=C:\Program Files\Common Files COMPUTERNAME=DESKTOP-L5QNMQB ComSpec=C:\Windows\system32\cmd.exe DriverData=C:\Windows\System32\Drivers\DriverData HOMEDRIVE=C: HOMEPATH=\Users\user LOCALAPPDATA=C:\Users\user\AppData\Local LOGONSERVER=\\DESKTOP-L5QNMQB NUMBER_OF_PROCESSORS=4 OneDrive=C:\Users\user\OneDrive OS=Windows_NT Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Users\user\AppData\Local\Microsoft\WindowsApps PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC PROCESSOR_ARCHITECTURE=ARM64 PROCESSOR_IDENTIFIER=ARMv8 (64-bit) Family 8 Model D03 Revision 4, ARM PROCESSOR_LEVEL=3331 PROCESSOR_REVISION=0004 ProgramData=C:\ProgramData ProgramFiles=C:\Program Files ProgramFiles(Arm)=C:\Program Files (Arm) ProgramFiles(x86)=C:\Program Files (x86) ProgramW6432=C:\Program Files PROMPT=$P$G PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules PUBLIC=C:\Users\Public SystemDrive=C: SystemRoot=C:\Windows TEMP=C:\Users\user\AppData\Local\Temp TMP=C:\Users\user\AppData\Local\Temp USERDOMAIN=DESKTOP-L5QNMQB USERDOMAIN_ROAMINGPROFILE=DESKTOP-L5QNMQB USERNAME=user USERPROFILE=C:\Users\user windir=C:\Windows __COMPAT_LAYER=Arm64Wow
SDカードの性能:
今回使用したA1対応のmicroSDHCの性能を CrystalDisk で測定してみました。
測定の度に結果は変わるので、参考程度のものですが、こんな感じでした。
比較用に A1 対応ではない samsung microSD 32GB EVO Plus でも測定してみました。
A1 対応でないと Windows 10 インストール時にエラーが発生することがあるらしいので、一からインストールしたのではなく、Win32 Disk Imager を使ってインストール済みのSDカードを丸ごと複製したものを使いました。
こちらも測定の度に結果が変わるのですが、若干遅いぐらいでした。比較に Class 10 UHS-I 対応品を使ったから、期待した程の差が出なかったということかもしれません。
WinSAT:
WinSAT で性能を測定してみました。
Get-CimInstance Win32_WinSat CPUScore : 0 D3DScore : 0 DiskScore : 0 GraphicsScore : 0 MemoryScore : 0 TimeTaken : MostRecentAssessment WinSATAssessmentState : 3 WinSPRLevel : 0 PSComputerName :
性能が低すぎて事実上、測定不可でした。
Windows 10 のダウンロード:
インストール時に Windows 10 Arm64 版の ISO イメージを入手するのが少々手間だったので、 Windows 10 のダウンロードツールで入手できないかなと思い、試してみましたがダメでした。
Windows 10 Arm64 で実行しても、x86 版、x64 版 しかダウンロードできませんでした。このツールは Arm64 に対応していませんね。最適な OS としては x86 版を薦められたので、どうやら x86 だと誤認されているようでもありました。
既に最新版の Windows 10 がインストールされていたので、Update Assistant の方は最新版ですといってアップデートが走りませんでしたが、こちらも Arm64 に対応していないかもしれません。途中でエラーになるか、x86 と誤認して OS 壊すかもしれないですね。
ARM版 Windows 10 の制限:
Raspberry Pi 版に限らず、ARM版 Windows 10 の制限(一部)です。
- OpenGL 1.1 以降を必要とするアプリケーションは動作不可
- GPU に対応していないため、ソフトウェア実装の OpenGL 1.1 (Genereic) しか動作しません。
- Hyper-Vは未サポート
- メモリも少ないのでサポートしていても事実上使えないでしょうけれども残念です。必然的に Hyper-V コンテナも使えないことになります。
余談:
公式ケースに入れて使用すると、温度が上がり過ぎて、画面右上に温度計(警告表示)が表示されてしまいました。
Windows 10 だと常に負荷がかかるのか、せめて蓋は開けて使用しないと熱がこもるようです。
最後に:
メモリは1GBしかなく、速度は非常に遅いので実用性はないですが、Raspberry Pi で Windows が動くのは何かちょっと楽しいですね。
コメントを投稿するにはログインしてください。