環境
- macOS High Sierra 10.13.3
- Vagrant 2.0.2
- VirtualBox 5.2.6
ちなみに利用したBOXイメージは こちら になります。
発生したエラー内容
以下のエラーメッセージが表示されました。
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "618ba800-ece4-425d-beb2-b255b22f557d", "--type", "headless"]
Stderr: VBoxManage: error: Implementation of the USB 2.0 controller not found!
VBoxManage: error: Because the USB 2.0 controller state is part of the saved VM state, the VM cannot be started. To fix this problem, either install the 'Oracle VM VirtualBox Extension Pack' or disable USB 2.0 support in the VM settings.
VBoxManage: error: Note! This error could also mean that an incompatible version of the 'Oracle VM VirtualBox Extension Pack' is installed (VERR_NOT_FOUND)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole
解決法
VirtualBoxに Oracle VM VirtualBox Extension Pack を導入する事で解決しました。
Download
Oracle VM VirtualBox Extension Pack よりDownloadします。
インストール
設定 → 拡張機能よりインストールを実施します。
+
アイコンをクリックして先程Downloadした拡張機能を選択します。
後はインストールウィザードに従ってインストールを行います。
下記のように表示されればインストールが完了しています。
再度 vagrant up
が出来る事を確認する
問題なく vagrant up
が出来るようになりました。
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'stakahashi/amazonlinux2' is up to date...
==> 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: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
==> default: Machine booted and ready!
[default] GuestAdditions 5.2.6 running --- OK.
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
default: /vagrant => /Users/kogakeita/Documents/vm
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.