Lỗi khi gắn các thư mục chia sẻ VirtualBox trong máy khách Ubuntu


77

Tôi có Ubuntu 10 là hệ điều hành khách trên máy Windows 7. Tôi đã cố gắng thiết lập chia sẻ thông qua VirtualBox, nhưng không có gì hoạt động. Đầu tiên, tôi tạo chia sẻ trong VirtualBox và trỏ nó vào một thư mục Windows. Sau đó, tôi cố gắng gắn ổ đĩa vào Linux, nhưng tôi tiếp tục nhận được

/sbin/mount.vboxsf: lỗi không thành công với lỗi: Lỗi giao thức

Tôi đã đọc rất nhiều giải pháp cho vấn đề này, nhưng dường như không có giải pháp nào hiệu quả. Tôi đã thử:

  • Sử dụng cú pháp mount.vboxsf
  • Cài đặt lại bổ sung VBox
  • Khởi động lại
  • Kích hoạt và thử làm tài khoản root

Tôi đã thực hiện chia sẻ có tên "Kiểm tra" trong các thư mục được chia sẻ của VBox. Sau đó, tôi đã tạo một thư mục trong ubfox có tên "test2". Sau đó, tôi đã cố gắng thực hiện lệnh này:

sudo mount -t vboxsf Thử nghiệm / mnt / test2

Còn ý tưởng nào khác không?

Câu trả lời:


90

Để sử dụng chức năng thư mục dùng chung, một số điều kiện tiên quyết cần phải được đáp ứng:

  • Đảm bảo rằng Bổ sung khách được cài đặt đúng trên hệ điều hành khách.
  • Người dùng trong một khách Ubuntu phải ở trong nhóm vboxsfđể có thể truy cập vào các chia sẻ.
  • Xác định một thư mục trên máy chủ sẽ được sử dụng trong máy ảo bằng cách sử dụng hộp thoại cài đặt của Hộp ảo.

Tùy thuộc vào máy chủ hoặc hệ điều hành khách, những điều sau đây cũng có thể cần thiết:

  • Không chia sẻ các thư mục cá nhân như /home/usernamehoặcMy Documents
  • Tránh các ký tự đặc biệt hoặc khoảng trống trong đường dẫn đến thư mục dùng chung, đặc biệt nếu máy chủ hoặc VM là máy Windows
  • Sử dụng các tên khác nhau để chia sẻ và mountpoint
  • Tạo một điểm gắn kết trên hệ điều hành khách (tốt nhất trong thư mục HOME của bạn).

Kiểm tra chức năng thư mục dùng chung có thể được thực hiện bằng cách tạo thư mục dùng chung trên máy chủ (ví dụ C:\myshare), xác định đây là thư mục dùng chung cho hệ thống khách của bạn trong cài đặt Hộp ảo (ví dụ share), tạo điểm gắn kết trong hệ điều hành khách của bạn (ví dụ mkdir /home/username/host) và gắn kết Điều này trong hệ điều hành khách với lệnh:

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

trong đó tùy chọn -o đảm bảo rằng bạn sẽ có quyền truy cập vào mount (nếu không sẽ được sở hữu bởi root).

Để biết thêm thông tin về các thư mục được chia sẻ, xem thêm Hướng dẫn sử dụng Hộp ảo .

Các tập tin hoặc thư mục cũng có thể được chia sẻ qua mạng bằng cách sử dụng Samba trên máy chủ và khách.


4
Tôi tin rằng tôi đã đáp ứng tất cả các yêu cầu này nhưng vẫn nhận được lỗi. Có cách nào để tôi có thể chẩn đoán vấn đề là gì không?
skaz

1
Không đến cấp độ chuỗi ký tự, nhưng chia sẻ của tôi là C: \ test thay vì C: \ myshare, nó được xác định trong VBox 4.0.4. Tôi đã tạo một thư mục trong / home / [myusername] / test2 và một thư mục trong / mnt / test2 và chạy lệnh chính xác trên hai thư mục này và cả hai đều trả về cùng một lỗi.
skaz

1
Cảm ơn bạn đã giúp đỡ! Tôi đã không nhận ra rằng các từ "test" và "Test2" sẽ được coi là sử dụng cùng một tên. Điều này đã giải quyết vấn đề!
skaz

2
Đối với 'chia sẻ', tôi đã dại dột sử dụng sf_ [sharename], vì tôi có thể thấy nó được gắn dưới / media / với tên đó và cho rằng nó sẽ cần tên cục bộ ubfox chứ không phải tên riêng của VBox. Tuy nhiên, tôi đã xóa tiền tố 'sf_' và điều này đã giải quyết vấn đề.
Astravagrant

