UbuntuゲストでVirtualBox共有フォルダーをマウントする際のエラー


77

Windows 7マシンのゲストOSとしてUbuntu 10を使用しています。VirtualBoxを使用して共有を設定しようとしましたが、何も機能していません。まず、VirtualBoxで共有を作成し、Windowsフォルダーをポイントします。次に、Linuxでドライブをマウントしようとしますが、取得し続けます

/sbin/mount.vboxsf:次のエラーでマウントに失敗しました:プロトコルエラー

私はこれに対する非常に多くの解決策を読みましたが、どれもうまくいかないようです。私が試してみました:

  • mount.vboxsf構文を使用する
  • VBox追加機能の再インストール
  • 再起動
  • ルートアカウントとしての有効化と試行

VBox共有フォルダーに「Test」という共有を作成しました。それから、ubuntuに「test2」という名前のディレクトリを作成しました。それから私はこのコマンドを実行しようとしました:

sudo mount -t vboxsf Test / mnt / test2

他のアイデアはありますか?

回答:


90

共有フォルダー機能を使用するには、いくつかの前提条件を満たす必要があります。

  • ゲストOSにGuest Additionsが適切にインストールされていることを確認してください。
  • ゲストUbuntuのユーザーは、vboxsf共有にアクセスできるようにグループに属している必要があります。
  • Virtual Boxの設定ダイアログを使用して、仮想マシンで使用されるホスト上のディレクトリを定義します。

ホストまたはゲストOSに応じて、以下も必要になる場合があります。

  • /home/usernameまたはのような個人フォルダを共有しないでくださいMy Documents
  • 特にホストまたはVMがWindowsマシンの場合、共有フォルダーへのパスに特殊文字や空のスペースを含めないでください
  • 共有とマウントポイントに異なる名前を使用する
  • ゲストOSにマウントポイントを作成します(HOMEディレクトリに最適)。

共有フォルダー機能のテストは、ホスト上に共有ディレクトリを作成することで実行できC:\myshareます(例share)、Virtual Box設定でゲストシステムの共有フォルダーとして定義します(例)、ゲストOSでマウントポイントを作成し(例 mkdir /home/username/host)、マウントします次のコマンドを使用して、ゲストOSでこれを実行します。

sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/username/host

オプション-oを使用すると、マウントにアクセスできるようになります(マウントされていない場合はルートが所有します)。

共有フォルダーの詳細については、Virtual Boxユーザーマニュアルも参照してください。

ホストまたはゲストでSambaを使用して、ネットワーク経由でファイルまたはディレクトリを共有することもできます。


4
これらの要件をすべて満たしていると思いますが、まだエラーが発生しています。問題が何であるかを診断する方法はありますか?
スカズ

1
文字列リテラルレベルではなく、私の共有はC:\ myshareではなくC:\ testであり、VBox 4.0.4で定義されています。/ home / [myusername] / test2にフォルダーを作成し、/ mnt / test2にフォルダーを作成し、これら2つのフォルダーでコマンドを正確に実行すると、両方が同じエラーを返します。
スカズ

1
ご協力いただきありがとうございます!「test」と「Test2」という単語が同じ名前を使用していると見なされることに気づきませんでした。これで問題は解決しました!
スカズ

2
'share'については、sf_ [sharename]を愚かに使用しました。その名前で/ media /の下にマウントされており、VBoxの名前ではなくubuntu-local名が必要だと想定されていたからです。ただし、「sf_」プレフィックスを削除して、問題を解決しました。
Astravagrant

1
@MichaelScheperこれらは推奨のみです -それがあなたのために働くなら、すべては大丈夫です。
Takkat

15

私もこの問題に出会いました。共有フォルダがで既にマウントされていることがわかりました/media/sf_share

を削除しようとしました/media/sf_shareが、できませんでした。

そこで、ホームディレクトリの共有フォルダ「share」を削除しました。

$ rm -r ~/share

次に、次の方法でrootユーザーに切り替えます。

$ sudo -i

rootユーザーが所有する/ media / sf_shareフォルダーにsoftlink / shortcutを作成し、chownコマンドでsoftlinkの所有権を変更します。ルートユーザーから通常ユーザーに戻る

# ln -s /media/sf_share /home/username/share
# chown username.username /home/username/share
# exit
logout

$ chmod 777 ~/share

Windowsのファイルは、共有フォルダーから見ることができます。また、ユーザー名はグループvboxsfのメンバーでなければなりません。


ありがとう!あなたは既に/メディア/ sf_sharenameでマウント...正しかった
ローラン

1
CentOS 7を使用すると、ディレクトリがにマウントされていることもわかりましたmedia/sf_sharename。そのディレクトリへのシンボリックリンクを作成することは可能性のあるオプションのように思えますが、これはVirtualBoxサイトで宣伝/文書化された手順とは全く異なります。これには適切な解決策が必要です!?!?
-cartbeforehorse

11

これが問題なく私のために働いたものです

実際、私のuser名前はvboxsfグループに属していませんでした。次の2つのコマンドは、グループ情報を取得するのに役立ちます。

grep "vboxsf" /etc/group    
grep "saurav" /etc/group

そこでsaurav、次のコマンドを使用して(私)をvboxsfグループに追加しました。

sudo usermod -a -G vboxsf saurav 

その後、virtualboxを再起動し、..配置した場所からジャンプしました。:D:Dすべてが問題なく機能しました。

まだ問題がある場合はコメントしてください。


