ラズパイ3のWindows 10 on ARMを使う場合の設定ポイント


ラズパイ3の上でWindows 10 on ARMを使う場合、そのままの設定で使うとなかなか使いづらいです。

U3 A2クラスの高速なmiroSDを使ってもキツイところがあるので、このページに上げた設定変更することをお勧めします。

0. とにかく高速なmicroSD

遅いと試すのにもつらくなるほどで話になりません。

うちではSunDisk Extreme ProのUHSスピードクラス3とパフォーマンスクラスA2のロゴが入っているモデルを使いました。

なお、クラスの意味は以下の様になっています。OS起動はシーケンシャルアクセスではなく、ランダムアクセスになりますので、アプリケーションパフォーマンスクラスが保証されていることが重要です。

1. UEFI設定編

ラズパイ電源オン直後に、UEFIの設定画面でいくつか設定変更を行うと良いでしょう。

1.1. クロックアップ

標準状態ではMin(600MHz動作)となっています。設定変更を行うと、Max(1200MHz or 1400MHz)動作に変えることができます。

このクロックアップより初回起動にかかる時間が約半分になりました。

ただ、デメリットが2点あります。

その1:ちゃんと冷却しないと死ぬ恐れあり

SoC(CPU)をちゃんと冷却しないとクロックアップさせても処理能力が低下します。

その2:電源供給はしっかりとする

電源が不安定だと処理能力が低下します。

このため、初期設定があまり不安ない600MHzとなっています。

設定は、「Device Manager」→ 「Rapsberry Pi Configuration」 →「Chipset Configuration」の「CPU Clock」です。

設定後、F10キーを押して保存します。

1.2. ディスプレイ解像度

標準設定の場合、HDMIで接続したディスプレイの最大解像度でデスクトップが表示されますが、ラズパイは非力なので大きな画面過ぎると描画負荷がかかります。

このため、ある程度解像度を狭めた方・・・例えば1024×768ぐらいまでで設定した方が使用しやすいです。

設定は、「Device Manager」→ 「Rapsberry Pi Configuration」 →「Display」の「UEFI video driver settings」で、「Virtual 720p」「Virtual 1080p」「Native resolution」についてる「X」マークをスペースを押して解除し、F10キーで保存します。

2. Windows設定編

初期の起動状態ではディスクI/Oがずーっと100%になっています。

U3 A2のmicroSDを使ってもそうなってしまうので、設定を変えていきます。

2.1. スタートアップ設定

One Drive用プログラムがスタートアップに組み込まれており、これが結構な負荷を与えています。

「タスクマネージャ-」を開き「スタートアップ」タブにある「Microsoft OneDriver Setup」を右クリックし「無効化」を選択します。

2.2. 電源設定

コントロールパネルの電源オプション設定を「バランス」から「高パフォーマンス」に変更します。

最近のWindows10だとコントロールパネルをスタートメニューから開くのが面倒です。

スタートメニューから[設定]-[システム]-[電源とスリープ]から「電源の追加設定」をクリック

コントロールパネルの「電源オプション」が開きます。

ここで「追加プランの表示」の右側にある↓をクリックすると「高パフォーマンス」という項目が現れるのでそれを選択します。

2.3. バックグラウンドアプリ設定

Windowsストア系のアプリが動いてしまうと結構圧迫してしまうので、バックグラウンドアプリの実行を停止します。

[設定]-[プライバシー]-[バックグラウンドアプリ]にて「アプリのバックグラウンド実行を許可する」を「オフ」に変更します。

ラズパイ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]」を参照。

miniPCIeがついているAllwinner H6ボードOrange Pi 3がリリース


1年ぶりにOrange PiからAllwinner系ボードが登場。

今回は、Allwinner H6搭載で、miniPCIeソケットがついているOrange Pi 3。

ただし、ラズパイ2以降互換の 40ピンGPIOは今回はなく、ラズパイ1互換の26ピンGPIO。

また、miniPCIeもおそらくAllwinner H6バグに起因する問題があるという。

linux-sunxiのH6ページ」に記載されていますが、Allwinner H6の設計に問題があり、通常のPCIeメモリ空間とは異なる形になってしまっているため、H6用に修正したPCIeドライバを使わなければ動作しないようです。

で・・・うちは例のごとく購入処理はしたんですが、5日経ってもまだ処理が進まない現状・・・いつ届くんだろ?

