จะเข้าถึงโฟลเดอร์ที่แชร์ใน VirtualBox ได้อย่างไร?


160

ฉันทำตามขั้นตอนสำหรับการแชร์โฟลเดอร์ระหว่าง Windows 7 และ Ubuntu ใน VirtualBox

แม้จะมีโฟลเดอร์ปรากฏขึ้นพร้อมกับเครื่องหมาย X และให้ฉันข้อความต่อไปนี้เมื่อพยายามที่จะเปิดมัน:

ไม่สามารถแสดงเนื้อหาของโฟลเดอร์

เมื่อฉันเลือกShared FolderจากDeviceเมนูVirtualBox คำเตือนต่อไปนี้จะปรากฏขึ้น:

ในหน้าระบบคุณได้มอบหมายหน่วยความจำคอมพิวเตอร์ของคุณมากกว่า 50% (2.93 GB) ให้กับเครื่องเสมือน ...

ฉันจะแชร์โฟลเดอร์ระหว่าง Windows และ Ubuntu ให้สำเร็จได้อย่างไรโดยใช้ VirtualBox


โปรดทราบว่าคุณไม่สามารถแชร์ symlink ได้!
Joel Sjögren

คำตอบ:


147

เข้าถึงโฟลเดอร์ที่แชร์ใน Virtual Box

บรรทัดคำสั่ง

โดยค่าเริ่มต้นโฟลเดอร์ที่ใช้ร่วมกันของ VirtualBox จะถูกสร้างขึ้นโดยมีสิทธิ์อ่าน / เขียนสำหรับแขก ซึ่งสามารถทำได้จากบรรทัดคำสั่งบนโฮสต์ด้วย:

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

โดยการเพิ่มตัวเลือก--readonlyเราสามารถ จำกัด สิ่งเหล่านี้สำหรับการเข้าถึงแบบอ่านอย่างเดียว ใช้--transientตัวเลือกหากคุณต้องการให้การแชร์ปรากฏในเซสชันปัจจุบัน แต่ไม่ขัดต่อเซสชันต่อไปนี้ มีข้อ จำกัด บางประการสำหรับโฟลเดอร์ที่แชร์ (ดูคำถามนี้สำหรับรายละเอียด) หากตรงตามข้อกำหนดเบื้องต้นเราอาจติดตั้งโฟลเดอร์ที่ใช้ร่วมกันเหล่านี้ด้วยตนเองโดยเรียกใช้คำสั่งต่อไปนี้ในเกสต์:

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

แน่นอนว่าเรายังสามารถใช้ตัวเลือกเมานต์ต่าง ๆ เพื่อเมานต์เป็นแบบอ่านอย่างเดียวหรือเมานต์ด้วยการเข้าถึงแบบอ่านเพื่อรูท

เมาท์อัตโนมัติผ่านตัวจัดการกล่องเสมือน

/media/sf_<name_of_folder>ในกรณีที่เราเปิดใช้งานอัตโนมัติติดตั้งในการสร้างโฟลเดอร์ที่ใช้ร่วมกันจากผู้จัดการกล่องเสมือนโฟลเดอร์ที่ใช้ร่วมเหล่านั้นจะถูกติดตั้งโดยอัตโนมัติของผู้เข้าพักที่มีจุดเชื่อมต่อ จะมีการเข้าถึงเหล่านี้ผู้ใช้โฟลเดอร์ที่อยู่ในความต้องการของผู้เข้าพักที่จะเป็นสมาชิกของกลุ่มvboxsf

sudo usermod -aG vboxsf userName

ผู้เยี่ยมชมจะต้องเริ่มต้นใหม่เพื่อเพิ่มกลุ่มใหม่

แหล่งที่มาและการอ่านเพิ่มเติม: คู่มือผู้ใช้กล่องเสมือน


17
ฉันตั้งค่าโฟลเดอร์แชร์ใน GUI และตั้งค่าเมาท์อัตโนมัติ รีสตาร์ท VM แล้วไป/mediaแต่ก็ยังคงไม่มีอะไรอยู่เลย
สัตว์สะเทินน้ำสะเทินบก

2
@amphibient @ laike9m ฉันต้องรีสตาร์ท VM เพื่อดูโฟลเดอร์ใน/media/
David_G

7
คำสั่งนี้แนะนำโดยคำตอบอื่นที่นี่ดูเหมือนชัดเจนและมีผลลัพธ์ที่ดีกว่า:sudo adduser your_username vboxsf
Jordan Brough

1
@JordanBrough: ถูกต้องทั้งหมด - นำไปสู่โรมทุกทาง คุณยังสามารถใช้เป็น users-adminfrontend คำสั่งถูกแก้ไขโดยผู้ใช้รายอื่น
Takkat

ขอบคุณสำหรับคำตอบของคุณ .. ในคำสั่งที่คุณกล่าวถึงข้างต้นsudo mount -t vboxsf -o uid=1000,gid=1000 share /home/<user>/vboxshareผมไม่เห็นกล่าวถึงของซึ่งจะใช้เมื่อมีการสร้างโฟลเดอร์ที่ใช้ร่วมกันโดยใช้sharename VBoxManage sharedfolder add "VM name" --name "sharename" --hostpath "C:\test"หากมีหลายโฟลเดอร์ที่ใช้ร่วมกัน .. VirtualBox จะรู้ได้อย่างไรว่าsharenameจะเชื่อมโยงโฟลเดอร์vboxshareใดกับ หรือคุณหมายความว่าsharenameควรจะเป็นเช่นเดียวกับvboxshare?
alpha_989

121

จริงๆแล้วมีวิธีง่ายๆในการทำเช่นนี้:

  1. ติดตั้งชุดเสริมสำหรับ VirtualBox
  2. รีสตาร์ทเครื่องเสมือนของคุณ
  3. ติดตั้ง Guest Additions ใน Ubuntu ของคุณ

    • คุณสามารถเมานต์ ISO ที่เปิดอยู่/mediaหรือกดLeft Control+D
  4. Reboot

  5. /media/sf_your_shared_folder_nameพยายามที่จะเข้าถึง หากคุณยังไม่มีสิทธิ์เข้าถึงนั่นหมายความว่าคุณไม่ได้เป็นสมาชิกของvboxsfกลุ่มดังที่นิโลกล่าว คำสั่งนี้จะแก้ปัญหาของคุณ:

    sudo adduser your_username vboxsf
    
  6. adduserออกจากระบบและเข้าสู่ระบบอีกครั้งเพื่อใช้การเปลี่ยนแปลงของ ดูความคิดเห็นโดย kol และ atcold ด้านล่าง

  7. หากคุณยังไม่สามารถเห็นโฟลเดอร์ที่แชร์คุณต้องทำการติดตั้ง คุณสามารถเปิดใช้งาน automount สำหรับโฟลเดอร์ที่ใช้ร่วมกันในตัวเลือกของ VirtualBox Manager
  8. รีสตาร์ทอีกครั้ง

7
นี้. ฉันไม่ได้อยู่ในกลุ่มผู้ใช้ ดูเหมือนว่าควรเป็นไปโดยอัตโนมัติด้วยการเพิ่มรูปแบบลายเส้นหรืออย่างน้อยก็ระบุไว้อย่างชัดเจน
AwokeKnowing

1
ดูเหมือนว่าปัญหาสำหรับฉันคือชื่อผู้ใช้ของฉันไม่ได้เป็นรูท ควรได้รับการกล่าวถึงที่ไหนสักแห่ง
AwokeKnowing

22
สำคัญ: adduserคุณต้องรีบูตเครื่องคอมพิวเตอร์หลังจากเรียก
kol

5
@ kolไม่คุณต้องการเพียงออกจากระบบและลงชื่อเข้าใช้อีกครั้ง
Atcold

@Atcold การออกจากระบบและเพิ่มกลุ่มอีกครั้งให้กับผู้ใช้ปัจจุบัน (เซสชัน) แต่ไม่ได้เรียกการเมาท์อัตโนมัติของโฟลเดอร์ที่แชร์ในกรณีของฉัน มีเพียงการรีบูตเท่านั้น
scai

83

ก่อนอื่นโปรดตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งส่วนบุคคลเพิ่มเติม

  1. เริ่ม VM ของคุณ

  2. อุปกรณ์> แทรกรูปภาพเพิ่มเติมของผู้เยี่ยมชม CD ... ใส่รูปภาพ CD ของบุคคลที่เพิ่มเข้ามา ...

  3. ใส่ซีดี:

    sudo mount /dev/cdrom /media/cdrom
    
  4. ติดตั้งแพ็คเกจที่จำเป็น:

    sudo apt-get install make gcc linux-headers-$(uname -r)
    
  5. ติดตั้ง:

    sudo /media/cdrom/VBoxLinuxAdditions.run
    

ประการที่สองเพิ่มผู้ใช้ของคุณในกลุ่ม 'vboxsf':

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

Reboot

รู้ว่าฉลากของโฟลเดอร์ที่คุณแบ่งปันคือlpi(ตัวอย่าง):

แก้ไขโฟลเดอร์ที่แชร์

ย่อหน้าsf_ให้กับต้นสังกัด จากนั้นคุณจะพบโฟลเดอร์ที่แชร์ของคุณด้านล่าง/media/sf_lpi

สุดท้ายคุณยังสามารถสร้างลิงค์ไปยังบ้านของคุณ ตัวอย่างเช่น:

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

:)


ฉันสามารถใช้โฟลเดอร์แชร์จาก Ubuntu VM ที่ไม่มีภาพฮาร์ดดิสก์ แต่ใช้เฉพาะภาพ Live CD ได้หรือไม่ โดยทั่วไปฉันกำลังพยายามเพิ่มไดรฟ์ซีดีสองไดรฟ์ตัวหนึ่งถืออูบุนตู Live CD และอีกอันหนึ่งถือ VBGuestAdditions.iso และเริ่มการทำงานของเครื่องจากนั้นติดตั้ง VBGuestAdditions ในรูทแบ็คจากนั้นฉันอยากจะสามารถเข้าถึง โฟลเดอร์ที่แชร์
โซริน Postelnicu

นอกจากนี้ยังมีวิธีดูโฟลเดอร์แชร์ก่อนทำการติดตั้งเช่นโดยใช้คำสั่งเช่นlsblkหรืออะไรบางอย่าง
โซริน Postelnicu

เมื่อฉันพยายามที่จะทำ "sudo mount -t vboxsf mysharename mysharemountpoint" ฉันมักจะได้รับ: "/sbin/mount.vboxsf: การติดตั้งล้มเหลวด้วยข้อผิดพลาด: ไม่มีอุปกรณ์ดังกล่าว"
Sorin Postelnicu

24

เพิ่มโฟลเดอร์ที่แชร์ไปยังเครื่องเสมือนโดยใช้กราฟิกอินเตอร์เฟส vBox ตรวจสอบให้แน่ใจว่าได้เลือกautomountและทำการถาวร

ลงชื่อเข้าใช้เครื่องเสมือนโดยใช้บัญชีรูท

ตรวจสอบกลุ่ม vboxsf อยู่

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

ตรวจสอบผู้ใช้ไม่ได้อยู่ในกลุ่ม 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)

เพิ่มผู้ใช้ nilo ไปยังกลุ่ม vboxsf

~$ sudo usermod -a -G vboxsf nilo

ตรวจสอบกลุ่มผู้ใช้อีกครั้ง

~$ 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)

รีบูตและเข้าสู่ระบบในฐานะ nilo

ตอนนี้โฟลเดอร์ที่แชร์นั้นสามารถเข้าใช้งานได้/media/sf_dropbox(ดรอปบ็อกซ์คือชื่อที่ฉันให้กับการแชร์)


รีบูตทำงานให้ฉัน!
Tarik

10

แชร์โฟลเดอร์ระหว่าง Host OS-> Windows และ Guest OS -> Ubuntu (กล่องเสมือน)

ขั้นตอนที่ 1 ติดตั้งการติดตั้ง Guest Additions จากเมนูของ VirtualBox ไปที่ Devices-> Install Guest Additions สิ่งนี้จะติดตั้งซีดีเสมือนจริงบน / media / cdrom ของคุณ ในฐานะผู้ใช้รูทเปิดโฟลเดอร์นี้ / media / cdrom เพิ่มโดยใช้ตัวเลือก Open with terminal (คลิกขวาด้วยเมาส์)

ขั้นตอนที่ 2 เรียกใช้โปรแกรม VBoxLinuxAdditions.run เมื่อโปรแกรมเสร็จสิ้นการรีบูต VirtualBox ของคุณ

$ sudo ./VBoxLinuxAdditions.run

ขั้นตอนที่ 3 สร้างโฟลเดอร์แชร์ จากเมนูเสมือนไปที่อุปกรณ์ -> โฟลเดอร์ที่ใช้ร่วมกันจากนั้นเพิ่มโฟลเดอร์ใหม่ในรายการโฟลเดอร์นี้ควรเป็นโฟลเดอร์ในหน้าต่างที่คุณต้องการแบ่งปันกับ Ubuntu (ระบบปฏิบัติการเกสต์) ทำให้โฟลเดอร์นี้สร้างอัตโนมัติติดตั้ง ตัวอย่าง -> สร้างโฟลเดอร์บนเดสก์ท็อปด้วยชื่อ Ubuntushare และเพิ่มโฟลเดอร์นี้

ขั้นตอนที่ 4 เมื่อดำเนินการตามข้อกำหนดคุณสมบัติของโฟลเดอร์ที่ใช้ร่วมกันเราจะต่อเชื่อมโฟลเดอร์จาก Ubuntu (ระบบปฏิบัติการเกสต์) สร้างจุดติดตั้งซึ่งเป็นไดเรกทอรีใน Ubuntu ที่จะแชร์ไฟล์กับโฟลเดอร์ที่แชร์จาก Windows เรียกใช้สิ่งนี้เพื่อสร้างไดเรกทอรีใน Ubuntu

$ sudo mkdir ~/Desktop/windowsshare

