MENU

Raspberry PiでWindows 11を動かす(BVM)

BVM(Botspot Virtual Machine)について

今までもRaspberry PiでWindowsを動かすには、色々な方法がありましたが最近になってBVM(Botspot Virtual Machine)としてQEMUを使ってWindows 11を動かすことが出来るようになりました。

このBVMを使う場合には、GitHubからクローンして6つの手順を実行するだけで非常に簡単にWindows 11をダウンロードして実行することができるようになっています。また直接QEMUを使っていることもあり、速度もかなり早く感じています。

作者は学生で、GitHubのREADMEでは「シェルスクリプトしか知らない」と書いているのですが1,800行ほどの単一のシェルスクリプトでインストールから実行までが出来るようになっています。

さらには、スクリプト内でyad(Yet Another Dialog)を使うことでGUI操作も可能になっています。

Raspberry PiでBVMを起動してWindows11を実行中の画面
(Raspberry Pi を解像度1920×1080で表示して、Windows11を1280×720で表示)

Windows11のインストール

最初にGitHubからBVMをクローンします。

$ git clone https://github.com/Botspot/bvm.git

次にクローンしたリポジトリーにあるbvmスクリプトを実行してWindows11用のVM環境を設定します。

$ cd bvm
$ ./bvm new-vm ~/win11

ここでは、ホームディレクトリーにwin11という名前のディレクトリーを作成しています。

この時点で、win11ディレクトリーにコピーされている設定ファイルbvm-configを編集します。また、~/.local/binディレクトリーにはクローンしたリポジトリーにあるbvmスクリプトへのシンボリックリンクが作成されていますから、次回ログイン以降では単にbvmとタイプするだけでスクリプトを実行出来るようになっています。

bvm-configでは、次のような内容を編集しておきます。

  • vm_username=”Win11ARM”
  • vm_password=”win11arm”
  • download_language=”Japanese”
  • debloat=true
  • disksize=40

設定ファイルのコメントにあるように、これらの項目はインストール前に編集しておく必要があります。最初にWindows11で使用するユーザー名とパスワード、また言語環境としてオリジナルは英語になっていますが日本語にする場合には上記のように”Japanese”とします。既定値では、debloattrueになっていてMicrosoft bloatware、ads、Windows Defenderなどが初期起動時に削除される設定となっていますから、これらを残したい場合にはfalseにしておきます。また、Windows11用のディスクサイズは40GBが既定値になっていますから、必要に応じて編集しておきます。

なお、言語については、設定可能なリストを表示することが出来ます。

$ bvm list-languages

この時点でGUIを使用することが出来ます。

$ bvm gui
BVMのGUI画面

GUIで操作する場合には、設定ファイルの編集までが終わっていますから3のダウンロードから順に実行していきます。この画面にもあるように、仮想イメージであるqcow2を拡張したり、USBパススルーの設定が出来るようになっています。

ここではCLIとして次にダウンロードを実行しますが、各処理が終わった時点で次に実行する内容が表示されていますから非常に便利です。

$ bvm download ~/win11

暫くしてダウンロードが完了したら、インストールの準備を実行します。

$ bvm prepare ~/win11

これでWindows11をインストール出来るようになりました。もしsshなどで実行している場合にも、Windows11をインストールする際にはデスクトップが必要になりますからディスプレイ環境変数を設定しておく必要があります。

$ export DISPLAY=:0.0

もちろん、Raspberry Piのデスクトップを使用している場合には、この必要がありません。

$ bvm firstboot ~/win11

この場合には、通常の日本語Windows11のインストールと同様の画面が表示されて設定していきます。

Windows11の日本語設定
Windows11インストール中の画面

すべてのインストールが終了すると、自動的にシャットダウンします。

Windows11の実行

無事にWindows11のインストールが終了したら、実行出来るようになります。BVMからの起動方法としてもいくつかあるのですが、ここでは推奨されているboot-nodisplayで起動します。

$ bvm boot-nodisplay ~/win11

この状態では、画面がありませんからもう一つの端末画面からbvmを実行してRDPで接続します。

$ bvm connect ~/win11

これでRDPの準備が整ったらWindows11に自動的にログインしてWindows11のデスクトップを使用できるようになります。この場合には、画面をマウスでドラッグしてリサイズすることも出来るようになっています。

あるいは、wlfreerdpコマンドで画面サイズなどを指定することも出来ます。例えば、ローカルホストに1280×720で接続する場合には、次のようになります。

$ wlfreerdp /v:127.0.0.1 /size:1280x720

Windows Updateの実行と注意

Windows11を起動した直後には、恐らくWindows Updateを実行するかと思われます。ここで、更新が一旦終了した後にWindows11を再起動して更新が継続される場合があります。このような場合には、「電源を切らないで下さい」と表示されています。

BVMを使用している場合に、Windows11をシャットダウンしてしまうと電源を切った状態となって、更新が失敗して起動できなくなってしまう可能性があります。そのため「シャットダウン」ではなく、「再起動」を実行する必要がある点には注意が必要です。

リモートからの接続

BVMの環境は、ある意味クラウド上でWindows11を実行しているようなものと考えることが出来ます。そこで、セキュリティに注意した上であれば、リモート上の他のコンピューターからRDPクライアントで接続してWindows11を使用することも出来ます。

他のパソコンやMac、iPad、iPhoneなどからも接続して使用することが出来るようになります。

この場合には、bvm-configのコメントに書かれているように接続用のネットワークアドレスを変更してから起動します。作者がコメントに書いているように、この設定を変更した場合の危険性を十分に考慮した上で実行する必要があります。

メモリー使用量

通常は、Raspberry Pi 5の8GBか16GBのモデルを使っているのですが、8GBでは6GB、16GBでは14GBがWindows11用に割り当てられています。

そこで、例えば16GBモデルでWindows11に8GBのメモリーを割り当てる場合には、bvm-configを編集しておきます。

#vm_mem=4
vm_mem=8

既定値では、vm_mem=4という行がコメントアウトされているのですが、vm_mem=8の行を追加してから起動することでWindows11用のメモリーを8GBに設定することが出来ます。

手元ではRaspberry Pi 5の8GBと16GBのモデルでしか動かしていないのですが、メモリーを必要とする場合にはBVMのREADMEにも記載されているようにZRAMの使用を検討した方が良いかも知れません。

まとめ

最近に公開されたばかりのBVMで、この3月4日にベータ版で無くなったばかりで精力的に開発が続けられている状態ですが、Raspberry Pi上で非常に簡単にWindows11を実行出来るようになっている素晴らしいもので今後の進展が楽しみです。

また背景としては、Raspberry Pi 5を使えるようになって、パフォーマンスが向上したこととM.2 SSDを使用できるようになったことが大きいと思われます。

この記事をシェアする
  • URLをコピーしました!
  • URLをコピーしました!
目次