Làm cách nào để truy cập thư mục dùng chung trong VirtualBox?


160

Tôi đã làm theo các bước để chia sẻ thư mục giữa Windows 7 và Ubuntu trong VirtualBox.

Mặc dù thư mục xuất hiện với dấu X và cho tôi thông báo sau khi thử mở nó:

Nội dung thư mục không thể hiển thị

Khi tôi chọn Shared Foldertừ Devicemenu VirtualBox , cảnh báo sau sẽ được hiển thị:

Trên trang hệ thống, bạn đã chỉ định hơn 50% bộ nhớ máy tính (2,93 GB) cho máy ảo ...

Làm cách nào tôi có thể chia sẻ thành công các thư mục giữa Windows và Ubuntu bằng VirtualBox?


Lưu ý rằng bạn không thể chia sẻ liên kết tượng trưng!
Joel Sjögren

Câu trả lời:


147

Truy cập vào các thư mục được chia sẻ trong Virtual Box

Dòng lệnh

Theo mặc định, các thư mục chia sẻ VirtualBox được tạo với quyền đọc / ghi cho khách. Điều này có thể được thực hiện từ dòng lệnh trên máy chủ với:

VBoxManage sharedfolder add "VM name" --name sharename --hostpath "C:\test"

Bằng cách thêm tùy chọn, --readonlychúng tôi có thể hạn chế các tùy chọn này để truy cập chỉ đọc. Sử dụng --transienttùy chọn nếu bạn chỉ muốn các chia sẻ xuất hiện trong phiên hiện tại nhưng không liên tục cho các phiên tiếp theo. Có một số hạn chế đối với các thư mục được chia sẻ (xem câu hỏi này để biết chi tiết). Nếu các điều kiện tiên quyết được đáp ứng, chúng tôi có thể gắn các thư mục được chia sẻ này theo cách thủ công bằng cách chạy các lệnh sau trong máy khách:

mkdir /home/<user>/vboxshare
sudo mount -t vboxsf -o uid=1000,gid=1000 sharename /home/<user>/vboxshare  

Tất nhiên, chúng ta cũng có thể sử dụng các tùy chọn gắn kết khác nhau để gắn kết dưới dạng đọc / chỉ hoặc gắn kết với quyền truy cập đọc chỉ để root.

Tự động gắn kết thông qua Trình quản lý hộp ảo

Trong trường hợp chúng tôi kích hoạt tính năng tự động gắn vào khi tạo thư mục dùng chung từ Trình quản lý hộp ảo, các thư mục được chia sẻ đó sẽ tự động được gắn vào máy khách với điểm gắn kết /media/sf_<name_of_folder>. Để có quyền truy cập vào các thư mục này, người dùng trong khách cần phải là thành viên của nhómvboxsf .

sudo usermod -aG vboxsf userName

Khách sẽ cần phải khởi động lại để thêm nhóm mới.

Nguồn và đọc thêm: Hướng dẫn sử dụng hộp ảo


17
tôi đặt một thư mục dùng chung trong GUI và cũng đặt Auto-Mount. khởi động lại VM, đi đến /medianhưng vẫn không có gì ở đó
lưỡng cư

2
@amphibient @ laike9m Tôi phải khởi động lại VM để xem thư mục trong/media/
David_G

7
Lệnh này, được đề xuất bởi một câu trả lời khác ở đây, có vẻ rõ ràng hơn và có đầu ra tốt hơn:sudo adduser your_username vboxsf
Jordan Brough

1
@JordanBrough: hoàn toàn chính xác - tất cả các cách đều dẫn đến Rome. Bạn thậm chí có thể sử dụng một frontend đồ họa users-admin. Lệnh đã được chỉnh sửa bởi người dùng khác.
Takkat

Cảm ơn câu trả lời của bạn .. trong lệnh bạn đã đề cập ở trên sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/<user>/vboxshare, tôi không thấy đề cập đến sharename, được sử dụng khi tạo thư mục dùng chung VBoxManage sharedfolder add "VM name" --name "sharename" --hostpath "C:\test". Nếu có nhiều thư mục được chia sẻ .. làm thế nào VirtualBox biết sharenameliên kết thư mục đó vboxsharevới ai? Hay bạn có nghĩa là sharenamenên giống như vboxshare?
alpha_989

121

Trên thực tế có một cách dễ dàng để làm điều đó:

  1. Cài đặt gói mở rộng cho VirtualBox.
  2. Khởi động lại máy ảo của bạn
  3. Cài đặt bổ sung khách trong Ubuntu khách của bạn

    • Bạn có thể gắn ISO đang bật /mediahoặc nhấn Left Control+D
  4. Khởi động lại

  5. Hãy cố gắng truy cập /media/sf_your_shared_folder_name. Nếu bạn vẫn không có quyền truy cập, điều đó có nghĩa là bạn không thuộc về vboxsfnhóm, như Nilo nói. Lệnh này sẽ giải quyết vấn đề của bạn:

    sudo adduser your_username vboxsf
    
  6. Đăng xuất và đăng nhập lại để áp dụng các thay đổi của adduser. Xem bình luận của kol và atcold dưới đây.

  7. Nếu bạn vẫn không thể xem thư mục dùng chung, bạn phải gắn kết nó. Bạn có thể kích hoạt automount cho thư mục dùng chung trong các tùy chọn của VirtualBox Manager.
  8. Khởi động lại.

