fstabからのVirtualbox共有フォルダーのマウントが失敗します。起動が完了すると動作します


41

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からすべてのオプションを取得させ、それが機能することに注意してください。これは、Virtualboxが起動中に/ etc / fstabマウントが実行された時点で共有ファイルマウントを提供する「準備ができていない」何らかのタイミングの問題であることを示唆しています。

完全を期すために、以下にfstab行を示します。

Documents       /home/benme/Documents   vboxsf  uid=benme,gid=benme,dmode=774,fmode=664     0   0

Ubuntu側からこれに関してできることはありますか?それとも、Virtualboxの角度からこれについてもっと知りたい人はいますか?

同じ症状を持つVirtualboxバグトラッカーに関する古いレポートを見つけましたが、その場合、ユーザーはゲストの追加を更新せずにVirtualboxを更新し、問題を解決しました。ここでは起きていませんが、4.3ゲストの追加がインストールされています。

回答:


46

私もこの問題に失敗しました。/var/wwwVBoxの共有フォルダー機能を使用してマウントするため、これは非常に面倒でした。

私が見つけた解決策はvboxsf、ファイルシステムをマウントする前に、モジュールを強制的に早期にロードすることでした。にvboxsf独自の行を追加するだけ/etc/modulesです。

もう1つの解決策はnoautoを設定して/etc/fstabドライブを手動でマウント/etc/rc.localすることですが、その時までにApacheは既に起動して何も見つけることができなかったので、これは私にとってそれほど良いソリューションではありませんでした/var/www


1
驚くばかり!/ etc / modulesへの追加は完全に機能しました。リチャード、ありがとう!
ThePosey 14

@ThePoseyうれしかった!
リチャードターナー14

これは、Ubuntu Server 14.04ゲストでの問題でした。そして、この答え(/ etc / modulesソリューション)がそれを解決しました。ありがとう!PS Btw、偶然、物事を把握/修正しようとしている場合、Virtualbox設定で自動マウントを有効にし、再び無効にします;)
Reinis 14

2
「ちょうど追加:@qodeninjaとして、私は私の第二段落に述べvboxsf、自身の中の行に/etc/modules
リチャード・ターナー

1
これが機能するためには、vboxguestとvboxsfをUbuntu 14.04ゲストシステムの/ etc / modulesに追加する必要がありました。
マタンジャ

21

Richard Turner vboxsfが独自の行を追加するという/etc/modules提案に加えて、に_netdevmountオプションを追加することをお勧めします/etc/fstab。Ubuntu 12.04 LTSでテストしたところ、マウントが成功するための適切な遅延が追加されたようです。

私の/etc/fstabエントリー:

dev /media/dev vboxsf defaults,_netdev 0 0


4
これは、ターナーのソリューションを使用しなくても機能します。fstabオプションのUbuntuコミュニティヘルプページには「_netdev-これはネットワークデバイスです。ネットワークを立ち上げてからマウントしてください」と書かれているため、非常に理にかなっています。ロードする必要はなく、追加するだけで機能しました!vboxsf/etc/modules_netdev
マークミコフスキー

1
これは、Turnerのソリューションがなくても、Ubuntu 16.04でも機能します。
ジェンヤ

5

リチャードの修正は、最後の更新(VirtualBox 4.3.18、Ubuntu 14.04)の後に機能しなくなりました。幸いなことにvboxsf、カーネルを正しくロードすることで修正できました。

# echo "vboxsf" >> /etc/initramfs-tools/modules
# update-initramfs -u

最初のコマンドは、モジュールをカーネルにロードするパラメーターを追加し、2番目のコマンドはinitファイルシステムを更新します。再起動後、fstab-mountsを再び使用することができました:)

警告:共有フォルダーをマウントできない場合、起動プロセスがフリーズする可能性があります。したがって、モジュールをinitramfsに追加する前に、構成をテストしてください。それでもシステムがハングした場合は、リカバリモードで起動して問題を解決できます。


私はこのソリューションを試してvboxsfモジュールを以前にロードしました...ブートシーケンスがフリーズしただけなので、削除する必要がありました。
レリト14年

共有フォルダーの構成が壊れている場合、ブートプロセスを早期にフリーズする可能性のあるモジュールを含む。しかし、私は正しい構成...と任意のブートフリーズ経験したことがない
トーベン

答えに警告を追加して、事態を明確にしました。
トーベン14年

4

vboxsfリチャード・ターナーの答えのように、モジュールを早めにロードすることが助けになったと言いたかったのですが、fstab行はまだ機能しませんでした。

最終的に私がやったことは、mountコマンド(機能しました)をに入れたこと/etc/rc.localです。ちょっとしたハックですが、うまくいきました。


1
リチャードターナーの提案がどのように「あなたを助けた」のか理解できませんが、同時にfstab行は「まだうまくいきませんでした」...?
j_random_hacker

4

fstabにリストされている共有フォルダーでは、VirtualBox 5とUbuntu 14.04を使用してマウントしようとすると、ブートがハングすることがわかりました。解決策は、GuestAdditionサービスが利用可能になるまでマウントを遅らせることだと思われます(Richard Turnerの/etc/modulesソリューションでは十分ではなかったようです)。

これを行うにnoautoは、の共有フォルダのオプションとしてがあることを確認してください/etc/fstab。たとえば、次の共有フォルダの場合vmshare

vmshare    /home/user/share    vboxsf    defaults,noauto    0    0

次に/etc/rc.local、ブート後に共有をマウントする行を追加します。

mount vmshare

これは、VBox 5.0.16とUbuntu 14.04を使用して、私のために働いた唯一のソリューションでした
TJコンプトン

3

エイリアスがvboxsfないようですfs-vboxsf(そのファイルシステムタイプを最初にマウントするときにカーネルモジュールが自動ロードされる方法です)ので、エイリアスを追加すると/etc/modprobe.dうまくいきます:

$ echo "alias fs-vboxsf vboxsf" | sudo tee /etc/modprobe.d/vboxsf.conf

自分で試したことはありませんが、有望に見えます。
j_random_hacker

2

私も同じ問題を抱えていて、提案された解決策を試していましたが、成功しませんでした。Torbenのソリューションはブートを凍結したため、元に戻す必要がありました。次に、を/etc/fstab使用してトラブルシューティングを行う必要があると考えましたsudo mount -a。私のエントリーの構文は完璧に見えましたが、それでも失敗しました。また、ターミナルウィンドウでmountコマンドを使用してfilesystenを手動でマウントすることもできました。

私が見つけたのは、最初の2つのパラメーター(デバイスとマウントポイント)の間にスペースがあったことです。それらをタブに置き換えましたが、動作します。本当に?!!!!


2つのスペース文字(ASCIIコード32)でしたか?それらの1つ以上がタブ文字と同じくらい良いはずだからです。ときどき、Shiftキーを押してスペースキーを押している間に早めにキーを離したり、遅すぎて離すと、誤って改行しないスペース文字を入力します。これらは同じように見えますが、多くのアプリケーションを混乱させます。
デビッドフォースター

私が知っているのは、すべての空白をバックスペースし、1つのタブを挿入しただけで、それが機能したことです。
-svenyonson

タブのスペースを切り替えるとうまくいきました。私の既存の/ etc / fstabにはスペースがあり(私が知る限り)、それらを正確に複製しました。既存の行には単一のスペースがありました。しかし、タブで書き直すとすべてが機能しました。
jcaruso

これは私にはうまくいきませんでしたが、Kevin Sadlerの推奨を使用noautoして、マウントを遅らせてから追加mount <sharename>するrc.localことでトリックを行いました。私はターナーのソリューションを試しませんでした。
マークミコフスキー

1

Arch Wikiでこれに対処する正しい方法を見つけたと思います。comment=systemd.automountオプションを使用します。

上記のオプションは/etc/fstab、他のオプションとともにファイルに追加されます。例えば:

Fedora /var/ftp/pub/Fedora vboxsf uid=1001,gid=1001,comment=systemd.automount 0 0

これはうまくいきませんでしたが、Keven Sadlierの答えはうまくいきました。
マークミコフスキー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.