1
@MichaelScheper đây là những khuyến nghị chỉ - nếu nó làm việc cho bạn, tất cả đều tốt.
Takkat

15

Tôi cũng gặp rắc rối này. Tôi thấy rằng thư mục chia sẻ đã được gắn kết tại /media/sf_share.

Tôi đã cố gắng để xóa /media/sf_share, nhưng tôi không thể.

Vì vậy, tôi đã xóa thư mục chia sẻ "chia sẻ" trong thư mục nhà của tôi.

$ rm -r ~/share

Và sau đó chuyển sang người dùng root theo cách sau:

$ sudo -i

Tạo liên kết mềm / lối tắt đến thư mục / media / sf_share do người dùng root sở hữu để sửa đổi quyền sở hữu của liên kết mềm bằng lệnh chown. Thoát khỏi người dùng root đến người dùng bình thường

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

$ chmod 777 ~/share

Bạn có thể xem các tệp trong Windows thông qua thư mục dùng chung. Và tên người dùng phải là thành viên của nhóm vboxsf.


Cảm ơn ! bạn đã đúng ... đã được gắn vào / media / sf_sharename
Laurent

1
Sử dụng CentOS 7 và tôi cũng thấy rằng thư mục của mình được gắn kết tại media/sf_sharename. Tạo một liên kết tượng trưng đến thư mục đó dường như là một tùy chọn có thể, nhưng điều này hoàn toàn khác với quy trình được quảng cáo / ghi lại trên trang web VirtualBox. Phải có một giải pháp thích hợp cho vấn đề này!?!?
cartb Beforehorse

11

Đây là những gì làm việc cho tôi mà không có vấn đề gì

Tôi nhận ra rằng, thực ra usertên của tôi không thuộc nhóm vboxsf . Làm theo hai lệnh sẽ giúp lấy thông tin nhóm:

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

Vì vậy, tôi đã thêm saurav(tôi) vào nhóm vboxsf bằng lệnh sau:

sudo usermod -a -G vboxsf saurav 

Sau đó khởi động lại hộp ảo và sau đó .. Nhảy từ vị trí của tôi ..: D: D Mọi thứ đều hoạt động tốt mà không có vấn đề gì.

Hãy bình luận nếu bất cứ ai vẫn có bất kỳ vấn đề ..


2
Điều này làm việc cho tôi, cảm ơn bạn. Chỉ có một loại: nên là sudo usermod -a -G vboxsf saurav(nhóm đầu tiên sau đó là người dùng).
dùng673592

Có .. Đánh máy không chính xác .. :) Cảm ơn bạn đã chỉ ra. Đã chỉnh sửa ngay bây giờ ..
Saurav Kumar

1
Bạn không cần phải khởi động lại VB để có được nhóm mới được chỉ định. $ su - saurav sẽ thực hiện thủ thuật.
Stephen Boston

2

Tôi cũng đã vật lộn rất nhiều với việc gắn kết, và đã thử mọi thứ tôi nghĩ ra trong interwebz nhưng cuối cùng tôi đã tìm thấy một cách giải quyết rất kỳ lạ để giải quyết nó! Khách của tôi là Ubuntu 13 và máy chủ của tôi là Windows 7.

Thay đổi thư mục phương tiện và từ đó gõ user@os:/media$ sudo mount -t vboxsf share /home/username/folder

Vâng, đó là nó. Nhưng tôi không hiểu tại sao nó chỉ hoạt động nếu nó được thực hiện từ thư mục phương tiện. Nếu ai đó biết xin vui lòng giải thích cho chúng tôi dưới đây. Cảm ơn.

Ps Chỉnh sửa tôi /etc/rc.localđể thực hiện tự động khi khởi động không phù hợp với tôi.


1
/etc/rc.local sẽ không bao giờ hoạt động, vì nó đã được thực hiện trước khi mạng kết thúc.
Braiam

2
Chào Braiam! Rất vui được biết. Thật không may, tôi đã đọc trong vô số trang web mà mọi người khuyên nên chỉnh sửa /etc/rc.local để tự động hóa. Bạn có biết cách chính xác để tự động hóa nó khi khởi động là gì không? Cảm ơn.
BringBackCoosore64

Tôi cũng đang tìm thấy nó chỉ hoạt động từ / phương tiện truyền thông. Rất lạ. Tôi vừa thêm nó vào .profile của tôi : pushd media && sudo mount /media/<theshare> && popd.
Matt Greer

