概要
Virtual Boxで以下の表示が出て起動しなかったので対処した備忘録。
経緯
LinuCレベル1を勉強しようと思い、教材についていたDVD-ROMを利用してVirtualBoxをインストールしインポートしてCentOS7_v10を起動しようと思ったらできなかった。
教材にあった手順でも起動せず。
環境
- Windows11Home
- VirtualBox-6.1.10
- CentOS7_v10
解決手順
- スタートアイコン上で右クリックし、管理者権限のターミナルを開く
- ターミナルを起動したら
bcdedit /enum {current}
を入力しHyper-Vの状態を調べる※Windowsは`{current`}のようにバッククォーテーションをつける必要がある - hypervisorlaunchtypeが下の方に出ているはず。
Auto
の場合次のコマンドを実行する bcdedit /set hypervisorlaunchtype off
-
正常に終了しました
というメッセージが出たことを確認する -
shutdown.exe /r /t 0
コマンドでパソコンを再起動する※コマンドを打つと再起動するので注意すること - もう一度
bcdedit /enum {current}
を入力しhypervisorlaunchtypeがoff
になっていればOK - セキュリティ上問題があるので、用が済んだら
bcdedit /set hypervisorlaunchtype auto
を入力する - もう一度
shutdown.exe /r /t 0
コマンドで再起動させる - 改めて
bcdedit /enum {current}
を入力しAuto
になっていれば元に戻っている
原因
Hyper-Vとサードパーティ仮想マシンが競合したことによって起動しなかった。
競合した理由
WindowsのHyper-VはOS直下で動作する仮想環境マシンだが、サードパーティ仮想マシンはハイパーバイザーの上で動作するものが多い。
VirtualBOXは競合が起きてしまい起動しなかったらしい。
仮想マシンプラットフォームのチェックボックスを外しても改善しない理由
エラーが起きて検索を掛けてみると、大体
という手順が出てくる。
この手順に従い再起動をしたが、改善が見られなかったし、解決したあとチェックボックスを改めてつけた状態でもVirtualBOXは起動したため意味がなかった。
その理由としては、WindowsハイパーバイザーとHyper-Vは別物であるから、らしい。
【参考にした記事】Hyper-Vとサードパーティー製仮想マシン環境を共存させる
ハイパーバイザーは仮想環境マシンHyper-Vの機能の1つだったが、Windows OSハイパーバイザーとして仮想環境以外にもセキュリティシステムに使われている。
このことから、先ほどのチェックボックスからハイパーバイザープラットフォームを外してもHyper-Vは動作を続けるため、エラー解決にならなかったらしい。
まとめ
- 仮想マシンにはOS直下で動くものとOS上で動くものがある
- デバイスドライバに組み込まれて動くものだとHyper-Vと競合して起動できないので一時的にHyper-Vを停止する必要がある
感想
「Hyper-Vとハイパーバイザープラットフォームは別物です」って素人には分からんがな...!
別の名前にできなかったのか?と思ってしまった。
おかげでいらない変更もしてしまったし、いろんな技術記事でチェックボックス外す手順紹介してたからHyper-Vを停止させる記事にたどり着きにくかった...