仮想環境で有名な Oracle VM VirtualBox ですが、バージョン6.1.28 は Windows10で起動できません。
Call to NEMR0InitVMPart2 failed らしい。ざっくりいうと、仮想マシンの起動で失敗する。
答えを先にいうと、バージョンを下げようという話です。
2021年11月14日現在、VirtualBox の最新バージョンは 6.1.28 ですが、仮想マシンを起動しようとするとこんなエラーが出ます。
VirtualBox 公式サイトのチケットやフォーラムでも問題が報告されています。
書いてある内容をかいつまむとこんな感じ。
Windows 11 でも起きる。
Hyper-V を無効化すれば治る。
次期バージョン(6.1.29 ?)のテストビルドでは修正されている。
Hyper-V との共存はできてたはずだが。
VirtualBox まわりで検索をかけると、いまだに Windowsの Hyper-Vとの共存はできない情報がヒットしますが、今はできます。
うろ覚えで申し訳ないですが、バージョン6からできるようになったんじゃなかったかな?
2021年に入ったころだったと思います。それが今回のエラーで、またできなくなりました。
その対処としてWindowsのHyper-Vの無効化を行うんですが、このエラーを回避するには無効化のやり方があります。
まず、『コントロールパネル』->『プログラムと機能』->『Windows の機能の有効化または無効化』での、GUI操作(画面操作)による無効化では治りません。
管理者権限でPowerShellを起動し、次のコマンドを実行します。
bcdedit /enum
Windows ブート マネージャー
--------------------------------
・
(省略)
・
Windows ブート ローダー
--------------------------------
・
(省略)
・
hypervisorlaunchtype Auto
bcdedit /set hypervisorlaunchtype off
bcdeditはブート構成データ(BCD)の設定を管理するコマンド。Windows起動時の設定を変更します。ここではHyper-V関連の起動をオフる行為。
これでVirtualBoxのエラーは治るんですが、Hyper-Vに関わる機能は使えなくなります。Docker DeskTopとか WSLとか。
WSLはWindows 10 Proの標準機能で、Windows上のLinux仮想マシンのこと。
Windows 11でも実装されている。
Hyper-Vを使うときは設定を戻します。
bcdedit /set hypervisorlaunchtype auto
言い忘れるところでした。設定を変えるとWindowsの再起動が必要です。
これ面倒ですよね?
VirtualBoxを6.1.28にアップデートする明確な理由はないので、この現象(バグと言っていいかは不明)が治るまでは直前のバージョン6.1.26を使ってていいと思います。
次期バージョンのテストビルドでは治っているという報告もあるのでそれを待ちましょう。
(6.1.29 に反映されるかは分からんが。)
マイナーアップデートの6.1.30で修正されました。
VirtualBoxのマーナーバージョン番号は、奇数がテストビルドなので6.1.29のリリースはありません。