1

Với VirtualBox 5.1.20 chạy trên Windows 10 và Ubuntu 16.04 với tư cách là hệ điều hành khách đã cài đặt GuestAdditions 5.1.20, tôi không thể gắn các thư mục được chia sẻ từ dòng lệnh. Các lệnh mount không thành công, với đề cập đến Lỗi Giao thức và sf_read_super_aux err = -22.

Cuối cùng, tôi tìm thấy https://www.virtualbox.org/ticket/16670 "symlink mount.vboxsf bị hỏng". Tôi đã theo dõi một trong những cách giải quyết ở đó, để sửa liên kết tượng trưng cho mount.vboxsf và tất cả đều hoạt động. Cách tiếp cận của tôi là làm:

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

Các lệnh cần phải được thực hiện bằng root. Vì vậy, vì là Ubuntu, tôi đã thêm "sudo" vào đầu mỗi dòng để thực hiện lệnh dưới quyền root. Các hương vị khác của Linux có những cách khác để làm điều đó.

Bên cạnh đó, có một vấn đề liên kết tương tự được báo cáo trong Ticket # 12879 "Không thể gắn các thư mục được chia sẻ với các bổ sung của khách 4.3.10" vào năm 2014, đã được khắc phục vào tháng sau.

2017-04-27


@duncan: điểm tốt. Tiêu đề của vé mô tả vấn đề, nhưng tôi đã chỉnh sửa để hiển thị giải pháp tôi đã sử dụng.
J Cumming

Thay đổi cho hộp ảo v5.1.22 tại virtualbox.org/wiki/Changelog#v22 nói rằng
J Cumming

Thay đổi cho hộp ảo v5.1.22, phát hành 2017-04-28, ( virtualbox.org/wiki/Changelog#v22 ), nói rằng lỗi / vé # 16670 này đã được sửa. Tôi rất phấn khích!
J Cumming

Không chắc tại sao điều này bị hạ cấp, nhưng nó đã giúp tôi giải quyết các vấn đề của mình khi sử dụng Vbox 5.122
qodeninja

1

Đối với tôi, vấn đề là tôi là một con ngỗng và tôi đã quên rằng tôi đã xóa mục nhập khỏi danh sách Thư mục được chia sẻ của mình trong VirtualBox (Máy → Cài đặt → Thư mục được chia sẻ).

Tôi chỉ ném cái này vào đây, trong trường hợp bất kỳ ai khác cũng bị đánh lừa tương tự bởi 'Lỗi giao thức'.

: honk: 😉


1

Đã thử tất cả những điều đã nói ở trên và không có gì làm việc cho tôi. Tôi đã tạo một thư mục tạm thời mới "Được chia sẻ" khi bật "Tạo vĩnh viễn" và "Tự động gắn kết". Và sau đó chạy lệnh

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

Nó làm việc cho tôi. Không có lỗi lần này.


0

Thư mục chia sẻ của tôi đã hoạt động và sau khi khởi động lại máy chủ của tôi, nó đã không hoạt động.

Bằng cách thay đổi tên của thư mục được chia sẻ từ Shared thành Shared2, nó đã hoạt động.

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

Không có ý tưởng về những gì đã xảy ra và tại sao cũng như cách khắc phục. Hệ thống không có trạng thái đột biến toàn cầu như Nix có một điểm.


0

Cá nhân tôi đã đối mặt với cùng một thông báo lỗi và vấn đề liên quan đến thực tế là tôi đã mắc một lỗi đánh máy liên quan đến thư mục nằm trên máy chủ và tôi đã đặt làm thư mục dùng chung từ bên trong máy ảo nhờ các bổ sung của khách.

Vì vậy, lệnh đúng là:

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

Điều này đã sửa thông báo lỗi.


0

Đối với tôi đó là phiên bản sai của bổ sung khách.

Tôi đã chuyển toàn bộ VM của mình từ một máy tính xách tay (chạy VirtualBox 5,8 / thứ gì đó) sang một máy tính xách tay khác có VirtualBox 6.0. Tất cả mọi thứ hoạt động ngoại trừ việc gắn thư mục chia sẻ.

Tôi chỉ bắt đầu VM, nhấp vào Devices -> Insert Guest additions CD image...và làm theo hướng dẫn. Nó đã đưa ra một chút về sự hiện diện của các phiên bản bổ sung dành cho khách cũ, nhưng sau đó đã gỡ bỏ nó và cài đặt phiên bản mới trong lần thử thứ hai. Khởi động lại và làm việc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.