Raspberry Pi 3 で Windows 10 -その1-

以前から Windows 10 IoT は Raspberry Pi 2 をサポートしていましたが、IoT 版ではない Windows 10 が  Raspberry Pi 3 にインストールできるようになったと聞いたので、試してみました。

Windows 10

目次

はじめに:

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 カードを作成します。(次回以降で紹介します。)

Screenshot of www.worproject.ml

 

スナップショット:

いくつかスナップショットを撮ってみました。

 

システム

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 コンテナも使えないことになります。

 

余談:

公式ケースに入れて使用すると、温度が上がり過ぎて、画面右上に温度計(警告表示)が表示されてしまいました。

Throttling arm due to temperature (80-85'C)
Throttling arm due to temperature (80-85’C)

Windows 10 だと常に負荷がかかるのか、せめて蓋は開けて使用しないと熱がこもるようです。

 

最後に:

メモリは1GBしかなく、速度は非常に遅いので実用性はないですが、Raspberry Pi で Windows が動くのは何かちょっと楽しいですね。

 

関連記事: