まずは前編のお詫びと訂正
前編での内容では非公式ということが十分にお伝えしきれていませんでした。
エンジニア転職を目指すなら⇒テックキャンプエンジニア転職お伝えした内容はハッキングの一種でありメーカーの動作保証などは一切ありません。
法律的にも合法なのか非合法なのかもグレーな内容です。
Windows の販売元である Microsoft はもちろん、ハードウェアの Raspberry Pi 財団でもサポートや保証が一切ない完全自己責任の内容になることをご理解ください。
また何かしらの不具合が発生した場合、このチャンネルでは一切の責任を負いかねることもご了承ください。
それと前回の動画では ARM (エーアールエム)と発音していましたが、正しくは「アーム」と発音します。
でもちょっとだけ言い訳させていただくと、Arm はもともと Acorn RISC Machine のそれぞれの単語の頭文字を取り ARM とされていたと記憶しています。当時の日本法人もアーム株式会社と表記されていましたが、アドバンスト・マイクロ・デバイセズつまり AMD が「エイ・エム・ディ」と発音・表記していたため、なんとなくそちらに引っ張られて覚えていました。
今回よりちゃんと矯正してアームと発音していきたいと思います。
ちなみに Armホールディングスは、現在ソフトバンクグループの傘下です。(2016年~)
ということで、後編の始まりです。
前回のあらすじ
- Raspberry Pi で動作させる Windows 10 をインストールするための WoR をダウンロード
Raspberry Pi 4 に対応しているのは 2.0.0-alpha.3 - UUP で Arm64 用の Windows 10 インストールファイルをダウンロード
- ダウンロードした CMD ファイルを実行して ISO データを作成
- WoR を使って作成した ISO データを microSD に書き込み
- 起動
しかし!USB ポートに接続したキーボードとマウスが反応しないというところまででした。
キーボードとマウスを使うには
参考にしていたサイトのいちばん最初を読み飛ばしていたため気づかなかったのですが、通常の USB ポートは現時点でサポートされていないため、電源で使われている Type-C のプラグ経由でキーボードなどを接続します。
人の話はちゃんと聞かなきゃいけませんね。
そのために必要だったのが OTG 対応ケーブルか USB-PD 対応の USB ハブとのことでした。
開発者の Twitter アカウントでは丁寧に補足してくれていて、参考資料の URL もありました。
ここで OTG とか USB-PD をご存じない方のために、ざっくり説明します。
USB OTG = USB On-The-Go
まず OTG ですが、USB On-The-Go を略して USB OTG といいます。
これは USB 機器をパソコンなどをホストとせずに、USB 機器どうしを直接接続できるようにする規格です。
USB 2.0 からの機能になります。
それまでの USB 環境は親であるPCと子である周辺機器が、ホストとファンクションという形で役割を分担しており、USB 機器の接続にPCが必要でした。
それを PC なしで周辺機器どうしで接続できるようにしたのが OTG です。
このおかげでデジカメを直接プリンタに接続して印刷したり、スマートフォンからデータを直接 USB メモリに移すことができるようになりました。
つまり OTG のおかげでいろいろできる事が増えたわけです。
USB-PD = USB Power Delievry
次に USB-PD (Universal Serial Bus Power Delievry) とは、USB ケーブルを利用して、最大100Wまでの受給電ができるようにする電力拡張規格です。
USB-PD 対応の USB ハブは USB 2.0 以降の規格なので、OTG 機能ももちろんあるため USB 機器どうしで接続できます。
今回の接続は 電源用に用意されていた Type-C のポートに OTG ケーブルで電源や周辺機器を接続するか
USB-PD 対応のハブの給電機能により Raspberry Pi に電源を供給しながら、USB 機器を使うようにする仕組みのようですね。
ちなみに、この環境を可能にするためのドライバがライセンス認証のあった TrueTask USB らしいです。
そんなことまでできるスゴいドライバだったんですね。
今回いろいろ調べて、はじめて知りました。
ためになったねぇ。
で、この DWC2 ドライバも良いことばかりでなく、現状はこのドライバの制限により 1GB の RAM しか使用できません。
WoR で Windows 10 をインストールすると USB Type-C ドライバを有効にするため、自動的にメモリを 1024MB = 1GB に制限します。
コレ以上の技術的な内容はボクにはわかりませんが、現状ではそういうことのようです。
開発者の方は Max の 4GB まで RAM を認識させたようですが、残念ながらボクにはその方法がわかりません。
まずは Amazon で買っていた安価な OTG 対応のケーブルで接続。
電源はずっと使っている RavPower の4ポートの急速充電器があったので、それで電源を取ることにしました。
配線だらけでスゴい事になってますが、無事に動作させることができました。
電源不足になったらやだなーと思ってUSB ハブも電源供給できるもの(PD対応ではない)を使いました。
ですが、電源不足のマークが終始点灯します。
使った充電器は最大で 5v/8A 40W まで出力できるの大丈夫だろうと思っていたのですが、コレって4ポートの合計で8A。
各ポートは 5v/2.4A とのこと。しくじった。
結構前に買っていたものなので USB-PD には対応していないものでした。
Raspberry Pi 4 では 5V/3A が必要になるので、かろうじて動いたのだと思います。
小型でも USB-PD に対応しているものであればよかったかもしれませんね。
- RAVPower USB-C 急速充電器▶https://amzn.to/2YE80LA
- Anker PowerPort Atom PD 1(PD対応 30W USB-C急速充電器)▶https://amzn.to/3de9BwZ
そこで、良い機会なので改めて USB-PD 対応のハブを購入してみました。
買ってみたのは、LENTION (れんしょん?) の PowerDelivery対応 4ポートUSB Type-C ハブ。
コレに、もともと使っていた Raspberry Pi 4 の電源を接続して給電し、キーボートとマウス、それと Wi-Fi も使えないようなので USB 接続の LAN アダプタを取り付けました。
ちなみに Anker の LAN アダプターです。
あとから気がついたのですが、いずれにせよ配線がスゴいことになったので LAN アダプタや HDMI の付いたハブで、いろいろ試してみるのも面白かったかもしれませんね。
気持ちとお財布に余裕が出たら、試してみたいと思います。
- Anker PowerExpand+ 7-in-1 USB-C PD イーサネット ハブ▶https://amzn.to/2N3HKol
- LENTION USB Type-C ハブ CB-C65 6 in 1▶https://amzn.to/2MZZZLq
ライセンス認証
最終的にはちゃんと動作したのですが、初期設定が終わるまでは2回に1回くらいの頻度だったと思います。
キーボードがうまく動作せず、強制再起動をしたりしました。
それでも Windows を起動させることができ、無事にマウスとキーボードも認識して初期設定をすすめることができました。
で、ここで気になったのがライセンス認証です。
普通に PC に Windows をインストールする場合であれば、販売されているライセンスを購入したり、Windows 7 以降のプロダクトキーがあれば、それを流用することができます。
ライセンスについての情報が見つけられなかったので、ダメ元で手元にある Windows 7 Pro のプロダクトキーを使ってみることにしました。
1GB RAM の起動直後ということもあってか、プロダクトキーの入力すらまともにできず、ずいぶん手間取りました。
ですがなんとか入力を終えてライセンス認証してみると
すると…
時間はかかりましたが Twitter でもつぶやいた通りちゃんとライセンス認証されました。
ライセンスの認証もできた!
今のライセンス管理ってどうなってるんだろう?
今の Microsoft のライセンス管理ってどうなってるんだろう?
以前よりも相当ゆるくなってる気がします…。
正規品か、非正規品が判別してるくらいのようにも思えるけど…。
実際にはどうなんでしょうね?
まとめ
いずれにせよ、マウスとキーボードも動くしライセンスも認証されました。
問題は RAM が 1GB だけというストレスくらいですね。
ということで前編・後編を通したまとめです。
まず、Raspberry Pi 4 で Windows Arm を動作させるのに必要なハードウェアです。
必要なハードウェア
- Raspberry Pi 4 B
- 最近の Windows 10 ビルドがインストールされた PC
- microSD カード (ClassA1 または A2 16GB以上)
- microSD カードリーダー
- マイクロ HDMI ケーブル
- 電源 (5V 3A 以上)
- USB マウスとキーボード
- OTG 対応ケーブルまたは USB-PD (PowerDerifery) 対応 USB ハブ
必要なソフトウェアです。
- Windows on Raspberry imager▶https://www.worproject.ml/
- CMD ファイル(これは UUP ジェネレーションプロジェクトより▶https://uup.rg-adguard.net/
注:CMD ファイルはセキュリティソフトの設定によっては動作しなかったり削除されたりするので、セキュリティソフトを一時的にオフにするなど環境に応じて設定変更してください。
準備が整ったら
- CMD ファイルを使って ISO ファイルを作成
- WoR を使って microSD に Windows Arm をインストール
- 出来上がった microSD を Raspberry Pi 4 にセット
- Type-C の USB ポートしか認識しないので USB-PD に対応したハブにキーボードやらを接続して起動
ここも持ってる機材に合わせて接続しました。
起動にはかなり時間がかかります。
ライセンスも Windows 7 のプロダクトキーで認証されました。
ライセンスに関しては素人のボクには全てを理解する事はできませんが、現状ではいちおうクリアと言うことで。
現状では、以上のような方法で Raspberry Pi 4 で Windows Arm を動作させる事ができました。
まだアルファ版という事もあってか、いろいろと問題が残っていますが動くには動きました。
実用性うんぬんについては現時点で取り上げるべき話題ではないですね。
参考にしたWebサイト
- GUIDE – WINDOWS 10 ARM64 ON PI 4B
- How-to: installing windows 10 arm64 (17134) on your raspberry pi 3 and 4
- arm64用のWindows 10インストールファイルのダウンロード