Virtualbox 4.3にUbuntu 13.10をインストールしました。ホストマシンはWindowsです。
/ etc/fstabでマウントされているVirtualbox共有フォルダーがいくつかあります。最近まで、このセットアップは問題なく機能していましたが、Ubuntu 13.04とVirtualbox 4.2から(本質的に同時に)アップグレードした後、fstabのマウントが機能しなくなりました。起動中に次のエラーが表示されます。
An error occurred while mounting /home/benme/Documents.
keys:Press S to skip mounting or M for manual recovery
手動回復のためにMを押してから手動でマウントしようとしても失敗します。
root@benme-vb:~# cd /home/benme
root@benme-vb:/home/benme# mount Documents
/sbin/mount.vboxsf: mounting failed with the error: No such device
しかし、代わりにブート中にマウントをスキップし、Unityが起動するのを待ってからシェルで手動でマウントすると、すべてが正常に機能します。
benme-vb ~ % ls Documents
benme-vb ~ % Sudo mount Documents
[Sudo] password for benme:
benme-vb ~ % ls Documents
# actual file list omitted
手動でマウントするときは、mountに/ etc/fstabからすべてのオプションを取得させ、それが機能することに注意してください。これは、起動中に/ etc/fstabマウントが実行された時点でVirtualboxが共有ファイルマウントを提供する準備ができていない、何らかのタイミングの問題であることを示唆しています。
完全を期すために、以下にfstab行を示します。
Documents /home/benme/Documents vboxsf uid=benme,gid=benme,dmode=774,fmode=664 0 0
Ubuntu側からこれに関してできることはありますか?それとも、Virtualboxの角度からこれについてもっと知りたい人はいますか?
同じ症状を持つVirtualboxバグトラッカーに関する古いレポートを見つけましたが、その場合、ユーザーはゲストの追加を更新せずにVirtualboxを更新し、問題を解決しました。ここでは起きていませんが、4.3ゲストの追加機能がインストールされています。
私もこの問題に失敗しました。 VBoxの共有フォルダー機能を使用して/var/www
をマウントするため、これは非常に面倒でした。
私が見つけた解決策は、ファイルシステムをマウントする前に、vboxsf
モジュールを強制的に早期にロードすることでした。 /etc/modules
の独自の行にvboxsf
を追加するだけです。
別の解決策は、/etc/fstab
にnoautoを設定し、/etc/rc.local
に手動でドライブをマウントすることですが、Apacheが既に開始されており、/var/www
で何も見つからないため、これは私にとってそれほど良い解決策ではありませんでした。
/etc/modules
にvboxsf
を追加するというリチャードターナーの提案に加えて、_netdev
マウントオプションを/etc/fstab
に追加することをお勧めします。 Ubuntu 12.04 LTSでテストしたところ、マウントが成功するための適切な遅延が追加されたようです。
私の/etc/fstab
エントリ:
dev /media/dev vboxsf defaults,_netdev 0 0
リチャードの修正は、最後の更新(VirtualBox 4.3.18、Ubuntu 14.04)の後に機能しなくなりました。幸運なことに、カーネルにvboxsf
をロードすることで修正できました。
# echo "vboxsf" >> /etc/initramfs-tools/modules
# update-initramfs -u
最初のコマンドは、モジュールをカーネルにロードするパラメーターを追加し、2番目のコマンドはinitファイルシステムを更新します。再起動後、fstab-mountsを再び使用することができました:)
警告:共有フォルダーをマウントできない場合、ブートプロセスがフリーズする場合があります。したがって、モジュールをinitramfsに追加する前に、構成をテストしてください。それでもシステムがハングした場合は、リカバリモードで起動して問題を解決できます。
Fstabにリストされている共有フォルダーでは、VirtualBox 5およびUbuntu 14.04を使用してマウントしようとするとブートがハングすることがわかりました。解決策は、GuestAdditionサービスが利用可能になるまでマウントを遅らせることです(Richard Turnerの/etc/modules
ソリューションでは十分とは思えませんでした)。
これを行うには、/etc/fstab
の共有フォルダーのオプションとしてnoauto
があることを確認してください。たとえば、vmshare
という共有フォルダーの場合:
vmshare /home/user/share vboxsf defaults,noauto 0 0
次に、/etc/rc.local
に行を追加して、起動後に共有をマウントします。
mount vmshare
リチャード・ターナーの答えのように、vboxsf
モジュールを早めにロードすると助けになったと言いたかったのですが、fstab行はまだ機能しませんでした。
私がやったことは、マウントコマンド(機能しました)を/etc/rc.local
に入れることでした。ちょっとしたハックですが、うまくいきました。
vboxsf
にはfs-vboxsf
エイリアス(そのファイルシステムタイプを初めてマウントするときにカーネルモジュールが自動ロードされる方法)がないため、/etc/modprobe.d
にエイリアスを追加するとうまくいきます:
$ echo "alias fs-vboxsf vboxsf" | Sudo tee /etc/modprobe.d/vboxsf.conf
私も同じ問題を抱えていて、提案された解決策を試していましたが、成功しませんでした。 Torbenのソリューションはブートを凍結したため、元に戻す必要がありました。その後、/etc/fstab
を使用してSudo mount -a
のトラブルシューティングを行う必要があると考えました。私のエントリーの構文は完璧に見えましたが、それでも失敗しました。また、ターミナルウィンドウでmountコマンドを使用してfilesystenを手動でマウントすることもできました。
私が見つけたのは、最初の2つのパラメーター(デバイスとマウントポイント)の間にスペースがあったことです。それらをタブに置き換えましたが、動作します。本当に?!!!!
Arch Wiki でこれに対処する正しい方法を見つけたと思います。 comment=systemd.automount
オプションを使用します。
上記のオプションは、他のオプションとともに/etc/fstab
ファイルに含まれます。例えば:
Fedora /var/ftp/pub/Fedora vboxsf uid=1001,gid=1001,comment=systemd.automount 0 0