前回は向こうの発送ミスで、約2ヶ月かかったし・・・

Steamlink launcher for OSMCをラズパイ3のOSMCに導入


ラズパイ3をメディアプレイヤーとして置こうと思うんだけど、そこに「Steam Link now in BETA on Raspberry Pi」をインストールして、Steam Linkの端末としても使いたい。

そういうことができるのかを調べて見た。すると、「Release: Steamlink Launcher for Kodi (OSMC only)」というのを発見。ソフトウェアの配布は「https://github.com/swetoast/steamlink-launcher」で行われている。

ラズパイをメディアプレイヤーとして使うディストリビューションとして「LibreELEC」とか「OSMC」がある。

今回のプラグインはOSMC用ということなので、OSMCのSDカードイメージで起動してみる・・・が・・・「Install failed: can’t mount root」というエラー。

SDカード内にある「install.log」にログがある、というので確認してみると・・・

Thu Jan 1 00:00:07 1970 Starting OSMC installer
Thu Jan 1 00:00:13 1970 Detecting device we are running on
Thu Jan 1 00:00:13 1970 Mounting boot filesystem
Thu Jan 1 00:00:13 1970 Trying to mount to MNT_BOOT (/mnt/boot)
Thu Jan 1 00:00:13 1970 Using device->boot: /dev/mmcblk0p1 and FS: fat32
Thu Jan 1 00:00:13 1970 No preseed file was found
Thu Jan 1 00:00:13 1970 Creating root partition
Thu Jan 1 00:00:13 1970 From a root partition of /dev/mmcblk0p2, I have deduced a base device of /dev/mmcblk0
Thu Jan 1 00:00:10 1970 Determined 255 MB as end of first partition
Thu Jan 1 00:00:10 1970 Calling mkpart for device: /dev/mmcblk0 and fs: ext4 with start 257M and end 100%
Thu Jan 1 00:00:11 1970 Calling fmtpart for partition /dev/mmcblk0p2 and fstype ext4
Thu Jan 1 00:01:23 1970 Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=2 blocks, Stripe width=1024 blocks
969136 inodes, 3869440 blocks
193472 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=3963617280
119 block groups
32768 blocks per group, 32768 fragments per group
8144 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables:   0/119       done                            
Writing inode tables:   0/119       done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:   0/119  2/119  4/119  6/119 50/119       done


Thu Jan 1 00:01:23 1970 Mounting root
Thu Jan 1 00:01:23 1970 Trying to mount to MNT_ROOT (/mnt/root)
Thu Jan 1 00:01:23 1970 Using device->root: /dev/mmcblk0p2
Thu Jan 1 00:01:23 1970 Error occured trying to mount root of /dev/mmcblk0p2
Thu Jan 1 00:01:23 1970 Halting Install. Error message was: can't mount root

たいしたことは書かれてない感じで・・・なぜ?

違うmicroSDカードを使ったところ、正常に起動が完了した。

まずは、Bluetoothコントローラのペアリング設定は「My OSMC」の「Network」でBluetoothを有効にしてから行う。

次に、sshでログイン(OMSCのUsernames and passwords)して、

$ sudo apt update
$ sudo apt install xz-utils
$ curl -#Of http://media.steampowered.com/steamlink/rpi/steamlink_1.0.7_armhf.deb
$ sudo dpkg -i steamlink_1.0.7_armhf.deb
$ steamlink

「steamlink」を実行するとしばらく追加のソフトインストールとかが実行されたあと、HDMI出力にsteamlinkの画面が出てくるのが確認できる。

で・・・この後、kodiのアドオンとして「Steamlink Launcher for OSMC」をインストールするわけなんだけど・・・うちではこのアドオンがうまくインストールできたように見えない・・・どうすれば


v0.0.4がリリースされたので試してみたところ、やはりうまくプラグインがインストールできた様子がない・・・ただ、v0.0.3からの変更点を見るとzipファイル内のディレクトリ構造を変えたとある。

試しに他のpluginの構造を調べて見るとzipファイル内にはプラグイン名のディレクトリを作る必要があるにも係わらず、v0.0.4のzipファイルではディレクトリが存在していない。

というわけで、zipファイルを作成しなおしたところ、問題なく動作するようになりました。

このことを報告したところ送ったzipファイルがそのまま採用されました。

2018/12/29配布のv0.0.4aは正常に動作します。