1. ホーム
  2. vagrant

[解決済み] VagrantはVirtualBoxの共有フォルダをマウントできませんでした。

2022-02-25 22:32:52

質問

現在の設定 Virtualbox 5.1.20 Vagrant 1.9.3

以前の動作設定です。 Virtualbox 5.1.18 Vagrant 1.9.3

Virtualboxの最新版をインストールし、VMを起動しようとしました。フォルダのマウントが機能しなくなりました。同じフォルダのマウントが Virtualbox 5.1.18 . 以下のエラーメッセージが表示されます。

Vagrant は VirtualBox の共有フォルダーをマウントできませんでした。これは通常、ファイルシステム "vboxsf" が利用できないことが原因です。このファイルシステムは VirtualBox Guest Additions とカーネルモジュールで利用できるようになっています。これらのゲストアドオンがゲストに正しくインストールされていることを確認してください。これは Vagrant のバグではなく、通常 Vagrant の箱の不具合によって発生するものです。文脈上、試行したコマンドは

 mount -t vboxsf -o uid=1000,gid=1000 keys /keys 

コマンドのエラー出力は

mount: wrong fs type, bad option, bad superblock on keys,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try dmesg | tail or so.

手動でインストールを試みました vagrant-vbguest プラグイン( vagrant plugin install vagrant-vbguest )ですが、何も解決していません。5.1.18にダウングレードすると解決しますが、このままでは理想的ではありません。

でフォルダのマウントを行うにはどうすればよいですか? Virtualbox 5.1.20 Vagrant 1.9.3 ?

解決方法は?

更新情報

VirtualBox 5.1.22で修正されました。

( https://www.virtualbox.org/ticket/16670 )

オリジナル回答

私の場合、VM内のシンボリックリンクがいけませんでした。 VMにログインしてください。

$ vagrant ssh

次に

$ ls -lh /sbin/mount.vboxsf 
lrwxrwxrwx 1 root root 49 Apr 19 14:05 /sbin/mount.vboxsf -> /opt/VBoxGuestAdditions-5.1.20/other/mount.vboxsf

このリンクは壊れています。/opt/VBoxGuestAdditions-5.1.20/ の中を見ると、サブフォルダー "other" が存在しないことがわかります。 この行で修正されます。

$ sudo ln -sf /opt/VBoxGuestAdditions-*/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf

ここで、VMからログアウトします。

$ exit

そして、それがあなたにとってうまくいくかどうかチェックしてください。

$ vagrant reload

しかし、/sbin/mount.vboxsfが私のボックス内に存在しないので、リンクを修正することができません!

そもそも/sbin/mount.vboxsfというリンクが存在しない場合、VBoxGuestAdditionsがインストールできない可能性があります。これは、VirtualBox をアップデートした後に、対応する VirtualBox Extension Pack をダウンロードしていない場合に発生します (v5.2.18 以降では VirtualBox のアップデート時に自動的にダウンロードされるはずです)。今すぐダウンロードすることができます。

  • 実行中のVMをすべて停止します。
  • VirtualBoxのプログラムを開きます。
  • VirtualBox Extension Packのダウンロードを開始し、インストールします。
  • VirtualBox Extension Pack をダウンロードするかどうか尋ねられることがない場合は、->ファイル ->更新の確認 を開き、ダウンロードダイアログを起動します。

VirtualBox Extension のアップデートがなかった場合、インストーラがメッセージを表示し、vagrant プラグインの vbguest が回答を促せないため、VBoxGuestAdditions がインストールできない可能性があります (この vbguest v0.15.0 では "fixed"です。 ). これは "vagrant up" の出力で確認することができます。このような行があるはずです。

Do you wish to continue? [yes or no]

その場合は、手動でインストーラーを実行することができます。これを行うには、ボックスを起動します。

$ vagrant up

その後、vbguest をトリガーしてインストールを再試行しますが、VBoxGuestAdditions ISO はその後マウントされたままにしておきます。

$ vagrant vbguest --do install --no-cleanup

ボックスにログインしてください。

$ vagrant ssh

インストーラーを手動で実行。

$ sudo /mnt/VBoxLinuxAdditions.run

最後の希望。DIY!

上記のいずれもうまくいかない場合は、手動でゲストの追加をインストールしてみてください。

cd /opt
sudo wget -c http://download.virtualbox.org/virtualbox/5.1.28/VBoxGuestAdditions_5.1.28.iso -O VBoxGuestAdditions_5.1.28.iso
sudo mount VBoxGuestAdditions_5.1.28.iso -o loop /mnt
sudo sh /mnt/VBoxLinuxAdditions.run