web-dev-qa-db-ja.com

VT-xは利用できませんが、BIOSで有効になっています

最近、HP EliteBook上で実行されているWindows 10でVT-xに問題が発生し始めました。以前はいくつかのVMを実行するためにOracle VirtualBoxを使用していましたが、VT-xはBIOSで有効にされて正常に動作していました。

VMを起動しようとするたびにVT-x is not availableエラーが出始めました。それは私のマシンにDockerをインストールした後に起こり始めたので、私はそれをアンインストールして再起動しようとしました。助けにはならなかった。

BIOS設定を確認したところ、VT-xが有効になっていると表示されましたが、Intel(R)Processor Identification Utilityで確認したところ、VT-xはサポートされていません。

ハードウェアの変更はなく、唯一のソフトウェアの変更はDockerのインストール/アンインストールでした。

この問題はどのように修正できますか?

104
SergeyOvchinnik

ユーザーに表示されるエラーの種類には、3つの一般的な原因があります。

  • VT-xがBIOSで有効になっていません
  • CPUはVT-xをサポートしていません
  • WindowsでHyper-V仮想化が有効になっている

ユーザーは最初の2つの原因を既に排除しているので、次のステップは[管理者としてプロンプト]コマンドを開き、次のコマンドを実行することです。

dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

その後、PCを再起動してVirtualBoxをもう一度試してください。

144
n8te

Windows 10を "Fall Creators Update"にアップデートした後、同じ問題が発生しました。私は以下のステップでそれを解決しました:

  1. [Windowsの機能の有効化または無効化]の[Hyper-V]の下にあるすべての機能を有効にします。
  2. 再起動。
  3. 「Windowsの機能の有効化または無効化」の「Hyper-V」の下にあるすべての機能を無効にします。
  4. 再起動。
  5. VirtualBoxは再び動作しており、オペレーティングシステムのリストに(64ビット)と表示されています。
16
Eng.Fouad

私がこの問題を抱えていたとき、私が64ビットの仮想マシンを作成しようとしたとき、VMWareプレーヤーはVirtualBoxより良い診断応答をしました。

私のマシンはエンタープライズ機能Device GuardCredential Guardが有効になっていると言われています。 MalwareBytesを実行したときにそれらが有効になったと思います。私が他に行った変更について考えることはできません。

VMWare Playerは、 Manage Windows Defender Credential Guard というページを表示しました。そのページには、グループポリシーマネージャの設定などに関する多くの情報が含まれています。これらは、W10 HOMEのインストールには無関係です。

次に、そのページで、 Device GuardとCredential Guardのハードウェア準備ツール を紹介しました。これは、サーバーでこの機能セットを有効または無効にするためのツールです。

そのツールを管理者として実行のPower Shellで実行し、このコマンドを実行する

 .\DG_Readiness_Tool_v3.5.ps1 -Disable -AutoReboot

これらの機能を無効にするプロセスを私に案内しました。

そして、私は仮想化機能を取り戻しました。

5
O. Jones

最後のWindows 10ビルドを使用している場合は、[デバイスセキュリティ]で Memory Integration を無効にして再起動します。

このオプションを有効にしたとき、私は同様の問題の仮想ボックスに直面していました。無効にするとうまくいきました。

Core Isolation - Memory integrity Screenshot

5
slingzor

オフにするWindowsの機能]ダイアログボックスで2つのオプションがあったという事実に私はトリップアップしました:

  • ハイパーV
  • Windowsハイパーバイザープラットフォーム

私はVirtualBox 6へのアップグレードといくつかのパフォーマンスの問題を試み、VirtualBox 5にダウングレードしてこれらの問題を抱えていました。うまくいけば、これは他の誰かを助けます。

2
Steve Wranovsky

Virtualboxは問題なく動作していました。 2017年6月29日、今日Avastアンチウイルスを更新しました。その後VirtualboxはVT-xエラーを出しました。 Avastの設定で、トラブルシューティングに進み、 "利用可能な場合はネストされた仮想化を使用する"を有効にしてからPCを再起動してください。これは他の変更を必要とせずに私のために働いた。

2
ejasft

別の回答で述べたように、 コア分離 、アプリケーションガード、クレデンシャルガード、およびデバイスガードはHyper-V機能を利用します。そのレベルのセキュリティが必要ない場合は、次のコマンドを実行して無効にすることができます。

DG_Readiness_Tool_v3.5.ps1 -Enable -AutoReboot

または

mountvol X: /s
copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\Boot\SecConfig.efi /Y
bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi"
bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X:
bcdedit /set hypervisorlaunchtype off
mountvol X: /d

これらのコマンドの詳細については、 Windows Defender Credential Guardの管理 を参照してください。

ただし、 Windows 10ビルド18305以降 、保護機能のほかに、 Windows Sandbox もHyper-Vを有効にします。これは仮想化の薄い層でもあるためです。

サンドボックス機能を使用する場合は、残念ながら他の回答のようにHyper-Vを無効にすることはできません。これには2つの解決策があります

  • 代わりにHyper-Vを使用してください。 VirtualBoxなどの他のハイパーバイザーでVMを実行している場合は、それらをHyper-Vに移行するだけです。
  • Hyper-V内で他のハイパーバイザーを実行できるように、ネストされたページングを有効にします。単にその機能を有効にするために下記のコマンドを実行してください

    Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
    

詳しくはこちら

0
phuclv

Hyper-Vが「物理コンピュータではサポートされていないプロセッサ固有の機能を使用している」とHyper-Vが言っていたので、VT-xが有効になっていないと考えてこの投稿に行きました。これは、Windowsアップデートをインストールし、サーバーを再起動した後に始まりました。実際には、VT-xは実際に有効になっていました。

修正はすべてのVMの保存された状態を削除することで、事実上電源がオフになりました。

これは、CPUマイクロコードの更新によるものかもしれませんが、確かなことではありません。多くの検索結果から生まれたものです。

0
RomanSt

Virtualboxでも同じ問題があり、コンピューターで次のことを確認しました

  • VT-xはBIOSで有効になっています
  • WindowsでHyper-V仮想化とWindows Hypervisor Platformが無効になっています
  • メモリ統合は無効です

上記の理由を除外した後、Windows Sandboxを有効にしたことを思い出しました。これは post です。

問題はWindows Sandboxにありますが、Windows機能からWindows Sandboxを無効にするだけで、再起動は機能しません。上記の投稿から説明されているように、以下を実行する必要があります。

  • Windows Sandboxを無効にして再起動する
  • BIOSで仮想化を無効にして再起動する
  • BIOSで仮想化を有効にして再起動します
0
socrates