Vagrant起動時にエラーでマウント出来ない対応メモ。

ひさぶりにVirtualBoxを使わなければいけなくなり、いろいろ大変だったのでメモしておきます。


環境

  • OS
    • ProductName: Mac OS X
    • ProductVersion: 10.14.5
    • BuildVersion: 18F203
  • VirtualBox
    • 6.0.8 r130520 (Qt5.6.3)
  • Vagrant
    • 2.2.4

Vagrantを再起動するとsetupコマンドが見つからないエラーがでてしまう

Vagrantを再起動しようと vagrant up vagrant reload を実行したところ、下記のようなエラーが発生しました。

Terminal@HostOS
1
2
3
4
5
6
7
8
9
bash: 行 4: setup: コマンドが見つかりません
==> default: Checking for guest additions in VM...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

setup

Stdout from the command:
bash: 行 4: setup: コマンドが見つかりません

setupコマンドが見つからないとのこと。
vagrant ssh で接続はできるようなのでbox内を確認してみると、Vagrantfileでマウントされるはずのディレクトリがありません。

Terminal@GuestOS
1
2
$ sudo /etc/rc.d/init.d/vboxadd setup
sudo: /etc/rc.d/init.d/vboxadd: コマンドが見つかりません

さらに調べると、vboxaddというのが無いっぽい。
どうやら、VirtualBox Guest Additionsというのを利用して、共有ディレクトリをマウントするはずのようですが、これがインストールされてないように見えます。
ちなみに ホストOSでvagrant plugin install vagrant-vbguest はすでに実行してあり、初回は起動に問題ありませんでした。
いろいろ調べたところ、下記の方法で対応できるようでした。

Terminal@GuestOS
1
2
3
4
5
6
$ cd /tmp
$ wget https://download.virtualbox.org/virtualbox/6.0.8/VBoxGuestAdditions_6.0.8.iso

...

2019-06-12 11:04:28 (11.2 MB/s) - `VBoxGuestAdditions_6.0.8.iso' へ保存完了 [86562816/86562816]

isoをマウントして実行します。

Terminal@GuestOS
1
2
3
4
$ sudo mount -t iso9660 /tmp/VBoxGuestAdditions_6.0.8.iso /mnt
mount: /dev/loop0 is write-protected, mounting read-only
$ cd /mnt/
$ sudo ./VBoxLinuxAdditions.run

起動時に実行されるようにシンボリックリンクを貼り再起動します。

Terminal@GuestOS
1
2
$ sudo ln -s /opt/VBoxGuestAdditions-6.0.8/init/vboxadd /etc/init.d/vboxadd
$ sudo reboot

その後、Macからvagrantを再起動します。

Terminal@HostOS
1
$ vagrant reload

エラーなく起動すれば、無事共有ディレクトリがマウントされているはずです。
ちなみに、周りを調べたところ、Windowsの方は問題なく再起動できるとのことです。
VirtualBoxを更新すると動かなくなることが多いので、古いバージョンのまま使っている方しかいませんでしたので、もしかしたらバージョンの影響はあるかもしれないですが、とりあえず解決したので良しとします。。
以上です。

参考

© 2019 磁力式駆動 All Rights Reserved.
Theme by hiero