🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

1回答

5257閲覧

vagrant up時に「/mnt」のアンマウントに失敗するエラーが出てVagrantが立ち上げられない

momoth

総合スコア15

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

1クリップ

投稿2020/12/15 03:39

先日より、以下のようなエラーが表示されて、vagrant upができなくなってしまい、困っております。

The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! umount /mnt Stdout from the command: Stderr from the command: umount: /mnt: not mounted

起因としては、https://teratail.com/questions/223085 の質問と同様の操作から同様のエラー (mount: exec /Library/Filesystems/iso9660.fs/Contents/Resources/mount_iso9660 for /mnt: No such file or directory) が出て、それからvagrant upができなくなってしまいました。

上記の質問ではPCの再起動で改善したとのことですが、私の場合は再起動では改善しませんでした。また、VagrantやVirtualBoxを全てアンインストールして再インストールするなども試したのですが、こちらでも改善しませんでした。(アンインストールはインストーラーに付属してきたアンインストールツールを使用してアンインストールしました)
その他、vagrant-vbguestのアンインストール&再インストールなども試しましたがダメでした。

Vagrantに不慣れなため、くだらないミスに気づいていないだけなのかもしれませんが、とても困っています...。どのような操作を行えば改善するか、助言をよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

質問が投稿されてから、しばらく経過しているのですでに解消されているかもしれませんが、回答が付いておりませんでしたので、あくまでも私の解決方法ということで記載しておきます。

almalinux/8というBoxを利用し、Vagrantのプラグインでvagrant-vbguestをインストールしているときに同じ状況に陥りしました。
(正確には、このプラグインをインストールする前に問題なくup、作業後にhalt、その後このプラグインをインストールした後にupをしようとしてこの状況になりました)
私もVagrant初心者なのでいろいろ間違っているかもしれませんが、私の方ではこう解決しました。

環境

  • Windows 10
  • Vagrant 2.2.19
  • VirtualBox 6.1.32
  • 利用Box almalinux/8 (virtualbox, 8.5.20211208)
  • Vagrantプラグイン vagrant-vbguest (0.30.0, global)

とりあえずupする

  • プラグインvagrant-vbguestの削除

bash

1vagrant plugin list 2vagrant plugin uninstall vagrant-vbguest 3vagrant plugin list

これだけで、halt後にupはできると思います。(できなければ以後の説明が違ってくる可能性が高いです)

プラグイン vagrant-vbguest について

vagrant-vbguestというプラグインは利用しているVirtualBoxとGuest Additionsのバージョンの違いがあるかのチェックや、up時に違いがあった場合には自動で適切なバージョンをインストールしてくれるというプラグイン、という認識です。
そのためこのプラグインはインストールしておいた方がよいかと思いますが、そうなるとvagrant upができないので、以下のように解決しました。

そもそもなぜ失敗するか

「/mnt」というディレクトリが立ち上げるゲストにないのが問題、という認識です。
(実際に、upしたゲストに入ってls /すると/mntがありませんでした)
以下はこの部分は私の勝手な解釈で、まちがっているかもしれません。

  • 前提
    • HostがVirtualBoxのVagrantは共有フォルダを提供している
    • 共有フォルダの機能はVirtualBoxのGuest Additionsの機能を利用している
    • VirtualBoxのバージョンが上がるとGuest Additionsも新しいバージョンとなる
  • 動き
    • Vagrantのプラグインvagrant-vbguestはゲストをupした際に、VirtualBoxのバージョンとゲストにインストール済みのGuest Additionsのバージョンを確認する
    • ゲスト内のGuest Additionのバージョンが、VirtualBoxのバージョンよりも古い場合は、自動でGuest Additionを新バージョンへアップデートしようとする
    • その際に、立ち上げたゲスト内でVirtualBoxのGuest Additionsのインストール用isoイメージを/mntにマウントさせようとする
    • しかしその仮想サーバに/mntというディレクトリが存在していなくて、/mntへのマウントに失敗

解決方法

vagrant-vbguestのドキュメントを見ると、Guest Additionsのマウント先をオプションで変更できました。
https://github.com/dotless-de/vagrant-vbguest/blob/main/Readme.md#config-options

デフォルトでは「/mnt」となっているようですが、上記の通りこのディレクトリがありません。
私の利用したBox(almalinux/8 (virtualbox, 8.5.20211208))をとりあえずupすると「/media」という空のディレクトリがありましたので、ここにマウントさせるようにします。

この指定は具体的には、Vagrantfile内に指定するようです。
Vagrantfile内で、endの前に以下の1行を追記してから、upしました。

ruby

1 config.vbguest.iso_mount_point = "/media"

これでupできると思います。

おそらくupの途中で以下のようなものが出ると思います。

[default] GuestAdditions versions on your host (6.1.32) and guest (6.1.28) do not match.

ここがHostのバージョンが6.1.32だけれど、Guest側のGuest Additionsのバージョンが6.1.28で合っていないよ、という表示です。
この後に、Guest Additionsをインストールするために必要な追加パッケージが自動でインストールされます。
私のところでは、kernel-develやmake、glibc-develなど10パッケージが自動でインストールされました。

なお、以下のように古いバージョンのvagrant-vbguestをインストールするとうまくいったという書き込みも見かけましたが私のところではだめでした。

bash

1vagrant plugin uninstall vagrant-vbguest 2vagrant plugin install vagrant-vbguest --plugin-version 0.21

蛇足ではありますが、upした後にホスト側で以下のようにするとGuest Additionsの状況等が見えます。

bash

1vagrant vbguest --status

投稿2022/03/05 09:53

編集2022/03/05 10:16
GotHokLin

総合スコア37

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問