ขั้นตอนการติดตั้งโฟลเดอร์ VirtualBox ที่ใช้ร่วมกันใน Linux คืออะไร
ฉันลองใช้คำสั่ง mount ต่อไปนี้หลายรูปแบบ แต่ฉันยังคงได้รับprotocol error
หรือมีข้อผิดพลาดอื่น ๆ
sudo mount -t vboxsf share /home/toto
ขั้นตอนการติดตั้งโฟลเดอร์ VirtualBox ที่ใช้ร่วมกันใน Linux คืออะไร
ฉันลองใช้คำสั่ง mount ต่อไปนี้หลายรูปแบบ แต่ฉันยังคงได้รับprotocol error
หรือมีข้อผิดพลาดอื่น ๆ
sudo mount -t vboxsf share /home/toto
คำตอบ:
ตกลงสิ่งนี้ทำให้ฉันสับสนเล็กน้อย แต่ในที่สุดฉันก็รู้ว่าเกิดอะไรขึ้น ดังนั้นฉันจึงตัดสินใจให้ 2 เซ็นต์ของฉันด้วยความหวังว่าจะมีความชัดเจนมากขึ้นสำหรับผู้อื่นและถ้าฉันลืมบางครั้งในอนาคต :)
ฉันไม่ได้ใช้ชื่อของส่วนแบ่งที่ฉันสร้างขึ้นใน VM แทนฉันใช้shareหรือvb_shareเมื่อชื่อของการแชร์ของฉันเป็นwdดังนั้นนี่ทำให้ฉันสับสนเป็นเวลาหนึ่งนาที
ขั้นแรกให้เพิ่มไดเรกทอรีแชร์ของคุณในกล่อง VM:
สิ่งที่คุณตั้งชื่อการแชร์ของคุณที่นี่จะเป็นชื่อที่คุณจะต้องใช้เมื่อติดตั้งใน vm guest OS เช่นฉันชื่อเหมือง"wd"สำหรับไดรฟ์พาสปอร์ตดิจิตอลตะวันตกของฉัน
ถัดไปบน guset OS ให้สร้างไดเรกทอรีเพื่อใช้สำหรับการเมานต์ของคุณโดยเฉพาะในโฮมไดเร็กทอรี่ของคุณ
mkdir share
ถัดไปเปิดเทอร์มินัลและคัดลอกและวางต่อไปนี้หรือพิมพ์ในคุณสามารถเปิดใช้งานคลิปบอร์ดที่ใช้ร่วมกันภายใต้อุปกรณ์ - > คลิปบอร์ดที่ใช้ร่วมกัน -> แบบสองทิศทาง
sudo mount -t vboxsf wd ~/share/
ตอนนี้คุณควรจะสามารถคัดลอกไฟล์ระหว่างระบบปฏิบัติการโดยใช้โฟลเดอร์"share"ในโฮมไดเร็กตอรี่ของคุณ
หวังว่านี่จะช่วยได้!
sudo mount -t vboxsf -o rw,uid=1000,gid=1000 share ~/host
สำหรับ VirtualBox ที่มี Linux แขกเหล่านี้คือขั้นตอนในการเมานต์โฟลเดอร์ที่แชร์:
ใช้แอปพลิเคชันของโฮสต์ VirtualBox ผู้จัดการ VirtualBox เพื่อระบุโฟลเดอร์โฮสต์ที่จะแชร์
ตรวจสอบให้แน่ใจว่ามีการติดตั้ง VirtualBox Guest Additions ใน VirtualBox guest
ในผู้เยี่ยมชม Linux คำสั่ง mount ควรแสดงบรรทัดที่การแชร์ถูกเมาท์ type vboxsf
นี่คือการแสดงโดย ปัญหากลายเป็นว่าจุดเชื่อมต่ออาจไม่ตรงตามที่ต้องการและการอนุญาตจะเป็นรูทเท่านั้น /media/sf_
สถานที่ตั้งของภูเขาเริ่มต้นอยู่ใน
คุณสามารถเข้าถึงใช้ร่วมกันโดยการทำให้ผู้ใช้หรือรหัสกลุ่มของสมาชิกของกลุ่ม1000
vboxsf
สิ่งนี้ทำได้โดยการเปลี่ยนvboxsf
บรรทัดใน/etc/group
ไฟล์ อาจต้องรีบูต
คุณสามารถเปลี่ยนตำแหน่งที่ติดตั้งโฟลเดอร์ได้โดยใช้คำสั่ง VBoxControl คำสั่งถูกติดตั้งเมื่อติดตั้ง Guest Additions อาจต้องรีบูต ตัวอย่างเช่นในการเปลี่ยนจุดเชื่อมต่อจาก/media/sf_...
เพื่อ/home/toto/sf_...
ใช้คำสั่งต่อไปนี้เพื่อตั้งค่าโฟลเดอร์แชร์ VirtualBox guestproperty guest
sudo VBoxControl guestproperty set / VirtualBox / GuestAdd / SharedFolders / MountDir / home / toto /
เพื่อยืนยันการเปลี่ยนแปลงใช้รับ:
sudo VBoxControl guestproperty get /VirtualBox/GuestAdd/SharedFolders/MountDir
อ้างอิง:
sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
type vboxsf
เมื่อเรียกใช้mount
คำสั่งถึงแม้ว่าฉันได้ติดตั้งสิ่งแขกไว้! กรุณาช่วย
เมื่อเผชิญหน้ากับ:
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 ในปัจจุบัน)
ติดตั้งการเพิ่มกล่องเสมือนบน guest os จากนั้นปิดระบบปฏิบัติการของผู้เยี่ยมชม เปิดการตั้งค่า guestos ในกล่องเสมือน จากนั้นเพิ่มโฟลเดอร์แชร์และบันทึกการตั้งค่า จากนั้นเริ่ม guest os และสำหรับ ubuntu ออกคำสั่งด้านล่าง เพิ่มผู้ใช้ปัจจุบันในกลุ่ม vboxsf
sudo adduser $ USER vboxsf
รีบูตเกสต์ OS และไปที่ / media / เพื่อเข้าถึงโฟลเดอร์ที่แชร์
ภายในแขกของ 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
เมื่อคุณได้รับข้อผิดพลาดต่อไปนี้: /sbin/mount.vboxsf: การติดตั้งล้มเหลวด้วยข้อผิดพลาด: ข้อผิดพลาดของโปรโตคอล
น่าเสียดายที่นี่หมายความว่าคุณใช้ชื่อที่ใช้ร่วมกันเริ่มต้นหรือชื่อไดเรกทอรีที่ใช้ร่วมกันของโฮสต์เหมือนกับชื่อที่ใช้ร่วมกันของผู้ใช้ทั่วไป ในกรณีนี้คือ "share" เพียงสร้างโฟลเดอร์แชร์อีกอันหนึ่งคือ "vb_share" จากนั้นก็เรียกใช้งาน:
mount -t vboxsf vb_share / home / <user> / host
mkdir share
เช่น)sudo mount -t vboxsf name_of_folder_linked ~/name_of_folder_guest/
การติดตั้ง: VirtualBox 4.3.26, โฮสต์ Win 7 SP1, Debian jessie 8.0 (เสถียร) เกสต์
ใน VirtualBox Manager เลือกการตั้งค่าโฟลเดอร์ที่ใช้ร่วมกัน ...ในเมนูแบบเลื่อนลงอุปกรณ์
ในหน้าต่างป๊อปอัปที่ปรากฏขึ้นให้เลือกMachine Foldersในรายการโฟลเดอร์จากนั้นคลิกปุ่ม "เพิ่มคำจำกัดความโฟลเดอร์ใหม่ที่ใช้ร่วมกัน" (โฟลเดอร์สีฟ้าที่มีไอคอนเครื่องหมาย "+" สีเขียวทางด้านขวาของรายการโฟลเดอร์ )
ในที่เกิดเพิ่มแบ่งปันรูปแบบป๊อปอัพให้คลิกที่ปุ่มลูกศรลงในเส้นทางโฟลเดอร์ข้อมูลแล้วเลือกอื่น ๆ ดูโฟลเดอร์หน้าต่างป็อปอัพจะปรากฏขึ้น
(ในกรณีของฉันฉันเพิ่งเพิ่มฮาร์ดไดรฟ์อื่นลงในเวิร์กสเตชันของฉันเพื่อใช้สำหรับการแชร์เฉพาะซึ่งฟอร์แมตแล้วสำหรับ NTFS ด้วยชื่อโวลุ่ม "share" และเมาท์เป็น "G:" ดังนั้นฉันจึงคลิกลูกศร ถัดจากคอมพิวเตอร์ไดรฟ์ที่เลือกG:แล้วคลิกปุ่มตกลง )
(ในกรณีของคุณคุณควรเลือกโฟลเดอร์หรือไดรฟ์ที่คุณต้องการแชร์แล้วคลิกปุ่มตกลง )
เมื่อคุณทำการเลือกแล้วคลิกปุ่มตกลง VirtualBox Manager จะกรอกข้อมูลลงในช่องโฟลเดอร์พา ธและชื่อโฟลเดอร์ของแบบฟอร์มเพิ่มส่วนแบ่ง เว้นฟิลด์โฟลเดอร์พา ธ ไว้ตามลำพัง แต่คุณสามารถเปลี่ยนชื่อโฟลเดอร์ได้หากต้องการ - โปรดจำไว้เพื่อใช้ในภายหลัง
กรอกแบบฟอร์มเพิ่มส่วนแบ่งโดยเลือกช่องทำเครื่องหมายถาวรแต่อย่าลืมทำเครื่องหมายที่ช่องAuto-mountแล้วเราจะทำการติดตั้งในภายหลัง (และแน่นอนถ้าคุณต้องการสร้างโฟลเดอร์หรือไดรฟ์แบบอ่านอย่างเดียวจากนั้นไปข้างหน้าและเลือกช่องอ่านอย่างเดียว ) จากนั้นคลิกปุ่มตกลง
หุ้นใหม่ที่กำหนดควรจะปรากฏขึ้นเป็นรายการภายใต้เครื่องโฟลเดอร์ในรายการโฟลเดอร์ คลิกปุ่มตกลง
ในการติดตั้งส่วนแบ่งนี้ระหว่างการบู๊ต (เริ่มต้น) เราจำเป็นต้องเพิ่มบรรทัดคำจำกัดความการติดตั้งลงใน / etc / fstab ในการติดตั้งของแขก Debian jessie ของเรา การแก้ไขนี้จำเป็นต้องทำทั้งในฐานะรูทหรือผ่าน 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 ผู้จัดการเพิ่มแบ่งปัน ฉันเปลี่ยนค่าเริ่มต้น "G_DRIVE" เป็น "แชร์"
"Mount Point" เป็นข้อมูลจำเพาะพา ธ ของไดเรกทอรีที่ต้องมีอยู่แล้ว แต่ควรว่างเปล่า (นั่นคือสิ่งที่มีอยู่แล้วในไดเรกทอรีนั้นจะถูกซ่อนไว้โดยสิ่งที่คุณกำลังติดตั้งอยู่ด้านบนของมัน) ฉันได้สร้างไดเรกทอรีย่อยใหม่ที่ว่างเปล่าชื่อ "share" ในไดเรกทอรีบ้านของฉัน
"ประเภท" คือ "vboxsf"
"ตัวเลือก" (ความคิดเห็น = systemd.automount, uid = conib, gid = conib, noauto) เป็นบิตที่ยุ่งยากและใช้เวลาเล็กน้อยในการทำงานกับการตั้งค่านี้
ตั้งค่า "Dump" เป็น 0 ยกเว้นว่าคุณรู้ว่าคุณต้องการตั้งเป็นอย่างอื่น
และเนื่องจากเราไม่ต้องการให้ fsck ตรวจสอบการแชร์นี้ให้ตั้ง "Pass" เป็น 0 ด้วย
เมื่อคุณเพิ่มบรรทัดคำจำกัดความลงใน / etc / fstab ให้รีบูตแขก Debian ของคุณและยืนยันว่าคุณสามารถดูไฟล์และโฟลเดอร์ย่อยของ Share ของคุณ
HTH