VirtualBox paylaşılan klasörleri Ubuntu konuğuna yerleştirirken hata oluştu


77

Bir Windows 7 makinede misafir işletim sistemi olarak Ubuntu 10'um var. VirtualBox aracılığıyla paylaşımları ayarlamaya çalışıyorum, ancak hiçbir şey çalışmıyor. Öncelikle, VirtualBox'ta paylaşım oluşturup bir Windows klasörüne doğrultuyorum. Sonra sürücüyü Linux'a monte etmeye çalışıyorum, ancak almaya devam ediyorum

/sbin/mount.vboxsf: mount hatayla başarısız oldu: Protokol hatası

Bunun için pek çok çözüm okudum, ancak hiçbiri işe yaramadı. Denedim:

  • Mount.vboxsf sözdizimini kullanma
  • VBox eklerini yeniden yükleme
  • Rebooting
  • Kök hesap olarak etkinleştirme ve deneme

VBox Paylaşılan klasörlerinde "Test" adlı bir paylaşım yaptım. Sonra "test2" adlı ubuntu'da bir dizin hazırladım. Sonra bu komutu yerine getirmeye çalıştım:

sudo mount -t vboxsf Test / mnt / test2

Başka fikrin var mı?

Yanıtlar:


90

Paylaşılan klasör işlevini kullanmak için birkaç ön koşulun karşılanması gerekir:

  • Konuk Eklemelerinin konuk işletim sistemine düzgün şekilde yüklendiğinden emin olun .
  • Konuk Ubuntu'daki kullanıcıların vboxsfpaylaşımlara erişebilmeleri için grupta olmaları gerekir.
  • Sanal Makinede ayarlar iletişim kutusunu kullanarak, sanal makinede kullanılacak ana makinede bir dizin tanımlayın.

Ana bilgisayara veya konuk işletim sistemine bağlı olarak aşağıdakiler de gerekli olabilir:

  • /home/usernameVeya gibi kişisel klasörleri paylaşmayınMy Documents
  • Paylaşılan klasör yolundaki özel karakterlerden veya boş alanlardan kaçının; özellikle de ana makine veya VM bir Windows makinesi ise
  • Paylaşım ve bağlama noktası için farklı adlar kullanın
  • Konuk işletim sisteminde bir bağlantı noktası oluşturun (en iyisi HOME dizininizde).

Paylaşılan klasörlerin test edilmesi işlevi, ana bilgisayarda paylaşılan bir dizin oluşturarak (örn. C:\myshare), Bunu Sanal Kutu ayarlarında (örn. share) Konuk sisteminiz için paylaşılan bir klasör olarak tanımlayabilir, misafir sisteminizde bir bağlama noktası oluşturabilir (örn. mkdir /home/username/host) Bu misafir işletim sisteminde şu komutu ile:

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

-o seçeneği, mount'a erişime sahip olacağınızdan emin olur (aksi takdirde root olacaktır).

Paylaşılan klasörler hakkında daha fazla bilgi için ayrıca Sanal Kutu Kullanım Kılavuzuna bakınız .

Dosyalar veya dizinler ana bilgisayardaki ve misafirdeki Samba kullanılarak ağ üzerinden paylaşılabilir.


4
Tüm bu gereklilikleri yerine getirdiğime inanıyorum ama hala hata alıyorum. Sorunun ne olduğunu teşhis edebilmemin bir yolu var mı?
skaz

1
Dize değişmez düzeyinde değil, ancak paylaşımım C: \ myshare yerine C: \ test, VBox 4.0.4'te tanımlandı. / Home / [myusername] / test2'de bir klasör ve / mnt / test2'de bir klasör yaptım ve komutu tam olarak bu iki klasörde çalıştırdım ve her ikisi de aynı hatayı döndürdü.
skaz

1
Yardımınız için teşekkürler! "Test" ve "Test2" kelimelerinin aynı ismi kullanmış sayılacağını bilmiyordum. Bu sorunu çözdü!
skaz