ขั้นตอนที่ 5 ด้วยการสร้าง mountpoint ของคุณคุณสามารถเมานท์โฟลเดอร์แชร์ได้แล้ว เรียกใช้คำสั่งนี้เพื่อแชร์โฟลเดอร์:

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

Ubuntushare เป็นชื่อของโฟลเดอร์ที่เราเพิ่มในส่วนอุปกรณ์ VirtualBox โฟลเดอร์นี้อยู่ใน Windows (โฮสต์ระบบปฏิบัติการ) ~ / Desktop / windowsshare เป็นไดเรกทอรีใน Ubuntu (Guest OS)

ขอแสดงความนับถือ -> ตอนนี้คุณสามารถแชร์ไฟล์ระหว่าง Windows และ Ubuntu ลองเพิ่มไฟล์ใด ๆ ใน windows (โฮสต์ระบบปฏิบัติการ) โฟลเดอร์แชร์ Ubuntu ตอนนี้ตรวจสอบไดเรกทอรี windowsshare (Ubuntu ระบบปฏิบัติการ) Guest Ubuntu ไฟล์จะสะท้อนให้เห็น

บทความของฉัน

แชร์โฟลเดอร์ b / w windows และ ubuntu


3
  1. ติดตั้งโปรแกรมที่เรียกว่า 'โปรแกรมและกลุ่ม' จาก Software Center
  2. เลือกผู้ใช้ปัจจุบันและคลิกที่จัดการกลุ่ม
  3. เลือก vboxsf และคลิก 'เพิ่ม'
  4. Reboot

ไม่พบในศูนย์ซอฟต์แวร์มินท์ 17.1 แต่เมนูมีผู้ใช้และกลุ่มอยู่ใช่มั้ย
russ_hensel

@russ_hensel Mint ไม่ใช่รสชาติของ Ubuntu อย่างเป็นทางการ ถามคำถามของคุณที่Unix & Linuxแทน
wjandrea

1
  1. สร้าง dir ที่คุณกำลังจะเมานต์แบบนี้เช่น mkdir docs

  2. ติดตั้ง Guest Additions ลงในเครื่อง Ubuntu แขก

  3. ปิดการทำงานของผู้เยี่ยมชม Ubuntu จากนั้นกำหนดค่า

  4. ในที่เก็บข้อมูลให้ตั้งค่าโฟลเดอร์แชร์ของคุณและจดบันทึกสิ่งที่คุณตั้งเป็นชื่อในฟิลด์ที่สอง ตัวอย่างเช่น "บ้า" ทำเครื่องหมายที่กล่องสำหรับการเมาท์อัตโนมัติ

  5. บูตแขก Ubuntu

  6. อย่างที่คุณพูดมันจะไม่สามารถเข้าถึงได้จริง (นี่คือส่วนสำคัญของคำถามของคุณ) คุณจะพบว่ามันมีอยู่/media/sf_crazyที่ 'บ้า' เป็นชื่อที่คุณให้ไว้ และมันจะอยู่ในบ้านของคุณ~/crazyด้วย

  7. ตอนนี้คุณต้องใช้อีกขั้นตอนหนึ่งเพื่อติดตั้งจริง:

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

1

ทำตามขั้นตอนเหล่านี้หลังจากติดตั้ง Guest Additions สำหรับสภาพแวดล้อมโฮสต์ Windows 10 บนเครื่อง Windows ฉันต้องแชร์โฟลเดอร์

  1. คลิกขวาที่โฟลเดอร์เพื่อแชร์
  2. เลือก "แบ่งปันกับ"
  3. เลือก "คนเฉพาะ"
  4. เลือกทุกคนเลือกอ่าน / เขียน
  5. บนไคลเอนต์เครื่อง Ubuntu เรียกใช้คำสั่ง: sudo adduser xxxxxxx vboxsf

โดยที่ xxxxxx เป็นชื่อบัญชีผู้ใช้ของคุณ ออกจากระบบและกลับเข้าสู่ Ubuntu


0

ณ ตอนนี้ (เวอร์ชั่น 6.0.10 ของ VirtualBox) มีmake permanentและauto-mountตัวเลือกสำหรับโฟลเดอร์ที่ใช้ร่วมกันรวมถึงmount point( At) ใน GUI ของกล่องเสมือน สำหรับฉันทำงานต่อไปนี้:

  1. บนแขก Ubuntu: sudo apt-get install virtualbox-guest-utils
  2. เพิ่มโฟลเดอร์ที่แชร์ใน GUI ของ VirtualBox
  3. รีสตาร์ทระบบปฏิบัติการเกสต์

โฟลเดอร์บนจุดเมานต์ที่ระบุใน GUI ถูกสร้างขึ้นโดยอัตโนมัติและlsแสดงไฟล์ที่อยู่บนโฮสต์ Windows PC

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.