複数プロセッサーの設定だとVirtualBoxがうまく動かない問題への対処

VirtualBoxで複数のプロセッサーを使う設定してもうまく動かないということがしばらく続いていたのですがようやく決着がついたので忘れないようにメモしておきます。

以下がうまく動いた環境です。

普段の開発はVMで、ここでEmacsなりSBCLなりを動かしています。 さらに、web系の開発をするときやdebファイルを作るときなどはVM上のdockerを使っています。 なのでとりあえずGuest OSでdockerを動かすまでがゴールです。

dockerなのですが、VMプロセッサー数が1なら問題なく動きました。 しかしプロセッサーが複数ある場合、現時点で最新版のVirtualBox 6.1.34では途中で「watchdog: BUG: soft lockup」などと表示されてフリーズしました。 VirtualBoxのフォーラムを見てみると、このエラーについてはどうやら6.1.32から発生しているようでした。 6.1.30ではうまく動いていたとのことだったので6.1.34を一度アンインストールして6.1.30をインストールしました。

しかし6.1.30で新規にVMを作ると、今度はGuest OSの起動時にエラーが出てVMが起動しなくなりました。 原因はどうやらWindowsの機能と干渉しているためのようです。 6.1.26だと動いていたとのことなので、6.1.30をアンインストールして6.1.26をインストールしました。

6.1.26ではdockerも無事動きました。

今回VirtualBoxのフォーラムを見ながら思ったのですが、Windows hostのVirtualBoxWindowsの影響をもろに受けていて開発するのが大変そうでした。 WindowsUbuntuをHyper-Vで動かすんじゃなくてWSL2を使えって言ってるし、 VirtualBoxのUIは割と気に入っているので、VirtualBoxを使っていきたいのですが…。