Hyper-VはルートOSもHypervisor上の”ドダイ”に乗って動きます。サーバ用と思われがちなHyper-Vですが、クライアント機でも”ある場面”では自身がHypervisor上で動いているか否かでふるまいが異なります。ときにハマります。例えば・・・
- Intel HAXM (x86のAndroidエミュレータ)を使う場合
- VirtualBoxで64bit OSを使うとき
- VirtualBoxで32bitであっても、最近のUbuntuのようにPAE拡張を使うOSな場合
- Hyper-VとVirtualBoxが共存する環境で普段はVirtualBox、まれにHyper-Vを動かしたいとき
エラー事例(Intel HAXM)
HAXMインストール時 |
エミュレータ実行時 |
Hypervisor 上でルートOSが動いているか確認する方法
TechNetが提供しているツールにCoreinfoというものがあります(Sysinternals Suiteにも同梱)。これをダウンロード、適当なところに展開。コンソールから実行します。Hypervisor is present の部分が異なります。
Hypervisor = off
C:>Coreinfo.exe
Coreinfo v3.31 - Dump information on system CPU and memory topology
Copyright (C) 2008-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
Intel64 Family 6 Model 69 Stepping 1, GenuineIntel
Microcode signature: 00000018
HTT * Hyperthreading enabled
HYPERVISOR - Hypervisor is present
VMX * Supports Intel hardware-assisted virtualization
SVM - Supports AMD hardware-assisted virtualization
X64 * Supports 64-bit mode
Hypervisor = On
C:>Coreinfo.exe
Coreinfo v3.21 - Dump information on system CPU and memory topology
Copyright (C) 2008-2013 Mark Russinovich
Sysinternals - www.sysinternals.com
Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
Intel64 Family 6 Model 69 Stepping 1, GenuineIntel
HTT * Hyperthreading enabled
HYPERVISOR * Hypervisor is present
VMX - Supports Intel hardware-assisted virtualization
SVM - Supports AMD hardware-assisted virtualization
EM64T * Supports 64-bit mode
SMX - Supports Intel trusted execution
SKINIT - Supports AMD SKINIT
Hypervisor の有無を起動オプションで制御する方法
■[Windows] Windows8のHyper-VのOn/Offを簡単に切り替えられるようする方法
こちらに紹介がありました。seraphyさんありがとうございます。
C:>bcdedit /copy {current} /d "Hyper-V Disabled"
エントリは {1xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} に正常にコピーされました。
C:>bcdedit /set {1xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} hypervisorlaunchtype off
この操作を正しく終了しました。
とりわけノートPCの無線LANを仮想ネットワークで組み込んでHyper-V運用することは、トラブルの引き金になることが多いので、ノートPCの場合はこれ一発でいいと思います。
bcdedit /set {current} hypervisorlaunchtype off
この操作を正しく終了しました。
以上
参考
ホスト型とハイパーバイザー型の違いは何? -ThinkIT-
coreinfoツールでCPUの仮想化対応機能をチェックする -@IT-
BCDEdit /set -Windows | デベロッパーセンター-
「ハイパーバイザーが実行されていない」とは – Hyper-V と VMware Server は 1台の PC で共存できるか? Part1 -Nire.Com-
OSがどんなハイパーバイザー/コンテナ上で動いているか確認するツールのコードを読んだ -φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ-