Raspberry Pi4でARM版Windows10を動かす

この記事の所要時間: 420

ラズパイで遊ぶからにはいろんなOS動かしたい。どうせならWindows10動かしたい。とりあえず動いたという報告というか備忘録というか。

 

必要なもの(ハード)

  • ラズパイ本体
  • 大きめ容量のmicoroSD
  • 給電機能付きUSBハブ ※注意が必要(後述)
  • USBキーボード・マウス

 

おおまかな手順

  1. Windows 10 armのisoファイルを入手
    https://uup.rg-adguard.net/ からarm64向けiso生成用バッチファイルを取得して実行(スペースがないパス上で実行する必要があるらしい?)
  2. Windows on Raspberryを入手して実行
    https://www.worproject.ml/downloads からダウンロードして実行する(pi4は2.0以降で対応)。特に分かりづらい点はないが、いじると動かなくなったりするのでデフォの設定のまま推奨。memory limitが1GBになってるけど、これを4Gとかにすると、起動はするけどUSB使用不可になったりする。
    結構時間かかる20分くらい?
  3. ラズパイにmicroSDを刺して起動
    これも時間かかるので辛抱。
    ラズパイについてるUSBポートやNICは使えない。PD給電機能付きハブにアダプタさして、それをラズパイに接続して給電しつつUSBを使う感じ。

 

3なんだけど、ものによっては使えないハブがある(重要)

↓のAmazonで買った安いハブ(2k円くらい)は、内部チップでType-Cに給電するしないを切り替えてる?っぽくて、スマホとかは充電できるものの、ラズパイには給電できなかった

無理やりだけど↓みたいな感じだといけた。PD対応でもなんでもないハブにTypeA端子から無理やり給電してTypeCに出力しちゃうやり方。たぶんよくないけど動いてるからヨシ!

↓別のType-Cハブ(イーサネット端子付で高い、5kくらい)。こいつはラズパイに給電できたけど、ついてるNICやHDMIはラズパイだと使えなかった。かなしい。

と思ったら、NICはドライバインストールでいけました。ドライバ入れるまではなんかCDドライブとして認識されてるぽくて、そこにインストーラが入ってて草。HDMIはさすがにダメかな。

他に給電端子付きOTGケーブルとか使う方法もあるらしいけど、持ってないのでわからん。

使えたハブのリンク念の為貼っておきますが自己責任で!
LENTION USB Type-C ハブ CB-C65 6 in 1 4K HDMI ギガビット有線LAN PowerDelivery対応 USB-C MacBook Pro 13&15 (2016-2019)、MacBook Pro 16 (2019)、MacBook Air (2018-2019)、iPad Pro (2018)、New iMac、MacBook 12、Surface Pro 7 / Go、Chromebookなど対応可能 (スペースグレイ)

LENTIONのハブなら使えたって報告あったので、こっちの安いやつでもいいかも(NICなしなので、ネットに繋ぎたい場合はスマホのUSBテザリングを使用すると幸せになれる)

 

実用性はさておき、リモートデスクトップもできました。

使用感はというと、まぁ予想通りだいぶ重い。でも意外と動いてるかなという印象。arm向けビルドがされたアプリならば。
armなwindowsはarm上でx86エミュレートして普通のWindows向け32ビットアプリが動くのがちょっとしたウリだけど、結構厳しい。

もとから入ってるchromium版edgeはまぁまぁ快適(普通に考えれば重い)だけど、普通の32ビットなchromeは激重で使い物にならない。
動画視聴もだいぶ厳しい…というか止まりまくって…というか再生始まらなくて…もう無理。

とりあえずモノホンなWindowsが動いてるっていうそれだけしか利点はないかなという印象。
せめて最大までメモリ使わせてくれたらまだマシだろうになぁ。せっかくRAM4GBなラズパイ4使ってる意味とは。

 

最後に、興味本位でベンチマーク(cinebenchを使用、r15からは32bit非対応のためr11.5)を回した結果を張って終わりにします。

x86エミュレート、ダメみたいですね…(実行にも50分くらいかかった)

 

***追記 2020/06/21

ここによると、ARMでのx86エミュレーションは初回実行時にx86命令をarm64にコンパイルし、次回はそれを使い回すみたい?
なのでもう一度cinebench回してみたらスコア3倍弱になった(でも遅い)。

x86アプリで少しでも快適に動かしたいのなら、想定される操作をある程度先に動かしておくのがよいのかも???

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です