2
これは私のために働いた、ありがとう。タイプのみがあります:(sudo usermod -a -G vboxsf saurav最初のグループ、次にユーザー)。
user673592

はい。.間違って入力しました。:)指摘してくれてありがとう。編集中..
Saurav Kumar

1
新しく割り当てられたグループを取得するためにVBを再起動する必要はありません。$ su-sauravがトリックを行います。
スティーブンボストン

2

また、マウントに苦労し、interwebzで思いついたすべてを試しましたが、最終的にそれを解決するための非常に奇妙な回避策を見つけました!私のゲストはUbuntu 13で、ホストはWindows 7です。

メディアフォルダーに移動し、そこから入力します user@os:/media$ sudo mount -t vboxsf share /home/username/folder

ええ、それだけです。しかし、それがメディアフォルダーから実行された場合にのみ機能する理由はわかりません。誰かが知っていたら、以下に親切に説明してください。ありがとう。

PS /etc/rc.local起動時に自動マウントを行うためにmy を編集しても機能しません。


1
/etc/rc.localは、ネットワークが起動する前に実行されるため、機能しません。
Braiam 14年

2
こんにちはBraiam!知っておくといい。残念ながら、自動マウントのために/etc/rc.localを編集することを推奨するサイトを数えきれないほど読んでいます。起動時に自動マウントする正しい方法を知っていますか?ありがとう。
BringBackCommodore64 14年

また、/ mediaからしか機能しないこともわかっています。非常に奇妙な。これを自分の.profile:に追加しましたpushd media && sudo mount /media/<theshare> && popd
マットグリア

1

VirtualBox 5.1.20がWindows 10で実行され、Ubuntu 16.04がゲストOSとしてGuestAdditions 5.1.20がインストールされていると、コマンドラインから共有フォルダーをマウントできませんでした。プロトコルエラーおよびsf_read_super_aux err = -22についての言及があり、マウントコマンドは失敗しました。

最終的に、https: //www.virtualbox.org/ticket/16670 "mount.vboxsf symlink broken"が見つかりました。そこで回避策の1つを実行して、mount.vboxsfのシンボリックリンクを修正しましたが、すべて正常に機能しました。私のアプローチはそうすることでした:

mv /sbin/mount.vboxsf /sbin/mount.vboxsf-orig
ln -s /opt/VBoxGuestAdditions-5.1.20/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf

コマンドはルートで実行する必要があります。したがって、Ubuntuであったため、各行の先頭に「sudo」を追加して、rootとしてコマンドを実行しました。Linuxの他のフレーバーには、他の方法があります。

余談ですが、2014年にvirtualboxのチケット#12879「ゲスト追加4.3.10で共有フォルダをマウントできません」で報告された同様のシンボリックリンクの問題があり、それは翌月修正されました。

2017-04-27


@ダンカン:良い点。チケットのタイトルは問題を説明していますが、使用したソリューションを示すために編集しました。
Jカミング

で仮想箱v5.1.22用のchangelog virtualbox.org/wiki/Changelog#v22はと言う
Jカミング

2017-04-28にリリースされたvirtual box v5.1.22のchangelog(virtualbox.org/wiki/Changelog#v22)は、このバグ/チケット#16670が修正されたことを示しています。私は興奮しています!
Jカミング

なぜこれがダウン投票されたのかはわかりませんが、Vbox 5.122を使用して問題を解決するのに役立ちました
-qodeninja

1

私にとって問題は、私がガチョウだったことであり、VirtualBoxの共有フォルダーリストからエントリを削除したことを忘れていました([マシン]→[設定]→[共有フォルダー])。

他の誰かが「プロトコルエラー」によって同様に誤解される場合に備えて、私はこれをここに投げ込んでいます。

honk 😉


1

上記のすべてを試してみましたが、何も私にとってはうまくいきませんでした。Lats私は、「Make Permanent」と「Auto Mount」が有効になった「Shared」という新しい一時フォルダーを作成しました。そして、コマンドを実行します

sudo mount -t vboxsf -o uid=1000,gid=1000 Shared /mnt/sharedvm

それは私のために働いた。今回はエラーなし。


0

共有フォルダは機能していましたが、ホストを再起動した後は機能しませんでした。

共有フォルダーの名前をSharedからShared2に変更することで機能しました。

config.vm.synced_folder "/Users/username/Dropbox/Shared", "/Shared2"

何が起こったのか、なぜ、どのように修正するのかはわかりません。Nixのようなグローバルな可変状態のないシステムにはポイントがあります。


0

個人的に私は同じエラーメッセージに直面し、問題はホストマシン上にあるフォルダに関連するタイプミスをしたという事実に関連しており、ゲスト追加のおかげで仮想マシン内から共有フォルダとして設定しました。

したがって、正しいコマンドは次のとおりです。

sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) shared_folder_located_in_host_machine path_to_mounting_folder_inside_the_virtual_machine

これにより、エラーメッセージが修正されました。


0

私にとっては、ゲスト追加のバージョンが間違っていました。

VM全体を1つのラップトップ(VirtualBox 5.8 /何かを実行)からVirtualBox 6.0の別のラップトップに移動しました。共有フォルダーのマウントを除くすべてが機能しました。

VMを起動し、クリックしDevices -> Insert Guest additions CD image...て指示に従いました。旧バージョンのゲスト追加の存在について少し不満を抱いていましたが、それを削除し、2回目の試行で新しいバージョンをインストールしました。再起動して動作します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.