7
ĐIỀU NÀY. Tôi không thuộc nhóm người dùng. Có vẻ như điều đó đã được tự động hóa bằng cách bổ sung cử chỉ hoặc ít nhất là được nêu rõ ràng.
AwokeKnowing

1
Có vẻ như vấn đề với tôi là tên người dùng của tôi không phải là root. Điều đó đáng lẽ phải được đề cập ở đâu đó
AwokeKnowing

22
QUAN TRỌNG: Bạn phải khởi động lại máy tính sau khi gọi adduser.
kol

5
@kol Không, bạn chỉ cần đăng xuất và đăng nhập lại.
Đã kết thúc

@Atcold Đăng xuất và đăng nhập lại thêm nhóm vào người dùng hiện tại (phiên) nhưng không kích hoạt tự động gắn kết thư mục dùng chung trong trường hợp của tôi. Chỉ có một khởi động lại đã làm.
SCAI

83

Trước tiên, hãy chắc chắn rằng bạn đã cài đặt Bổ sung khách

  1. Khởi động máy ảo của bạn

  2. Thiết bị> Chèn hình ảnh bổ sung của khách ... Chèn hình ảnh bổ sung của khách ...

  3. Gắn đĩa CD:

    sudo mount /dev/cdrom /media/cdrom
    
  4. Cài đặt các gói cần thiết:

    sudo apt-get install make gcc linux-headers-$(uname -r)
    
  5. Tải về:

    sudo /media/cdrom/VBoxLinuxAdditions.run
    

Thứ hai, thêm người dùng của bạn vào nhóm 'vboxsf':

~$ echo $USER; 
ahmed
~$ sudo usermod -a -G vboxsf ahmed

Khởi động lại

Biết rằng nhãn của thư mục dùng chung của bạn là lpi(ví dụ):

Chỉnh sửa thư mục dùng chung

Chuẩn bị sf_cho nhãn. Sau đó, bạn sẽ tìm thấy thư mục chia sẻ của bạn dưới/media/sf_lpi

Cuối cùng, bạn cũng có thể tạo một liên kết đến nhà của bạn. Ví dụ:

ln -s /media/sf_lpi /home/ahmed/lpi

:)


Tôi có thể sử dụng thư mục dùng chung từ máy ảo Ubuntu mà không có hình ảnh đĩa cứng, nhưng chỉ với hình ảnh Live CD không? Về cơ bản, tôi đang cố gắng thêm hai ổ đĩa CD, một ổ đĩa Ubuntu Live CD và ổ đĩa còn lại giữ VBGuestAdditions.iso và khởi động máy, sau đó cài đặt VBGuestAdditions trong root loopback, sau đó tôi muốn có thể truy cập một thư mục chia sẻ.
Sorin Postelnicu

Ngoài ra, có cách nào để xem thư mục dùng chung trước khi cài đặt, chẳng hạn như bằng cách sử dụng một lệnh như lsblk hoặc một cái gì đó?
Sorin Postelnicu

Khi tôi cố gắng thực hiện "sudo mount -t vboxsf mysharename mysharemountpoint", tôi luôn nhận được: "/sbin/mount.vboxsf: việc cài đặt không thành công với lỗi: Không có thiết bị như vậy"
Sorin Postelnicu

24

Thêm thư mục được chia sẻ vào máy ảo bằng giao diện đồ họa BBox Đảm bảo chọn tự độngtạo vĩnh viễn

Đăng nhập vào máy ảo bằng tài khoản root

Kiểm tra nhóm vboxsf tồn tại

~$ grep vboxsf /etc/group
vboxsf:x:125:

Kiểm tra người dùng chưa có trong nhóm vboxsf

~$ id nilo
uid=1000(nilo) gid=1000(nilo) groups=1000(nilo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare)

Thêm người dùng nilo vào nhóm vboxsf

~$ sudo usermod -a -G vboxsf nilo

Kiểm tra lại nhóm người dùng

~$ id nilo
uid=1000(nilo) gid=1000(nilo) groups=1000(nilo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare),125(vboxsf)

Khởi động lại và đăng nhập như nilo

Thư mục được chia sẻ hiện có thể truy cập được /media/sf_dropbox(dropbox là tên tôi đã chia sẻ)


Khởi động lại làm việc cho tôi!
Tarik

10

Chia sẻ thư mục giữa Hệ điều hành máy chủ-> Windows và Hệ điều hành khách -> Ubuntu (Hộp ảo)

Bước 1 Cài đặt cài đặt Bổ sung khách từ menu của VirtualBox đi đến Thiết bị-> Cài đặt Bổ sung khách Điều này sẽ gắn CD ảo trên / media / cdrom của bạn. Là người dùng root Mở thư mục đã thêm / media / cdrom này bằng tùy chọn Open with terminal (Nhấp chuột phải bằng chuột).

