5
3

More than 5 years have passed since last update.

Vagrant 2.2.4とvirtualbox 6.0.6の組み合わせでGuestAdditions seems to be installed (6.0.6) correctly, but not running.と言われてマウントに失敗したときのメモ

Last updated at Posted at 2019-04-27

2019/6/30 追記

以下のバージョンの組み合わせでは解決していた。

  • Virtualbox 6.0.8
  • Vagrant 2.2.5
  • vagrant-vbguest (0.18.0)

以下は表題のバージョンの時の記録。
もう不要だとは思うがそのまま残しておく。

現象

  • 1回目のvagrant upではうまくいく。
  • 一度vagrant haltで閉じた後に、vagrant upすると/vagrant以下がマウントされない。以下のエラーが表示される。
bash: line 4: setup: command not found
==> 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:
Stderr from the command:
bash: line 4: setup: command not found

先に結論

2回目以降のvagrant up時に、vbguestのrebuildに失敗しているようだった。
切ってやったらマウントされた。

Vagrantfile
  config.vm.provider "virtualbox" do |vm|
+    config.vbguest.auto_update = false

調査

環境

  • Windows 10
  • Vagrant 2.2.4
  • Virtualbox 6.0.6r130049
  • Ubuntu 18.04.2 LTS (Bionic Beaver)

kernelの問題かどうか

kernelを更新したらうまくいった事例があるとのこと。
最終更新が2019/01の、bento/ubuntu-18.0.4を使っていたので、これはあるかもしれない。
10Gしか容量がないので64Gあるbentoのほうを使っていたけど、とりあえず更新してみる。

Vagrantfile
Vagrant.configure(2) do |config|
- config.vm.box = "bento/ubuntu-18.04"
+ config.vm.box = "ubuntu/bionic64"

念のため、provisionもすべて切って試す。
変わらず。

vagrant-vbguestの確認

これはinstalledと言われているから問題ないはず、と思いつつも一度試す。

hibohiboo@ /d/develop/develop (master)
$vagrant plugin install vagrant-vbguest
Installing the 'vagrant-vbguest' plugin. This can take a few minutes...
Installed the plugin 'vagrant-vbguest (0.17.2)'!
  • 1回目の、うまくいっている挙動のときは以下
$ vagrant vbguest --status
[default] GuestAdditions 6.0.6 running --- OK.
  • 2回目の、失敗したときは以下
$ vagrant vbguest --status
[default] GuestAdditions seems to be installed (6.0.6) correctly, but not running.

まあ、そうだよね。。

デバッグログを出す

環境変数を設定してやればよいとのことだったので、gitbashで以下を起動。

$env VAGRANT_LOG=debug vagrant up

ttyname failed

これが原因?と、以下のように書き換えた。エラーは消えたが、現象に影響なし。

/root/.profile
- mesg n || true
+ if `tty -s`; then
+   mesg n
+ fi

vagrant-vbguestをアンインストールしてみる。

エラーが出ている個所が、GuestAdditionsが not running で、vbguestがrebuildしようとして失敗している様子だった。

`block (2 levels) in guest_additions_state'

そこで、一旦vbguestを外してみることにする。

$vagrant plugin uninstall vagrant-vbguest

vagrant reloadで。。。起動した!

自動更新を無効にしてみる

アンインストールまでしなくとも、vagrantファイルにconfig.vbguest.auto_update = falseを追記で、vagrant up時のアップデートを無効にできるようなので記述してみる。

Vagrantfile
  config.vm.provider "virtualbox" do |vm|
+    config.vbguest.auto_update = false

vagrant reloadで確認。問題なし。

vagrant 2.2.5が来たら上記の部分削ってもいいかなぁ。

おまけ

公式のubuntuの容量が少ないので増やす。

仮想マシンを立ち上げていない状態で作業する。

vagrant halt
vagrant plugin install vagrant-disksize

Vagrantfileにconfig.disksize.size = '64GB'の記述を追加

Vagrantfile
  config.vm.provider "virtualbox" do |vm|
    config.vbguest.auto_update = false
+    config.disksize.size = '64GB'

起動してみる。ログでも変更を確認。中に入って確認したけれどもきちんと増えていた。

vagrant up
vagrant ssh
df -h

参考

vagrant upでエラー 「command failed! setup」
Vagrantで共有フォルダがマウントされない
vagrant up時にGuestAdditionsがnot runningになる場合、ゲストマシンのkernelをupdateすることで解決できる可能性がある
Vagrantプラグインの使い方(vbguest, hostmanager, sahara, snapshot)
Vagrant(VirtualBox)のUbuntuストレージ容量を拡張するには
UbuntuのDesktop環境にrootでログインする
vagrant起動時にmountエラーが出る時の対処方法
Vagrant 共有フォルダが同期できないときの対処法
Vagrantのmountエラーを解決しようとしたらvboxのリビルドがこける

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3