🌧️
MacOSをMontereyにアップデートしたらvagrant upが実行できなくなる問題
2021/11/26 追記
2021/11/22のVirtual Boxのアップデートで当該の問題は修正された様子。Virtual Boxのバージョンを6.1.30以上にすることをおすすめする。
MacOSをアップデートするとvagrant upが実行できなくなる
先日、MacOSをMontereyにアップデートしたところ、vagrant upが実行できなくなった。人によって微妙にエラーメッセージは異なるようだが、自分の場合は以下のようになった。
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'ubuntu/xenial64' version '20210112.0.0' 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: 8020 (guest) => 8020 (host) (adapter 1)
default: 8080 (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", "7341fcfb-9b24-4972-9f1e-ca45dda2bfcb", "--type", "headless"]
Stderr: VBoxManage: error: The virtual machine 'amazon-api_default_1632198788047_76720' has terminated unexpectedly during startup because of signal 10
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine
原因
Virtual BoxのフォーラムやVagrantのGithub Issuesなどで問題の議論がなされている。
どうやらVirtual BoxのheadlessモードがMonterey上だとバグってしまうことが原因のようだ。
したがってheadlessモードを一旦オフにして、guiモードで起動すればとりあえずの対応にはなる。
対応
- VagrantfileにVirtual Boxをguiモードで起動するように指定する。
Vagrantfile
config.vm.provider :virtualbox do |vb|
vb.gui = true
end
- MacのカーネルにVirtual Boxのドライバなどを再読込させる。
sudo kextload -b org.virtualbox.kext.VBoxDrv;
sudo kextload -b org.virtualbox.kext.VBoxNetFlt;
sudo kextload -b org.virtualbox.kext.VBoxNetAdp;
sudo kextload -b org.virtualbox.kext.VBoxUSB;
以上の2ステップを行うことで自分の場合はvagrant upを実行できるようになった。
ただし、guiモードで起動すると以下の画像のようなVirtual Boxのウィンドウが出てしまうことに注意。
Virtual Boxの開発側もこの問題は認知していて、現在、必死で修正にあたっているそうだ。まだMacOSをMontereyにアップデートしていないという方は、Virtual Boxの修正が終わるまでアップデートを保留することをおすすめする。
Discussion