🌧️

MacOSをMontereyにアップデートしたらvagrant upが実行できなくなる問題

2 min read

2021/11/26 追記

https://www.virtualbox.org/ticket/20636
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モードで起動すればとりあえずの対応にはなる。

対応

  1. VagrantfileにVirtual Boxをguiモードで起動するように指定する。
Vagrantfile
config.vm.provider :virtualbox do |vb|
	vb.gui = true
end
  1. 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

ログインするとコメントできます