VirtualBox共有フォルダーをマウントする方法は?[閉まっている]


58

LinuxでVirtualBox共有フォルダーをマウントする手順は何ですか?

次のマウントコマンドのバリエーションを試しましたが、取得protocol errorまたはその他のマウントエラーが発生し続けます。

sudo mount -t vboxsf share /home/toto

これは質問ですか?それが質問になるようにそれを言い換えてください、そして、それに対するあなた自身の答えを投稿してください、そして、私はdownvoteを取り除いてうれしいです。
アイスウォーター14年

1
Q&A標準に準拠するように編集されました。

plsは、あなたが何を試み、どのエラーを得るのかという質問を更新します

機能しないコマンドを表示するように編集されました。一般的なエラーはprotocol error、問題のとおりです。

このエラーは、この「マウント:不明なファイルシステムタイプ 'vboxsf'」に対する解決策を取得しています
sandip divekar 14年

回答:


111

OK、これは私には少し混乱を招きましたが、何が起こっているのかがついにわかりました。だから、私は他の人にとってより明確になることを期待して、そして将来いつか忘れるなら2セントを与えることにしました:)。

VMで作成した共有の名前を使用していませんでした。代わりに、共有の名前がwdのときにshareまたはvb_shareを使用していたため少し混乱しました。

まず、VMボックスに共有ディレクトリを追加します。 ここに画像の説明を入力してください

ここで共有に付ける名前は、vmゲストOSでマウントするときに使用する必要がある名前になります。すなわち、私は私の西部のデジタルパスポートドライブのために私の「wd」と名付けました。

次に、guset OS上で、できればホームディレクトリにマウントに使用するディレクトリを作成します。

mkdir share

次にターミナルを開き、以下をコピーして貼り付けるか、入力します。共有クリップボードを有効にするには、[デバイス]-> [共有クリップボード]-> [双方向]を選択します。

sudo mount -t vboxsf wd ~/share/

これで、ホームディレクトリのフォルダ「共有」を使用して、OS間でファイルをコピーできるはずです。

お役に立てれば!


1
ゲストからファイルを取得する方法を理解するために数時間を費やしました。「mount」コマンドの「sharename」(公式のVBoxドキュメントから)は、最初の列の仮想ボックスの共有フォルダーで指定された単なる名前であることが判明しました。素晴らしい仕事です、あなたは私のヒーローです。
zen11625 14

2
素晴らしい答え、スクリーンショットの+1 ...これは共有をルートとしてマウントしますが、私は信じています。現在のユーザーとしてマウントする方法については、[ドキュメント](forums.virtualbox.org/viewtopic.php?t=15868)を参照してください。例:sudo mount -t vboxsf -o rw,uid=1000,gid=1000 share ~/host
-timbrown

@user起動時にこのマウントを自動化するにはどうすればよいですか?

ユーザーIDがわからない場合は、変数を使用できます。マウンドコマンドとなり、この場合sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) wd ~/share

28

Linuxゲストを使用するVirtualBoxの場合、共有フォルダーをマウントする手順は次のとおりです。

  1. VirtualBoxホストのアプリケーションであるVirtualBox Managerを使用して、共有するホストフォルダーを指定します。

  2. VirtualBox Guest AdditionsがVirtualBoxゲストにインストールされていることを確認してください。

  3. Linuxゲストでは、mountコマンドは共有がマウントされた行を表示する必要があります。これはで示されtype vboxsfます。問題は、マウントポイントが必要な場所にない可能性があり、アクセス許可がルートのみであるということです。デフォルトのマウント場所はです/media/sf_

  4. ユーザーまたはグループID 1000をgroupのメンバーにすることで、共有にアクセスできますvboxsf。これはvboxsf/etc/groupファイル内の行を変更することにより行われます。再起動が必要な場合があります。

  5. VBoxControlコマンドを使用して、フォルダーのマウント場所を変更できます。このコマンドは、Guest Additionsのインストール時にインストールされます。再起動が必要な場合があります。たとえば、次のコマンドを使用してVirtualBox共有フォルダーguestpropertyを設定するようにマウントポイントを変更する/media/sf_.../home/toto/sf_...は、次のようにします。

sudo VBoxControl guestproperty set / VirtualBox / GuestAdd / SharedFolders / MountDir / home / toto /