Bước 2 Chạy chương trình VBoxLinuxAdditions.run. Khi chương trình hoàn tất khởi động lại VirtualBox của bạn.

$ sudo ./VBoxLinuxAdditions.run

Bước 3 Tạo một thư mục chia sẻ. Từ menu ảo đi đến Thiết bị-> Thư mục được chia sẻ, sau đó thêm một thư mục mới trong danh sách, thư mục này sẽ là thư mục trong cửa sổ mà bạn muốn chia sẻ với Ubuntu (Hệ điều hành khách). Làm cho thư mục được tạo này tự động gắn kết. Ví dụ -> Tạo một thư mục trên Desktop với tên Ubuntushare và thêm thư mục này.

Bước 4 Khi thực hiện với đặc tả (các) thư mục dùng chung của bạn, chúng tôi sẽ gắn thư mục từ Ubuntu (Hệ điều hành khách). Tạo một mountpoint, đây là một thư mục trong Ubuntu sẽ chia sẻ các tệp với thư mục được chia sẻ từ Windows. Chạy cái này để tạo một thư mục trong Ubuntu

$ sudo mkdir ~/Desktop/windowsshare

Bước 5 Với mountpoint của bạn được tạo, bây giờ bạn có thể mount thư mục dùng chung. Chạy lệnh này để chia sẻ thư mục:

$ sudo mount -t vboxsf Ubuntushare ~/Desktop/windowsshare

Ubuntushare là tên của thư mục chúng tôi thêm vào trong phần Thiết bị VirtualBox thư mục này nằm trong Windows (Hệ điều hành máy chủ). ~ / Desktop / windowsshare là thư mục trong Ubuntu (Guest OS)

CONGRATULATION-> Bây giờ bạn có thể chia sẻ các tệp giữa Windows và Ubuntu. Hãy thử thêm bất kỳ tệp nào trong windows (Host OS) Thư mục chia sẻ Ubuntu bây giờ kiểm tra thư mục windowsshare Ubuntu (Guest OS), tệp sẽ được phản ánh.

Bài báo của tôi

Thư mục dùng chung b / w windows và ubfox


3
  1. Cài đặt chương trình có tên 'Chương trình và nhóm' từ Trung tâm phần mềm
  2. Chọn người dùng hiện tại và nhấp vào Quản lý nhóm
  3. Chọn vboxsf và nhấp vào 'Thêm'
  4. Khởi động lại

Không thể tìm thấy trong trung tâm phần mềm Mint 17.1 nhưng menu có người dùng và nhóm, phải không ??
russ_hensel

@russ_hensel Mint không phải là hương vị chính thức của Ubuntu. Đặt câu hỏi của bạn tại Unix & Linux thay thế.
wjandrea

1
  1. Tạo một thư mục nơi bạn sẽ gắn kết này, như mkdir docs

  2. Cài đặt Bổ sung khách vào máy Ubuntu của khách.

  3. Tắt máy khách Ubuntu, sau đó định cấu hình nó.

  4. Trong Storage, thiết lập thư mục dùng chung của bạn và ghi chú những gì bạn đặt làm tên trong trường thứ hai. Ví dụ "điên". Kiểm tra hộp cho Auto-Mount.

  5. Khởi động máy khách Ubuntu.

  6. Như bạn đã nói, nó sẽ không thực sự có thể truy cập được. (Đây là phần chính trong câu hỏi của bạn.) Bạn sẽ tìm thấy thay vì nó có mặt tại đó /media/sf_crazy, nơi 'crazy' là tên bạn đã đặt cho nó. Và, nó cũng sẽ có mặt trong thư mục nhà của bạn tại ~/crazy.

  7. Bây giờ bạn cần thực hiện thêm một bước nữa để thực sự gắn kết nó:

    sudo mount -o uid=1000,gid=1000 -t vboxsf ~/crazy ~/docs
    

1

Thực hiện các bước này sau khi cài đặt Khách bổ sung. Đối với môi trường máy chủ Windows 10, trên máy Windows tôi phải chia sẻ các thư mục.

  1. Nhấp chuột phải vào thư mục để chia sẻ
  2. Chọn "Chia sẻ với"
  3. Chọn "Người cụ thể"
  4. Chọn mọi người, đọc / ghi tùy chọn
  5. Trên máy khách Ubuntu chạy lệnh: sudo adduser xxxxxxx vboxsf

xxxxxx là tên tài khoản người dùng của bạn. Đăng xuất và đăng nhập lại vào Ubuntu.


0

Tính đến bây giờ (phiên bản 6.0.10 của VirtualBox) có make permanentauto-mounttùy chọn cho thư mục chia sẻ, cũng mount point( At) trong giao diện của VirtualBox. Đối với tôi sau đây làm việc:

  1. Trên Ubuntu khách: sudo apt-get install virtualbox-guest-utils
  2. Thêm thư mục chia sẻ trong GUI của VirtualBox.
  3. Khởi động lại hệ điều hành khách

Thư mục trên điểm gắn kết được chỉ định trong GUI được tạo tự động và lshiển thị các tệp nằm trên máy chủ Windows PC.

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.