35
17

More than 5 years have passed since last update.

VT-xとHyper-VとVirtualBoxの関係についてのメモ

Last updated at Posted at 2018-11-17

これは何?

私の技術メモです。

そもそもはDocker for WindowsとVirtualBoxは共存できない?から始まり、Hyper-V含めたその辺りの関係性がよくわからなかったので、調べた結果を自分向けに整理します。
違うところがあったらどなたか教えてください!

知りたかったこと

Hyper-VとVirtualBoxはなぜ同時に使用できないのか?

個人的な結論

VT-xを同時に使用できるのは一つの機能だけだから。
(AMD製は調べてません)

調べた

登場するもの

  • VT-x(Intel VT)

    • 仮想化支援技術
  • Hyper-V

    • VT-xあるいはAMD-Vが必要
  • VirtualBox

    • VT-xあるいはAMD-Vが必要
  • Docker for Windows

    • Hyper-Vの上で動く
      • 肝要なのは「Hyper-Vが必要」っていうところだけです

なぜHyper-VとVirtualBoxは共存できないのか?

↑の情報だけなら、VT-xを有効にしていればHyper-V(とDocker for Windows)とVirtualBoxのどちらも使えるのでは?と思いました。
その後調べてみて、↓を見つけました。(古いけど…)

hyper-v disables vt-x for other hypervisors
ここには回答に

Because when hyper-V is installed on Windows 8 Pro, the hypervisor is running all the time underneath the host OS, and only one thing can control the VT hardware at a time for stability.
The hypervisor blocks all other calls to the VT hardware.

ということがMicrosoft MVPの方によって書かれています。
個人的訳ですが恐らく、

同時にVTハードウェア(=VT-x?)をコントロールできるのは、安定性のために1つだけです。
ハイパーバイザ(=Hyper-V?)は、他の全てがVTハードウェアを呼び出しすのをブロックします。

ハッキリと「1つだけです」「ブロックします」と書かれており、これならHyper-VとVirtualBoxが同時に使用できないことが納得できます。

この投稿はWindows8 Pro時代のものなので間違っている可能性がありますが、Windows10 Hyper-Vのシステム要件に「他の呼び出しをブロックする」とまでハッキリ書いてあるところが見つからなかったので、Hyper-Vのこの仕様は変わってないだろう…と思って納得することにしました。(ダメかな…?)

なぜHyper-VとVirtualBoxは共存できないのか?2019/06/21追記

Switch between Hyper-V and VirtualBox or VMware on Windows 10
こちらではWin10として同様のことが書かれているので、個人的にはより納得感が増しました。

参考にさせて頂いたもの(ありがとうございます)

35
17
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
35
17