ラズパイ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時間かかりました。

QUADSTOR VLTを使ってみた


以前「オープンソース版もあるVTLソフトウェアQUADSTOR」という記事を作成したが、使ってはいなかった。

よく見てみたら、ローカルのテープ装置/テープライブラリとしてエミュレートしてくれる機能もあったので、NetBackup Linuxでテープライブラリを使う案件が来たついでに、練習のためQUADSTORを使ってみた。

QUADSTORの注意点

  • CGIを使うWebインタフェースのプログラム(標準はポート80使用)
  • Webインタフェースに認証機能がないので要注意(アクセスすれば誰でも消せます)
  • SELinux環境下で使う場合、後述のSELinuxコマンドを実行すること
  • 仮想テープのデータを保存する領域はRAWデバイスディスクが必要(OSからマウントされない)
  • QUADSTORの起動に時間がかかる(うちの環境では10分かかった)

セットアップ実施

セットアップは簡単で、「Installation/Upgrading on RHEL/CentOS 6/7, SLES 12 SP2 and Debian 7/8」に書いてあるものをそのまま実行した形である。

# yum install httpd gcc perl kernel-devel sg3_utils
# rpm -ivh quadstor-vtl-ext-3.0.31.1-rhel.x86_64.rpm

プログラムの自動起動で以下を実行

# systemctl enable httpd.service
# systemctl enable quadstorvtl.service

SELinux環境で動作するように下記の設定を実行

# setsebool -P httpd_enable_cgi 1
# semanage permissive -a httpd_t

なお「semanage」は標準ではインストールされていないので「yum install policycoreutils-python」を実行して、追加インストールする必要がある。

Webインタフェースにアクセスする為に、firewallに穴を開けます。

# firewall-cmd --permanent --zone=public --add-service=http

また、Webインタフェースには認証機能がなく、誰でも使用できる状態であるため「Accessing the Web Management Interface」の「SECURING ACCESS TO THE WEB INTERFACE」に記載されているように.htpasswdを使ってアクセス制限をかけましょう。

このあと、Webインタフェースにアクセスすると、以下の様な感じの画面がでてきます。(なお、これはすでにVTL登録済みの状態です)

「Physical Storage」から「Rescan」するとマウントしていないRAWディスクが表示されますので、それを登録します。

「Virtual Libraries」から「Add VTL」よりテープチェンジャーを作成します。

登録したテープチェンジャーは下記の様に見えます。

Linux上からは下記の様になります。

# cat /proc/scsi/scsi
<略>
Host: scsi34 Channel: 00 Id: 00 Lun: 00
  Vendor: IBM      Model: ULT3580-TD1      Rev: D711
  Type:   Sequential-Access                ANSI  SCSI revision: 06
Host: scsi33 Channel: 00 Id: 00 Lun: 00
  Vendor: ADIC     Model: Scalar 24        Rev: 6.24
  Type:   Medium Changer                   ANSI  SCSI revision: 03
#

NetBackupのコマンドで確認してみると、下記の様にみえました。

# /usr/openv/volmgr/bin/tpautoconf -t
TPAC60 IBM     ULT3580-TD1     D711 2688700001 -1 -1 -1 -1 /dev/nst0 - -
# /usr/openv/volmgr/bin/tpautoconf -r
TPAC60 ADIC    Scalar 24       6.24 26887167A2DC4D54B8910000 -1 -1 -1 -1 /dev/sg4 - -
# /usr/openv/volmgr/bin/scan
************************************************************
*********************** SDT_TAPE    ************************
*********************** SDT_CHANGER ************************
************************************************************
------------------------------------------------------------
Device Name  : "/dev/sg4"
Passthru Name: "/dev/sg4"
Volume Header: ""
Port: -1; Bus: -1; Target: -1; LUN: -1
Inquiry    : "ADIC    Scalar 24       6.24"
Vendor ID  : "ADIC    "
Product ID : "Scalar 24       "
Product Rev: "6.24"
Serial Number: "26887167A2DC4D54B8910000"
WWN          : ""
WWN Id Type  : 0
Device Identifier: "ADIC    26887167A2DC4D54B8910000"
Device Type    : SDT_CHANGER
NetBackup Robot Type: 8
Removable      : Yes
Device Supports: SCSI-3
Number of Drives : 1
Number of Slots  : 20
Number of Media Access Ports: 1
Drive 1 Serial Number      : "2688700001"
Flags : 0x0
Reason: 0x0
------------------------------------------------------------
Device Name  : "/dev/nst0"
Passthru Name: "/dev/sg3"
Volume Header: ""
Port: -1; Bus: -1; Target: -1; LUN: -1
Inquiry    : "IBM     ULT3580-TD1     D711"
Vendor ID  : "IBM     "
Product ID : "ULT3580-TD1     "
Product Rev: "D711"
Serial Number: "2688700001"
WWN          : ""
WWN Id Type  : 0
Device Identifier: "IBM     ULT3580-TD1     2688700001"
Device Type    : SDT_TAPE
NetBackup Drive Type: 3
Removable      : Yes
Device Supports: SCSI-6
Flags : 0x0
Reason: 0x0
#

ドキュメントを確認すると、「Data deduplication best practices」というのがあり、重複排除が行われた状態でRAWストレージに格納されている模様。

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

AMD Ryzen 3 2200Gを導入してみた


2012年10月に「AMD Trinity A10-5800Kを導入してみた」以来、6年ちょい使っていたわけですが、先日発覚した「マイニング用RX470を買ったけど、Socket FM2のマシンで使えない」をきっかけに中身の変更を図りました。

当初はAMD Athlon 200GEにするかなーと思ってはいたのですが、CPUスペック額面的にはA10-5800KとAthlon 200GEがほぼイコールで代わり映えしなさすぎるということで、Ryzen 3 2200Gを選択しました。

マザーは「ASUS PRIME B450M-A」。選択理由はチップセットがB450でメモリスロットが4つのもので最安だったから。

メモリ8GB*2とあわせて総額税込み約32000円といったところでした。

ケースはAthlon 64時代から10年ぐらい使っているものを相変わらず使ってるのですが、電源LEDのコネクタ仕様が合わなくなっていて電源ランプが点灯しない状態に・・・まぁ、3ピンコネクタを2ピンにさせるように細工すればいいだけではあるんですけどね。

システムはA10-5800Kで使っていたものをそのまま引き継ぎ、つなげ直して普通に電源ON。UEFIでインストールしていた、というのもあってか何事もなく起動してきました。

まぁ、追加でAMD Chipset driverをインストールする必要はありましたが、ネットワークは普通に使える状態だったので、特に苦労する点は何もありませんでしたね。

で、ドラクエベンチの結果はこちら

まぁ、そんなもんか。

で、マイニング用RX470を指してみたんですが、困ったことが・・・

タスクマネージャー上はちゃんと2個のGPUを認識しているものの、グラフィック設定で選択肢に現れないという・・・うーん・・・

これは、もしかして、RX470にHDMI出力パーツを実装するしかないんだろうか??