変更を確認するには、getを使用します。

sudo VBoxControl guestproperty get /VirtualBox/GuestAdd/SharedFolders/MountDir

参照:

VirtualBoxの共有フォルダー情報

VirtualBoxのゲストプロパティ情報


4
新しい問題、Vbox 4.3.10でリンクが破損していることを確認します(ls -l)/sbin/mount.vboxsfを確認します。ターゲットが存在しない場合、ディレクトリを再マッピングする必要があります: sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
ppostma1 14

4
あなたが使用することができますvboxsfグループにユーザーMYUSERを追加するには:sudoのはadduser myuserのvboxsf

VirtualBox 4.3.14は

Windows 8.1のVirtualBox 4.3.20を使用しています。VMにUbuntuがインストールされています。ゲストのものがインストールされていてもtype vboxsfmountコマンドを実行すると表示されません!助けてください
-J86

20

遭遇したとき:

mount: Protocol error

VirtualBoxでフォルダーを共有しようとした後、例えば:

$ sudo mount -o uid=1000,gid=1000 -t vboxsf D_DRIVE ~/host

これは最終的に私のために働いた:

$ sudo apt-get install virtualbox-guest-dkms

(私のセットアップ:Windows 7ホスト、ゲスト:Ubuntu 12.04,13.10,14.04;現在VBox 4.3.10 r93012を実行しています)


5

ゲストOSに仮想ボックスの追加をインストールします。次に、ゲストOSをシャットダウンします。仮想ボックスでゲストの設定を開きます。次に、共有フォルダーを追加し、設定を保存します。次に、ゲストOSを起動し、ubuntuに対して以下のコマンドを発行します。現在のユーザーをvboxsfグループに追加します。

sudo adduser $ USER vboxsf

ゲストOSを再起動し、/ media /に移動して共有フォルダーにアクセスします。


sudo adduserが機能しません。「sudo usermod -a -G vboxsf myUser」を使用して追加すると機能します。ありがとう
アレックス14年

1
ええ、それは欠落していました:sudo adduser $ USER vboxsf今では動作します:

3

LinuxまたはMac OS X VirtualBoxゲスト内で、VirtualBox Guest Additionsをインストールしたら、次のコマンドで使用可能なVirtualBox共有フォルダーを見つけることができます。

sudo  VBoxControl  sharedfolder  list

ゲスト内のホームフォルダーにVirtualBox共有フォルダーと同じ名前のフォルダーが含まれている場合、次のシェルスクリプトで自動的にマウントできます。

#!/bin/sh
#-----------------------------------------------------------------------------
# Discover VirtualBox shared folders and mount them if it makes sense
#-----------------------------------------------------------------------------

if  !  type  VBoxControl  > /dev/null;  then
  echo  'VirtualBox Guest Additions NOT found'  > /dev/stderr
  exit 1
fi

MY_UID="$(id -u)"
MY_GID="$(id -g)"

( set -x;  sudo  VBoxControl  sharedfolder  list; )  |  \
grep      '^ *[0-9][0-9]* *- *'                      |  \
sed  -e 's/^ *[0-9][0-9]* *- *//'                    |  \
while  read  SHARED_FOLDER
do
  MOUNT_POINT="$HOME/$SHARED_FOLDER"
  if  [ -d "$MOUNT_POINT" ];  then
    MOUNTED="$(mount  |  grep  "$MOUNT_POINT")"
    if  [ "$MOUNTED" ];  then
      echo  "Already mounted :  $MOUNTED"
    else
      (
        set -x
        sudo  mount  -t vboxsf  -o "nosuid,uid=$MY_UID,gid=$MY_GID"  "$SHARED_FOLDER"  "$MOUNT_POINT"
      )
    fi
  fi
done

1

次のエラーが表示された場合:/sbin/mount.vboxsf:マウントがエラーで失敗しました:プロトコルエラー

残念ながら、これはデフォルトの共有名を使用するか、ホストの共有ディレクトリ名がマウントされたゲスト共有名と同じであることを意味します。この場合、それは「共有」です。別の共有フォルダ、つまり「vb_share」を作成して、実行するだけです:

mount -t vboxsf vb_share / home / <ユーザー> / host


