LoginSignup
0
0

Virtual Box起動がしないときの対処~Hyper-Vの罠~

Last updated at Posted at 2024-04-25

概要

Virtual Boxで以下の表示が出て起動しなかったので対処した備忘録。
スクリーンショット 2024-04-03 085049.png

経緯

LinuCレベル1を勉強しようと思い、教材についていたDVD-ROMを利用してVirtualBoxをインストールしインポートしてCentOS7_v10を起動しようと思ったらできなかった。
教材にあった手順でも起動せず。

環境

  • Windows11Home
  • VirtualBox-6.1.10
  • CentOS7_v10

解決手順

  1. スタートアイコン上で右クリックし、管理者権限のターミナルを開く
  2. ターミナルを起動したらbcdedit /enum {current}を入力しHyper-Vの状態を調べる※Windowsは`{current`}のようにバッククォーテーションをつける必要がある
  3. hypervisorlaunchtypeが下の方に出ているはず。Autoの場合次のコマンドを実行する
  4. bcdedit /set hypervisorlaunchtype off
  5. 正常に終了しましたというメッセージが出たことを確認する
  6. shutdown.exe /r /t 0コマンドでパソコンを再起動する※コマンドを打つと再起動するので注意すること
  7. もう一度bcdedit /enum {current}を入力しhypervisorlaunchtypeがoffになっていればOK
  8. セキュリティ上問題があるので、用が済んだらbcdedit /set hypervisorlaunchtype autoを入力する
  9. もう一度 shutdown.exe /r /t 0コマンドで再起動させる
  10. 改めてbcdedit /enum {current}を入力しAutoになっていれば元に戻っている

原因

Hyper-Vとサードパーティ仮想マシンが競合したことによって起動しなかった。

競合した理由

WindowsのHyper-VはOS直下で動作する仮想環境マシンだが、サードパーティ仮想マシンはハイパーバイザーの上で動作するものが多い。
VirtualBOXは競合が起きてしまい起動しなかったらしい。

仮想マシンプラットフォームのチェックボックスを外しても改善しない理由

エラーが起きて検索を掛けてみると、大体

  • コントロールパネルを開く
  • プログラムと機能を開き、Windowsの機能の有効化または無効化をさらに開く
  • 中にあるハイパーバイザープラットフォーム仮想マシンプラットフォームのチェックボックスを外す
    スクリーンショット (9).png

という手順が出てくる。

この手順に従い再起動をしたが、改善が見られなかったし、解決したあとチェックボックスを改めてつけた状態でもVirtualBOXは起動したため意味がなかった。
その理由としては、WindowsハイパーバイザーとHyper-Vは別物であるから、らしい。
【参考にした記事】Hyper-Vとサードパーティー製仮想マシン環境を共存させる

ハイパーバイザーは仮想環境マシンHyper-Vの機能の1つだったが、Windows OSハイパーバイザーとして仮想環境以外にもセキュリティシステムに使われている。
このことから、先ほどのチェックボックスからハイパーバイザープラットフォームを外してもHyper-Vは動作を続けるため、エラー解決にならなかったらしい。

まとめ

  • 仮想マシンにはOS直下で動くものとOS上で動くものがある
  • デバイスドライバに組み込まれて動くものだとHyper-Vと競合して起動できないので一時的にHyper-Vを停止する必要がある

感想

「Hyper-Vとハイパーバイザープラットフォームは別物です」って素人には分からんがな...!
別の名前にできなかったのか?と思ってしまった。
おかげでいらない変更もしてしまったし、いろんな技術記事でチェックボックス外す手順紹介してたからHyper-Vを停止させる記事にたどり着きにくかった...

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0