ラズパイ3でWindows 10 on ARMが簡単に動くという記事に騙されてはいけない


MCCI Corporationというところが、ラズパイ用のUSBドライバをリリースしたことをきっかけに、ラズパイ3上でWindows 10 on ARMが動く、という話が大々的に言われるようになった。

しかし、最初はいろいろな問題があり、導入がかなり困難を極めました。

2019/02/16時点である程度手法は確立しましたので、ここからは、その手順を紹介していきます。

なお、本手順は紅樹タカオさんと共に進めていったものなので「Windows10 on ARMのインストール【成功しましたが簡単ではありません。】」と「ラズパイへWindows10 on ARMを入れるときのトラブルや対処方法」も参考になるかと思います。

準備するもの

・ラズパイ3もしくはラズパイ3B
・ラズパイを冷却するための機構(CPU冷却ファン搭載を推奨)
・高速なmicroSD(A2クラスを強く推奨)
・安定して5.04V~5.08Vが出せるACアダプタ(5.02V~5.04Vだと不足気味)
・Windows 10 on ARM用のISOファイル(「UUP(Unified Update Platform) Generation Project」を利用して作成)
WOA Deployer for Raspberry Pi

microSDは高速なものが必須です。3種類のmicroSDを使ってみたのですが、A2クラスのものを使わないとアプリを起動させるにも一苦労でした。

microSD の種類使用したものWoA Deploy にかかる時間初回起動時間ディスク I/O の様子
Class10 U190分1時間ほぼ常時100%
Class10 U3 A227分20分最初は100%だが20分ぐらいで落ち着く
Class10 U1 A134分まだまだ

電源については、ラズパイを1200MHz動作で使った場合でも1Aを超えることはありませんでした。電流より電圧の方が重要なようで、5.02Vぐらいになると右上に電力不足の雷マークが現れる感じです。

うちで試した限りでは、5.02V~5.04Vで動作するアダプタでは電力不足が表示され、5.04V~5.08Vでは特に問題なく動作していました。

作業手順

1. Windows 10 on ARMのISOを作成

UUP(Unified Update Platform) Generation Project」 から、Windows 10 on ARMのISOイメージを作成するためのCMDファイルを入手します。

その際の選択肢は以下のようになります。

Select type: Windows(Final version)
Select version: Feature update to Windows 10, version 1803 [arm64]
Select language: ja-jp:Japanese
Select edition: 適切に選ぶ
Select type download: Download ISO compiler in OneClick!(run downloaded CMD-file)

