Windows Tips

Windows 10 の VirtualBox で「仮想マシン “XXXX” のセッションを開けませんでした。」というエラーが発生する問題

投稿日:2020年2月15日 更新日:

2021年3月

現時点での情報を「5. 2021年3月 追記」として追加しました。

1. VirtualBox で発生する現象

Windows 10 の VirtualBox において、仮想マシンを起動する際に、以下のエラーが発生する場合があります。

エラーの内容

仮想マシン “XXXXXXXX” のセッションを開けませんでした。

🔻 詳細
Call to WHvSetupPartition failed:
(ERROR_SUCCESS (Last=0xc000000d/87)
(VERR_NEM_VM_CREATE_FAILED).

終了コード: E_FAIL (0x80004005)
コンポーネント: ConsoleWrap
インターフェース: IConsole {xxxxxxxxxxxxx}

2. 環境

  • Windows 10 バージョン 1909
  • VirtualBox 6.0

3. Hyper-V を無効にする

他にも原因はあるかもしれませんが、本記事では「Hyper-V を有効にしている」ことが原因である場合についての対応方法について説明します。

[コントロールパネル] – [プログラムと機能] – [Windows の機能の有効化または無効化]

まず基本的な知識ですが、VirtualBox は Hyper-V を有効にしていると仮想マシンが動きません。

従来であれば、[コントロールパネル] – [プログラムと機能] – [Windows の機能の有効化または無効化] から、Hyper-V を有効化/無効化することができたのですが、現時点(2020年2月)での Windows 10 (バージョン 1909) では、この画面から無効(チェックを外して、その後 Windows を再起動する)にしても完全には無効になっていないようなのです。

ということで、いろいろ試した結果分かった対応方法を次に書きます。

対応方法

(1) [コントロールパネル] – [プログラムと機能] – [Windows の機能の有効化または無効化] から、Hyper-V を無効化する。

(2) Windows 10 を再起動する。

(3) PowerShell (管理者権限) で以下のコマンドを実行する。

Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
  • Hyper-V を無効化するコマンドです。

以下のように表示されたらOKです。

「RestartNeeded: False」とあり、再起動は必要ない意味にとれますが、これを信じてはいけません。

また、[Windows の機能の有効化または無効化] から Hyper-V を無効化せずにこのコマンドを実行すると、以下のようになります。

一見、このまま Hyper-V を(完全に)無効化してくれそうですが、そうなりませんので注意してください。

(4) もう一度、Windows 10 を再起動する。

Hyper-V が無効になっていることを確認する

以上の操作により、以下の2つの状態が確認できたら、VirtualBox の仮想マシンが起動するはずです。

確認事項その1

[Windows の機能の有効化または無効化] を開き、Hyper-V が無効になっている(チェックが入っていない) ことを確認します。

確認事項その2

PowerShell で以下のコマンドを実行し、その下に貼った画像のように表示されることを確認します。

systeminfo.exe
[Hyper-V の要件] に、このような表示があればOKです
こちらが表示されたらNGです

この2つの状態になっていなかったら、手順 (1) から (3) までをもう一度試してください。

4. おわりに

以前は、[Windows の機能の有効化または無効化] から Hyper-V を無効化するだけで良かったのですが、最近これでは対応できないようになりました。

本記事の内容は、実際に私が試した結果です。環境によっては対応できない可能性もあります。

5. 2021年3月 追記

本記事を最初に執筆した時から対応方法が変わりましたので、現時点での情報を紹介します。

環境

  • Windows 10 Pro 20H2
  • VirtualBox 6.1

VirtualBox を起動できるように Hyper-V を無効にする手順

[コントロールパネル] – [プログラムと機能] – [Windows の機能の有効化または無効化] から、[Hyper-V] と [仮想マシン プラットフォーム] のチェックを外して [OK] ボタンを押し、Windows 10 を再起動します。

[Hyper-V] のチェックを外す
[仮想マシン プラットフォーム]のチェックを外す

元に戻す場合は、逆を行ってください。

6. 参考

📂-Windows Tips

執筆者:labo


  1. nida より:

    これでハマってました、助かりました。

    • labo より:

      ご報告ありがとうございます。
      VirtualBox と Hyper-V が同時に使えないというのは困ったものですね。

  2. LiangRong Ding より:

    もしかしたら、レジストリクリアする必要があります。
    https://acceliv.com/hyperv-cannot-start/

    • labo より:

      興味深い情報ありがとうございます。
      本来は Microsoft が情報を出すべきですよね。

  3. akira より:

    再現性のないエラーに悩まされていましたが、VirtualBoxではなく、一度だけONにしたHyper-Vのせいだったとは(笑)。いずれにしても大変助かりました。情報ありがとうございます。

  4. うさにぃ~ より:

    上のHyperVが真に不活化されず(1)~(3)を繰り返してもダメだったので、
    HyperVのチェック欄の更に下にある仮想マシンプラットフォームのチェックを外したら起動できました。
    素晴らしい記事をありがとうございます。
    Win10 Intel CentOSです、このコメントも誰かの参考になれば幸いです。

    • labo より:

      そうなんですね。
      改めて「5. 参考」のところに載せてあるリンク先を見たのですが、
      Hyper-V を無効化する方法が更新されていました。
      時間のあるときに、実験した上で本記事に追記しようと思います。
      貴重な情報ありがとうございました。

    • しぐ より:

      winアップデート後に勝手にHyperVが復活していたようで、起動できず困っていました。
      うさにぃ~さん同様、手順1~3を行ってもだめで途方に暮れていたのですが、
      「仮想マシン プラットフォーム」を外してみたら起動できるようになりました!助かりました!

comment

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

関連記事

WSL

WSL (Ubuntu 16.04 TLS) 内で、PHPから MongoDB を操作する環境を作る

WSL (Ubuntu 16.04 TLS) 内で、PHP から MongoDB を操作するための環境を作ります。 「PHP から MongoDB を操作してみる」が目的であるため、ウェブサーバーとし …

Windows

「Windows 追跡アプリの起動を許可してスタート画面と検索結果の質を向上します」は誤訳なのでは?

Windows 10 の [設定] – [プライバシー] – [全般] を開くと、 Windows 追跡アプリの起動を許可してスタート画面と検索結果の質を向上します という項目 …

Windows

Windows 10 のクイックアクセスを使いこなそう

目次1. クイックアクセスとは?2. クイックアクセスで表示されるフォルダー表示されるフォルダーの種類ピン留めしたフォルダーよく使用するフォルダー表示される場所ピン留めする手順ピン留めを外す手順表示順 …

Adobe Acrobat Reader DC をインストールする

Windows 7 に Adobe Acrobat Reader DC をインストールする手順を説明します。 目次手順Adobe Acrobat Reader DC のダウンロードAdobe Acro …

Windows

Windows の環境変数

Windows には、どんな環境変数があるのでしょうか? 資料となる情報はいろいろありますが、自分用に必要なものだけまとめておきます。 目次1. Windows の環境変数一覧(主要な変数だけ)2. …