1
  • Vbox Additionsをインストールします(ISOファイルまたはダウンロード)
  • 2つのシステムに任意の名前でディレクトリを作成します(mkdir shareたとえば、)
  • 「VBox共有フォルダー」に接続して、元のsysの共有フォルダー
  • 次のコマンドを使用して、フォルダーを接続します。
    sudo mount -t vboxsf name_of_folder_linked ~/name_of_folder_guest/

0

セットアップ:VirtualBox 4.3.26、Win 7 SP1ホスト、Debian jessie 8.0(安定)ゲスト。

VirtualBoxのマネージャでは、選択...共有フォルダの設定の中にデバイスドロップダウンメニュー。

表示されるポップアップウィンドウで、フォルダーリストで[ マシンフォルダー]を選択し、[ 新しい共有フォルダー定義の追加]ボタン(フォルダーリストの右側に緑色の「+」記号アイコンが付いた青いフォルダー)をクリックします。

表示される[ 共有の追加 ]ポップアップフォームで、[ フォルダーパス]フィールドの下向き矢印ボタンをクリックし、[ その他]を選択します。[ フォルダ参照]ポップアップウィンドウが表示されます。

(私の場合、ワークステーションに別のハードドライブを追加して、専用の共有に使用し、既にNTFS用にフォーマット済みで、ボリューム名を「share」にし、「G:」としてマウントしたので、矢印をクリックしました[ コンピューター]の横にあるドライブG:を選択し、[ OK ]ボタンをクリックしました。

(あなたの場合、共有したいフォルダまたはドライブを選択し、[ OK ]ボタンをクリックする必要があります。)

選択して[ OK ]ボタンをクリックすると、VirtualBox Managerが[ 共有追加]フォームの[ フォルダーパス]および[ フォルダー名]フィールドに入力します。[ フォルダパス]フィールドはそのままにしておきますが、必要に応じて[ フォルダ名]を変更できます。後で忘れないようにしてください。

Make Permanentチェックボックス選択してAdd Shareフォームを完成させますが、Auto-mountチェックボックスはオフのままにしてください。後でマウントすることに注意してください。(そしてもちろん、フォルダまたはドライブを読み取り専用にしたい場合は、先に進み、[ 読み取り専用 ]ボックスをオンにします。)[ OK ]ボタンをクリックします。

新しく設定されたシェアは現在、下のエントリとして表示されますマシンフォルダのフォルダ一覧OKボタンをクリックします。

ブート(起動)時にこの共有をマウントするには、Debian jessieゲストインストールの/ etc / fstabにマウント定義行を追加する必要があります。この編集は、ルートとして、またはsudoを介して行う必要があります。次に例を示します。

sudo nano /etc/fstab

(私は個人的にviを使用しましたが、nanoはDebian jessieのデフォルトのエディターであるため、上記の例で指定しました。)

この共有をホームディレクトリにマウントし、その所有権とグループを個人のUIDとGIDに設定して、次の定義を/ etc / fstabに追加しました。

share /home/conib/share vboxsf comment=systemd.automount,uid=conib,gid=conib,noauto 0 0

(「=」、「。」、または「、」文字の周りにスペースがないことに注意してください。)

/ etc / fstab定義は次の形式です

<Device> <Mount Point> <Type> <Options> <Dump> <Pass>

(定義のフィールド間には空白(スペースまたはタブ、あるいはその両方)があるはずですが、フィールド内に空白はないことに注意してください。)

「デバイス」フィールドは、VirtualBox Manager Add Shareで指定したフォルダー名に設定する必要があります。デフォルトの「G_DRIVE」を「share」に変更しました。

「マウントポイント」は、すでに存在している必要がありますが空のディレクトリパス仕様です。(つまり、そのディレクトリに既に存在するものはすべて、その上にマウントするものによって隠されます。)ホームディレクトリに「share」という名前の新しい空のサブディレクトリを作成しました。

「タイプ」は「vboxsf」です。

「オプション」(comment = systemd.automount、uid = conib、gid = conib、noauto)は扱いにくいビットであり、このセットアップで動作させるには少し手間がかかりました。

「ダンプ」を0に設定するのは、別の値に設定する必要があることがわからない場合です。

また、この共有をfsckでチェックしたくないため、「Pass」も0に設定します。

定義行を/ etc / fstabに追加したら、Debianゲストを再起動し、共有のファイルとサブフォルダーが表示されることを確認します。

HTH。

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