「version 1803」以外では、「Windows 10 Insider Preview 18836.1000(rs_prerelease) [arn64」でも問題なくインストールできています。

しかし「version 1809」ではブルースクリーンクラッシュ多発し、USBが認識しないなどの現象が発生します。現状はお薦めできません。

CMDファイルを入手したら、新しくディレクトリを作り、そこにCMDファイルを置き、実行します。すると、各種ファイルのダウンロードと、dismコマンドなどによるISOファイルの生成が開始されます。

ファイルのダウンロードは4GBぐらいあります。また、4GBのISOファイルも作成されますので、作業領域込みで12GB程度の空き容量があることを確認してから実行してください。

なお、アンチウイルスソフトなどによりファイル書き込みやファイルダウンロードに失敗した場合、CMDファイルが置かれたディレクトリにあるファイル・ディレクトリを削除してしまう事象が確認されています。

くれぐれもデスクトップにそのままおいて実行しないよう気をつけてください。

2. ISOファイルをマウントする

作成したISOファイルをエクスプローラーで開くと、Windows10の場合、CDドライブとして認識されます。そのドライブ内に「sources\install.wim」があることを確認します。

3. WoA Deployer for RPiを入手する

WOA Deployer for Raspberry Pi 」を入手します。「Release」にある最新のWOA.Deployer.GUI.zip をダウンロードして、ZIPファイルを展開します。

4. WoA Deployer.exe を実行してmicroSDに書き込みする

展開したファイルの中にある「WoA Deployer.exe」を実行します。

「DRIVE SELECTION」でmicroSDを指定します。
「WINDOWS IMAGE(.WIM)」でISOドライブ内の「sources\install.wim」を指定します。

「Depoly」ボタンをクリックすると、まずはUEFIファイルやドライバなどの必要なもののダウンロードが始まります。

ダウンロードが終わるとmicroSDへの書き込みが始まります。

一番最初にUSBドライバのライセンス承諾画面が表示されますので、「Accept」をクリックします。

microSDへの書き込みは、U1だと90分、U3 A2だと27分かかりました。

5. ラズパイ3にmicroSDをさして電源ON

USBキーボード、マウスをつなぎ、イーサケーブルはつながないで電源を入れます。
インターネットに接続できてしまうと変な動作になることが多いです。

最初の起動では、UEFI shellで停止してしまいます。

6. ラズパイ起動設定の変更

UEFI shellで「exit」と入力し、設定画面を表示させます。

6.1. クロックアップ設定

まず、クロックアップの設定を行います。

「Device Manager」→ 「Rapsberry Pi Configuration」→「Chipset」

「don’t overwrite」と書いてありますが、無視して変更します。

標準は「Min(600Mhz)」ですが、「Max(1200MHz)」とします。

これにより初回起動時間が約半分になります。

6.2. 起動順序設定

次に、起動順序の変更を行います。

「Boot Maintenance Manager」を選び

「Boot Options」を選び

「Change Boot Order」で起動順一覧を表示します。

標準では「UEFI shell」が上にあり、「SD/MMC on Broadcom SDHOST」が下にあります。

これを「UEFI shell」にカーソルを合わせた状態で「-」キーを押し、下側に持って行ったあと、Enterキーで確定させ、F10キーで設定保存をします。

6.3. 解像度設定

また、あまり大きすぎるディスプレイだと動きが遅くなりましたので、解像度制限を行った方がいい場合もあります。

「Device Manager」→「Rapsberry Pi Configuration」→「Display」で設定します。

下記の様なかたちで「Virtual 1024 x 768」ぐらいで設定した方が快適でした。

7. 初回起動

いろいろありつつもプロセスが進みます。

上記の画面が表示されるまで、U1の場合は約1時間かかりました。U3 A2の場合は約20分でした。クロックが標準状態のMin(600MHz)の場合はU1 microSDで約2時間した。

8. セットアップを進める

1803の場合はイーサケーブル繋がない状態で完了までさせてください。

Insider Preview 18894の場合、下記の画面になるまではイーサケーブルを繋がない方がいい感じです。それ以前につないでしまうとセットアップのアップデートをとりに行ってしまい、セットアップがループしました。

9. デスクトップが表示されるまで待つ

U1 microSDで約30分ぐらいかかりました。

10. 完了

以上でとりあえず完了です。

Firefoxをwin32版とwindows aarch64版の双方をインストールしてみたところ、youtube動画をwin32版で閲覧した場合、解像度が最低ラインの状態でなおかつしばしば停止しました。

それに対して、windows aarch64版では特に問題無く再生できました。

なお、音はHDMI経由の出力は現状出来ず、アナログ出力からとなります。

Windows aarch64版は正式配布前なので、「http://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/」から英語版ダウンロードします。「firefox-~win64-aarch64.installer.exe」の一番新しいものを使用します。

http://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central-l10n/」から日本語版のダウンロードでもいいのですが、ファイル数が多くてEdgeだとなかなか開かなかったので諦めました・・・2019/02/21時点だと「http://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central-l10n/firefox-67.0a1.ja.win64-aarch64.installer.exe」ですね。

また、win32アプリはそこそこに動作しました。

2001年リリースの偽春菜も動きはしました・・・絵が変わる時の動作でよく止まりましたけどね・・・


ここから下は資料ゾーンです。

以前掲載していたものを資料のために載せています。


2019/02/16 21:30追加ゾーン開始

ようやくラズパイ3上でWindows 10 on ARMのデスクトップを開くことに成功しました。

ポイントは、WoA Installer for RPiのページに書いてあった「1809をつかえ」が諸悪の原因で、「1803」だとうまくいく、というところでした。

また、使用するmicroSDは早くないとダメというところ。最低限でClass10 U1じゃないと駄目で、Class10 U3ぐらいは欲しいところです。

うちの場合Class10 U1の samsung EVOPlus Class10 UHS-I MB-MC32GA を使っていますが、これだと初回起動に2時間かかりました。

また、ネットワークケーブルを繋いでいるとアップデートをとりにいってしまってうまく動かなくなりましたので、ケーブル外した状態で最初のログインまではしてください。

下の方の記述は明日修正していきます

2019/02/16追加ゾーンend


実際のインストーラについては、「WoA Installer for Raspberry Pi 3」というツールと「UUP(Unified Update Platform) Generation Project」というWebサイトが生成するバッチファイルと「Core Packages」を使います。


まずは、 「UUP(Unified Update Platform) Generation Project」 でISOイメージを生成するバッチファイルをダウンロードします。これを実行すると、ファイルを4GBちょいダウンロードし、4GBちょいのISOイメージを作成します。作業領域等を含めると15GBぐらいの空き容量が必要です。

注意:cmdファイルは、ディレクトリを作成し、そのなかにおいてから実行しましょう。アンチウイルスソフトによる機能制限によりダウンロードが途中で失敗した場合、同じディレクトリ内のファイルを削除してしまうという事態が発生するようです。

cmdファイルを実行したらすぐにウィンドウが閉じてしまうという場合は、一度、コマンドプロンプトを開いてから、そこの中からcmdファイルを実行してみるといいかもしれません。

2019/02/15 23:22追記:日本語版でやると失敗します。英語版(en_US)でISOを作成したところ、変なクラッシュもなしに起動が進んでいるところです・・・

23:48 英語でもやっぱキーボードが動かないやん・・・なんでじゃ・・・

2019/02/16 14:45追記:1809だと英語/日本語共に失敗。Insider Preview 18836 英語で試したところマウスキーボードは動くもののHi Thereより先に進めず。で・・・1803だとうまく行きやすい、という話を聞いて再挑戦中

2019/02/16 21:34追記:1803日本語であれば正常に動作しました。ただしネットワークケーブルは外した状態でセットアップを進める必要があります。USBは繋ぎっぱなしでも大丈夫です。


次に 「WoA Installer for Raspberry Pi 3」 を使ってmicroSDにWindowsイメージを書き込みます。これが1時間ぐらいかかります。


で、microSDが出来たら、ラズパイ3に突っ込んで起動するわけなんですが、初回起動時はEFI shellで止まります。

これは、「exit」で抜けて次の画面で「Boot order」を変更し、「UEFI shell」より先に「SD/MMC on Broadcom SDHOST」 が来るようにします。そうすると次回からWindowsが起動する様になります。詳しい替え方は FAQ 参照のこと。

ここで重大な注意点があります。

現状、USB機器をつないでると、めちゃくちゃブルースクリーンになります。このため、FAQでも入力を要求されるまではUSBを外しておくことが推奨されています。

で・・・うちの場合なのですが、キーボード選択画面まではいくのですが、USB機器を認識してくれないので進まない感じですね・・・

いったいどうすればいいのか・・・

・・・なんか日本語キーボードをつなぐと動かないのでは?説が急浮上です。

microSDを作り直して、英語キーボードでやってみましたが、状況変わらず・・・なぜだ

なお、初回電源オンからキーボード選択にたどり着くまでブルースクリーンクラッシュが5回ぐらいをはさみつつ約2時間かかりました。

ラズパイ2が余ったのでWindows IoTを入れようと思うのでメモ


・現状サポートしているARM SoCのボードについて

Windows 10 IoT [Quicksarts]-[Prototype a device]-[1. Choose a board]」に一覧がある。

ラズパイ2,3はIoT Dashboardを使いmicroSDカードにOSイメージを書き込む。

ラズパイ3B+は2019/02/12時点では機能制限ありのプレビュー提供中なので注意が必要

・アプリを追加するにはVisual Studioから行う

手順は「Windows 10 IoT [Quicksarts]-[Prototype a device]-[3. Add an app]」を参照。

Allwinner A64搭載ボードのBPI-M64とPINE64がWindows 10 IoTに対応開始



Windows 10 IoTは、いままでRaspberry Pi 2、Raspberry Pi 3とDragonboard 410cが対応機種としてあげられていましたが、この度、Allwinner A64搭載ボードである「BananaPi M64 (BPI-M64)」と「PINE64」もサポートするようです。

元ネタ:cnx-software「Allwinner A64 based Pine A64 and Banana Pi M64 Boards Can Now Run Windows 10 IoT Core

2016/08/04 19:30現在の「Windows 10 IoT Get Started」ページにはまだ掲載されていません。

しかし、githubにあるMicrosoft管轄の「https://github.com/Azure/azure-iot-sdks/」のツリーを見ていくと、「Run a simple Csharp sample on Banana Pi BPI-M64 device running Windows 10 IoT Core」と「Run a simple Csharp sample on Pine64 device running Windows 10 IoT Core」と、2つのAllwinner A64搭載機に関する導入手順が登録されていることが分かります。

(2017/02/06 ツリー構成が変わっていたので修正)
しかし、githubにあるMicrosoft管轄の「https://github.com/Azure/azure-iot-device-ecosystem/」のツリーを見ていくと、「Run a simple Csharp sample on Banana Pi BPI-M64 device running Windows 10 IoT Core」と「Run a simple Csharp sample on Pine64 device running Windows 10 IoT Core」と、2つのAllwinner A64搭載機に関する導入手順が登録されていることが分かります。

手順に書かれている必要なファイルはきちんどダウンロード可能となっているので、導入自体は特に問題無くできそうです。

が・・・私自身はAllwinner A64搭載ボードを持ってないので、試せませんけどね・・・
Orange PiのA64搭載モデルとか、でそうな感じだったんだけど、音沙汰無く半年だしなぁ・・・