- Windowsでvagrant upするとRaw-mode is unavailable courtesy of Hyper-V と言われる
- Hyper-Vを切る
- Hyper-V とは
- Hyper-Vに関する設定を確認
- Hyper-Vを無効にする
- PCを再起動する
- vagrant を起動する
- 設定をAutoに戻す
Windowsでvagrant upするとRaw-mode is unavailable courtesy of Hyper-V と言われる
m>vagrant up Bringing machine 'default' up with 'virtualbox' provider... (略) ==> 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", "298775b5-79b1-4e89-8be8-1c957feb9860", "--type", "headless"] Stderr: VBoxManage.exe: error: Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT) VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
追記: こういうエラーの場合もあります
There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below. Command: ["startvm", "182b76cd-f605-4303-9d53-df87ef87f33a", "--type", "headless"] Stderr: VBoxManage.exe: error: Call to WHvSetupPartition failed: ERROR_SUCCESS (Last=0xc000000d/87) (VERR_NEM_VM_CREATE_FAILED) VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
Hyper-Vを切る
エラーをそのまま読むと「Hyper-Vを起動しているとダメだよ」と言われているので、Hyper-Vを切ってみる。
Hyper-V とは
Hyper-Vとは、Windowsに乗ってる仮想化システムのことで、例えば、Dockerが起動していたりHyper-Vがonになるのだと思います。
Hyper-Vに関する設定を確認
管理者権限で起動したターミナル上で
> bcdedit
とコマンドを入力し、hypervisorlaunchtype
の設定項目を確認します。
hypervisorlaunchtype Auto
Auto
となっている場合は、必要な場面で勝手にHyper-Vが有効になるようです。おそらくDockerがさっきまで起動していたので、Hyper-Vが現在有効になっているのだと思います。
Hyper-Vを無効にする
管理者権限で起動したターミナル上で以下のコマンドを実行します。
> bcdedit /set hypervisorlaunchtype off この操作を正しく終了しました。
設定を確認します。
>bcdedit ... hypervisorlaunchtype Off
オフになりました。
PCを再起動する
再起動してください
vagrant を起動する
>vagrant up
起動するはず
設定をAutoに戻す
> bcdedit /set hypervisorlaunchtype auto
Offになっているとdockerが起動しないのでこれはこれで不便です。
そこで、設定はAutoにしつつ、ログイン時にdockerを起動する設定をoffにするのがいいでしょう。一回Dockerを起動するとHyper-Vがonになってしまいますが、Dockerを起動しない限りは通常通りVagrantを起動できます。