2
'Paylaşım' için aptalca sf_ [sharename] kullandım, çünkü / media / bu adın altına monte edildiğini görebildim ve VBox'un kendi adına değil ubuntu-yerel ismine ihtiyaç duyacağını düşündüm. Ancak, 'sf_' önekini kaldırdım ve bu sorunu çözdü.
Astravagrant

1
@MichaelScheper bunlar sadece önerilerdir - eğer sizin için işe yararsa, her şey yolunda .
Takkat

15

Ben de bu sorunla karşılaştım. Paylaşılan klasörün zaten bağlı olduğunu buldum /media/sf_share.

Silmeyi denedim /media/sf_shareama yapamadım.

Böylece ana dizindeki paylaşılan klasörü "paylaşım" sildim.

$ rm -r ~/share

Sonra aşağıdaki şekilde kök kullanıcıya geçin:

$ sudo -i

Kök kullanıcı tarafından sahip olunan / media / sf_share klasörüne softlink / shortcut oluşturun, softlink'in chown komutuyla sahipliğini değiştirin. Kök kullanıcıdan normal kullanıcıya çıkma

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

$ chmod 777 ~/share

Dosyaları Windows'ta paylaşılan klasörden görebilirsiniz. Ve kullanıcı adı vboxsf grubunun bir üyesi olmalıdır.


Teşekkürler ! haklıydınız ... zaten / media / sf_sharename 'e bağlanmış
Laurent

1
CentOS 7 kullanarak ve ayrıca dizimin de monte edildiğini buldum media/sf_sharename. Bu dizine bir sembolik bağlantı oluşturmak olası bir seçenek gibi görünebilir, ancak bu, VirtualBox sitesindeki reklamı / belgelenmiş prosedürden oldukça farklıdır. Buna uygun bir çözünürlük olmalı!?!?
cartbeforehorse

11

İşte benim için sorunsuz bir şekilde çalıştı

Bunu aslında ismimin vboxsf grubunda userolmadığını anladım . Aşağıdaki iki komut, grup bilgisinin alınmasına yardımcı olacaktır:

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

Bu yüzden aşağıdaki komutu kullanarak vboxsf grubuna saurav(me) ekledim :

sudo usermod -a -G vboxsf saurav 

Sonra sanal kutuyu yeniden başlattım ve sonra .. Yerimden atladı ..: D: D Her şey sorunsuz çalıştı.

Herhangi biri hala sorun yaşıyorsa lütfen yorum yapın ..


2
Bu benim için çalıştı, teşekkür ederim. Sadece bir tür var: olmalıdır sudo usermod -a -G vboxsf saurav(önce grup sonra kullanıcı).
user673592

Evet .. Yanlış yazılmış .. :) Gösterdiğiniz için teşekkürler. Düzenlendi ..
Saurav Kumar

1
Yeni atanan grubunuzu almak için VB'yi yeniden başlatmanız gerekmez. $ su - saurav hile yapacak.
Stephen Boston

2

Ayrıca montaj ile çok mücadele ettim ve interwebz'de bulduğum her şeyi denedim ama sonunda çözmek için çok garip bir geçici çözüm buldum! Konuğum Ubuntu 13 ve ana bilgisayarım Windows 7.

Medya klasörüne ve oradan yazın user@os:/media$ sudo mount -t vboxsf share /home/username/folder

Evet işte bu. Ancak bunun nasıl gerçekleştiğini ancak medya klasöründen yapılırsa anlamıyorum. Birisi biliyorsa lütfen bize aşağıda açıklayınız. Teşekkürler.

Ps /etc/rc.localBaşlangıçta automounting yapmak için Düzenleme benim için çalışmıyor.


1
/etc/rc.local hiçbir zaman çalışmaz, çünkü ağ kurulmadan önce yapılır.
Braiam

2
Selam Braiam! Bilmek güzel. Ne yazık ki, sayısız siteyi okudum, insanlar autometinging için /etc/rc.local dosyasını düzenlemeyi tavsiye ediyor. Başlangıçta otomatikleştirmenin doğru yolunun ne olduğunu biliyor musunuz? Teşekkürler.
BringBackCommodore64

Ayrıca sadece / medyadan çalıştığını da buluyorum. Çok ilginç. Bunu sadece .profile: 'e ekledim pushd media && sudo mount /media/<theshare> && popd.
Matt Greer

