Vagrantでvagrant upすると起動エラーになる件【0x80004005】

vagrant upで起動すると、以下のようなエラーが出た。

C:\Users\aaaaa\vagrant\ubuntu64_18> vagrant up
==> vagrant: A new version of Vagrant is available: 2.2.9 (installed version: 2.2.2)!
==> vagrant: To upgrade visit: https://www.vagrantup.com/downloads.html

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'ubuntu/bionic64' is up to date...
==> default: A newer version of the box 'ubuntu/bionic64' for provider 'virtualbox' is
==> default: available! You currently have version '20181129.0.0'. The latest is version
==> default: '20200514.0.0'. Run `vagrant box update` to update.
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 8000 (guest) => 8000 (host) (adapter 1)
default: 80 (guest) => 8080 (host) (adapter 1)
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "ebfa2b0a-dc72-4696-90d1-6133f6bad506", "--type", "headless"]

Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole

 

なんぞこのエラー・・・と調べた結果、

Windows10の「Hyper-V」という仮想化機能をONにしているのが原因でした。

 

順番に説明していくと

まずVagrant自体には仮想化機能がないので、仮想化するのは別ソフトに任せる必要があるわけですが、その仮想化を任せるソフトのことを「プロバイダー」と呼ぶらしい。

そしてプロバイダーには

  • VirtualBox
  • VMware
  • Hyper-V

などを指定できるらしいんですが、Hyper-Vは他の仮想化ソフトと相性が悪いらしく、Hyper-Vをインストールするとこれらの仮想化ソフトが動かなくなることがあるらしい。

私はプロバイダーとして、VirtualBoxをずっと指定しているのですが、あるとき「Hyper-V」という存在を知って興味本位でインストールしちゃってたんですよね。

んで「Hyper-V」をインストールしたあと、パソコンをずっと再起動していなかったんですけど、最近になって再起動したんですよね。

そしたら、「Hyper-V」が有効になってvagrant upできなくなった・・・というのが原因っぽいです。

 

ちなみに、最新バージョンでは相性問題は解消されてるらしいんですけど(VirtualBoxの場合バージョン6.0から?)、私がインストールVirtualBoxはバージョン 5.2.26 r128414とかなり古いものでした

というわけで、相性問題を解決するために「Hyper-V」を削除します。

  1. スタートから「Hyper-V」と入力して、「Windowsの機能の有効化または無効化」を開く
  2. 「Hyper-V」のチェックを外す

これであとはパソコンを再起動したら、無事vagrant upできるようになりました。

 

おわり

Linux
スポンサーリンク
この記事を書いた人
penpen

1991生まれ。WEBエンジニア。

技術スタック:TypeScript/Next.js/Express/Docker/AWS

フォローする
フォローする

コメント

タイトルとURLをコピーしました