1

Windows 10'da çalışan VirtualBox 5.1.20 ve GuestAdditions 5.1.20 yüklü konuk işletim sistemi olarak Ubuntu 16.04 yüklüyken, paylaşılan klasörleri komut satırından yükleyemedim. Mount komutları, Protocol Error ve sf_read_super_aux err = -22 ifadeleriyle başarısız oldu.

Sonunda https://www.virtualbox.org/ticket/16670 "mount.vboxsf symlink bozuk" bulundu. Mount.vboxsf işaretini düzeltmek için buradaki geçici çözümlerden birini izledim ve hepsi işe yaradı. Benim yaklaşımım şunları yapmaktı:

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

Komutların root tarafından yapılması gerekiyor. Bu yüzden, Ubuntu olduğu için, komutu her satırın başına "sudo" ekledim. Linux'un diğer lezzetlerinin de bunu yapmanın başka yolları var.

Bir kenara bırakıldığında, takip eden ayın düzeltildiği 2014'te, sanal kutunun Bilet # 12879 "Konuk eklemeleriyle paylaşılan klasörler kurulamıyor 4.3.10" da bildirilen benzer bir bağlantı sorunu vardı.

2017/04/27


@ duncan: iyi nokta. Biletin adı sorunu açıklıyor, ancak kullandığım çözümü göstermek için düzenledim.
J Cumming

En sanal kutu v5.1.22 için changelog virtualbox.org/wiki/Changelog#v22 söylüyor
J Cumming

2017-04-28 tarihinde yayınlanan sanal kutu v5.1.22 için değişiklik listesi ( virtualbox.org/wiki/Changelog#v22 ), bu hatanın / biletin # 16670'in sabit olduğunu söylüyor. Heyecanlıyım!
J Cumming

Emin değil bu downvoted ama Vbox 5,122 kullanarak sorunları olan bana yardımcı neden
qodeninja

1

Benim için sorun benim bir kaz olduğumdu ve girişi VirtualBox'taki (Makine → Ayarlar → Paylaşılan Klasörler) Paylaşılan Klasörler listemden çıkardığımı unuttum.

Bunu sadece buraya atıyorum, başka birinin de 'Protokol hatası' ile benzer şekilde yanlış yönlendirilmesi durumunda.

: honk: 😉


1

Yukarıda belirtilenlerin hepsini denedi ve hiçbir şey benim için işe yaramadı. Lats "Make Kalıcı" ve "Otomatik Montaj" etkinken "Paylaşılan" yeni bir geçici klasör oluşturdum. Ve sonra komutu çalıştırın

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

Benim için çalıştı. Bu sefer hata yok.


0

Paylaşılan klasörüm çalışıyordu ve ana bilgisayarımı yeniden başlattıktan sonra değildi.

Paylaşılan klasörün adını Paylaşılan'dan Paylaşılan2 olarak değiştirerek çalıştı.

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

Ne olduğu ve neden ne olduğu konusunda hiçbir fikrim yok. Nix gibi küresel değişebilen bir devletin olmadığı bir sistemin bir anlamı var.


0

Şahsen aynı hata mesajıyla karşılaştım ve sorun ana makinede bulunan klasörle ilgili bir yazım hatası yaptım ve misafir ilavesi sayesinde sanal makine içinden paylaşılan bir klasör olarak belirledim.

Yani doğru komut:

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

Bu hata mesajı düzeltti.


0

Benim için konuk eklemelerin yanlış versiyonuydu.

Tüm VM'mi bir sanal dizüstü bilgisayardan (VirtualBox 5.8 çalıştıran bir şey) VirtualBox 6.0 ile başka bir dizüstü bilgisayara taşıdım. Paylaşılan klasörün montajı dışında her şey çalıştı.

VM'yi yeni başlattım, tıklayın Devices -> Insert Guest additions CD image...ve talimatları takip ettim . Misafir ilavelerinin eski sürümünün varlığından biraz bahsetti, ancak daha sonra kaldırıldı ve yenisini ikinci denemeye kurdu. Yeniden başlat ve çalışıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.