VirtualBox: mount.vboxsf: การติดตั้งล้มเหลวด้วยข้อผิดพลาด: ไม่มีอุปกรณ์ดังกล่าว [ปิด]


160

ฉันใช้ VirtualBox กับ OS X เป็นโฮสต์และ CentOS บนเกสต์ VM

ใน OS XI สร้างโฟลเดอร์myfolderเพิ่มเป็นโฟลเดอร์ที่แชร์ไปยัง VM เปิด VM ในโฟลเดอร์ CentOS ที่สร้าง/home/user/myfolderและพิมพ์:

sudo mount -t vboxsf myfolder /home/user/myfolder

และมีเอาต์พุต:

/sbin/mount.vboxsf: mounting failed with the error: No such device

ฉันทำอะไรผิด

UPDATED:

Guest Additions การติดตั้ง


ตรวจสอบให้แน่ใจว่าได้ติดตั้ง Guest Additions อย่างถูกต้องคุณอาจต้องอัปเกรด sudo apt-get อัพเกรด sudo apt-get ติดตั้งโมดูลผู้ช่วยสร้างโมดูลที่จำเป็น sudo ma เตรียม; คุณต้องเห็นโมดูล Guest Aditions กำลังถูกสร้างขึ้น ...
ntg

9
สำหรับนักท่องอินเทอร์เน็ตแบบสุ่มที่มีปัญหานี้: ทำตัวเป็นคนโปรดและดูคำตอบที่สอง
jrharshath

4
เคล็ดลับ - sudo mount -t vboxsf sf_folder /home/user/folderนี่sf_folderและจะfolder ต้องเป็นชื่อที่แตกต่างกัน
cnaize

5
@jrharshath คำตอบที่สองคือคำตอบข้อใด? การเรียงลำดับสามารถเปลี่ยนแปลงได้ คลิกshareที่คำตอบเพื่อรับลิงก์
wisbucky

คำตอบ:


167

โฟลเดอร์ / คลิปบอร์ดที่ใช้ร่วมกันของฉันหยุดทำงานด้วยเหตุผลบางอย่าง (อาจเป็นเพราะการติดตั้งโปรแกรมปะแก้บนเครื่องเสมือนของฉัน)

sudo mount -t vboxsf Shared_Folder ~/SF/

ให้ผลลัพธ์ต่อไปนี้:

VirtualBox: mount.vboxsf: mounting failed with the error: No such device

ทางออกสำหรับฉันคือหยุด vboxadd และทำการตั้งค่าหลังจากนั้น:

cd /opt/VBoxGuestAdditions-*/init  
sudo ./vboxadd setup

1
หลังจากการปรับรุ่นของฉัน Ubuntu 12.04 VM เพื่อ Ubuntu 14.04 โฟลเดอร์ที่ใช้ร่วมกันของฉันว่างเปล่าใน VM /sbin/mount.vboxsf: mounting failed with the error: No such deviceและเมื่อพยายามที่จะติดด้วยตนเองผมได้รับข้อผิดพลาด หลังจากใช้งานด้านบนและเริ่มระบบใหม่โฟลเดอร์แชร์ของฉันก็ปรากฏขึ้นเหมือนที่เคยทำก่อนทำการอัพเกรด .. ขอบคุณ!
แองเจโล

ปัญหายังคงอยู่บน VirtualBox 5.0.18 กับแขก Ubuntu 16.04 และวิธีนี้ใช้ได้สำหรับฉัน
Ivan Perez

7
คุณจะหยุด vboxadd ได้อย่างไร
aristofun

1
ขอบคุณ! ฉันยังต้องติดตั้งปลั๊กอิน vagrant-vbguest - stackoverflow.com/a/23752848/2043134
thomas_inckx

1
@aristofun @ brainmurphy1: ในไดเรกทอรีเดียวกันว่าก่อนที่คุณสามารถทำได้sudo ./vboxadd setup sudo ./vboxadd stopไม่แน่ใจว่ายังจำเป็นอยู่หรือไม่ แต่ฉันเดาว่านั่นหมายถึงประโยคนั้น
hraban

77

คุณกำลังใช้โฟลเดอร์แชร์ดังนั้นคุณต้องติดตั้งVirtualBox Guest Additionsภายในเครื่องเสมือนเพื่อรองรับคุณสมบัตินั้น

คนจรจัด

หากคุณใช้Vagrant (OS X :)brew cask install vagrantให้เรียกใช้:

vagrant plugin install vagrant-vbguest
vagrant vbguest

ในกรณีที่มันล้มเหลวตรวจสอบบันทึกเช่น

vagrant ssh -c "cat /var/log/vboxadd-install.log"

บางทีคุณอาจจะหายไปจากไฟล์ส่วนหัวเคอร์เนล

VM

ภายใน VM คุณควรติดตั้ง Guest Additions, ส่วนหัวเคอร์เนลและเริ่มบริการและตรวจสอบอีกครั้งว่าส่วนขยายเคอร์เนลกำลังทำงานอยู่หรือไม่

ขึ้นอยู่กับระบบปฏิบัติการของแขกดังนั้นนี่คือขั้นตอนสั้น ๆ :

  1. ติดตั้งเคอร์เนลประกอบด้วยส่วนหัว (ต้องการโดย VBoxLinuxAdditions)

    • RHEL: sudo apt-get update && sudo apt-get install kernel-devel
    • CentOS: sudo yum update && sudo yum -y install kernel-headers kernel-devel
  2. ติดตั้ง Guest Additions (ขึ้นอยู่กับระบบปฏิบัติการ)

    • อูบุนตู: sudo apt-get -y install dkms build-essential linux-headers-$(uname -r) virtualbox-guest-additions-iso

      aptitude search virtualboxหากคุณไม่สามารถหาได้ตรวจสอบโดย

    • เดเบียน :sudo apt-get -y install build-essential module-assistant virtualbox-ose-guest-utils

      dpkg -l | grep virtualboxหากคุณไม่สามารถหาได้ตรวจสอบโดย

    • ด้วยตนเองโดยการดาวน์โหลดไฟล์ isoภายใน VM (เช่นwget) และติดตั้งเช่น

      1. wget http://download.virtualbox.org/virtualbox/5.0.16/VBoxGuestAdditions_5.0.16.iso -P /tmp
      2. sudo mount -o loop /tmp/VBoxGuestAdditions_5.0.16.iso /mnt
      3. sudo sh -x /mnt/VBoxLinuxAdditions.run # --keep

        การแก้ปัญหาพิเศษ: cd ~/install && sh -x ./install.sh /mnt/VBoxLinuxAdditions.run

  3. ตรวจสอบอีกครั้งว่าส่วนขยายเคอร์เนลขึ้นและทำงาน:

    • sudo modprobe vboxsf
  4. เริ่ม / เริ่มบริการ:

    • ด้วยตนเอง: sudo /opt/VBoxGuestAdditions*/init/vboxadd setup(เพิ่มsudo sh -xในการดีบัก)
    • Debian: sudo /etc/init.d/vboxadd-service start
    • Fedora: sudo /etc/init.d/vboxdrv setup
    • CentOS: sudo service VBoxService start

การสร้างโมดุลเพิ่มเติมสำหรับบุคคลทั่วไป

หากด้านบนไม่ทำงานนี่คือขั้นตอนที่ซับซ้อนกว่าในการแก้ไข สิ่งนี้จะถือว่าคุณได้ติดตั้ง VBoxGuestAdditions แล้ว (ดังที่แสดงด้านบน)

สาเหตุที่พบบ่อยที่สุดว่าทำไมการติดตั้งโฟลเดอร์ที่ใช้ร่วมกันไม่ทำงานอาจเกี่ยวข้องกับการสร้างโมดูล Guest Additions ซึ่งล้มเหลว หาก/var/log/vboxadd-install.logคุณมีข้อผิดพลาดดังต่อไปนี้:

ไม่พบส่วนหัวสำหรับเคอร์เนลที่รันอยู่ในปัจจุบัน

หมายความว่าคุณไม่ได้ติดตั้งซอร์สเคอร์เนลหรือไม่พบ

หากคุณติดตั้งแล้วตามคำแนะนำข้างต้นให้รันคำสั่งนี้:

$ sudo sh -x /opt/VBoxGuestAdditions-5.0.16/init/vboxadd setup 2>&1 | grep KERN
+ KERN_VER=2.6.32-573.18.1.el6.x86_64
+ KERN_DIR=/lib/modules/2.6.32-573.18.1.el6.x86_64/build

ดังนั้นโดยพื้นฐานแล้วvboxaddสคริปต์คาดว่าแหล่งเคอร์เนลของคุณจะพร้อมใช้งานที่ dir ต่อไปนี้:

ls -la /lib/modules/$(uname -r)/build

ตรวจสอบว่าเคอร์เนล dir มีอยู่ (การเชื่อมโยงสัญลักษณ์ชี้ไปที่โฟลเดอร์ที่มีอยู่) หากไม่ใช่โปรดติดตั้งลงในโฟลเดอร์ด้านขวา (เช่นใน/usr/src/kernels)

ดังนั้นvboxaddสคริปต์สามารถป้อนไดเรกทอรีแหล่งเคอร์เนลของคุณและเรียกใช้make kernelreleaseรับค่าและเปรียบเทียบกับรุ่นเคอร์เนลปัจจุบันของคุณ

นี่คือตรรกะ:

KERN_VER=`uname -r`
KERN_DIR="/lib/modules/$KERN_VER/build"
if [ -d "$KERN_DIR" ]; then
    KERN_REL=`make -sC $KERN_DIR --no-print-directory kernelrelease 2>/dev/null || true`
    if [ -z "$KERN_REL" -o "x$KERN_REL" = "x$KERN_VER" ]; then
        return 0
    fi
fi

หากรุ่นเคอร์เนลไม่ตรงกับแหล่งที่มาคุณอาจต้องอัพเกรดเคอร์เนล Linux (ในกรณีที่แหล่งใหม่กว่าเคอร์เนลของคุณ)

CentOS

ลอง:

vagrant plugin install vagrant-vbguest vagrant vbgues

หากไม่สามารถใช้งานได้ให้ลองทำตามขั้นตอนด้วยตนเองสำหรับ CentOS:

$ sudo yum update
$ sudo yum install kernel-$(uname -r) kernel-devel kernel-headers # or: reinstall
$ rpm -qf /lib/modules/$(uname -r)/build
kernel-2.6.32-573.18.1.el6.x86_64
$ ls -la /lib/modules/$(uname -r)/build
$ sudo reboot # and re-login
$ sudo ln -sv /usr/src/kernels/$(uname -r) /lib/modules/$(uname -r)/build
$ sudo /opt/VBoxGuestAdditions-*/init/vboxadd setup

1
RE CentOS แก้ไขจะแก้ไขปัญหาของฉัน แต่ให้แน่ใจว่าคุณได้ติดตั้ง gcc
ggdx

1
การใช้ Chef's Test Kitchen (Vagrant) ติดตั้งปลั๊กอิน vagrant-vbguestทำงานให้ฉัน
pfernandom

ในกรณีของฉันมันเป็นเพราะ GuestAdditions ไม่ได้ประกาศเดียวกันระหว่าง Vagrant และแขก
AnthonyB

1
vagrant plugin install vagrant-vbguest vagrant vbguestทำงานบน centos 7 และแก้ไขปัญหา ขอบคุณ
Med Ali Difallah

55

ฉันสามารถแก้ไขปัญหานี้ได้โดยใช้คำสั่งด้านล่าง

modprobe -a vboxguest vboxsf vboxvideo


ปัญหาเดียวกันนี้เกิดขึ้นกับแขก vbox5.0.6 และ Centos 7 ของฉัน ปัญหาคือฉันจะต้องเรียกใช้สิ่งนี้ทุกครั้งหลังจากบูต (ใหม่)
webbertiger

14
สิ่งนี้ได้ผลเพราะนี่คือเคอร์เนลโมดูลที่คุณต้องการใช้งานบน guest เพื่อให้ VirtualBox ทำหน้าที่ทั้งหมดได้อย่างถูกต้อง โดยเฉพาะvboxsf(VirtualBox Shared Folders) เป็นสิ่งที่จำเป็นที่นี่ คุณสามารถแสดงรายการ 3 ไฟล์เหล่านี้หนึ่งไฟล์ต่อบรรทัดในไฟล์ใน/etc/modules-load.d/(เรียกว่าอาจจะvirtualbox.conf) เพื่อให้การเปลี่ยนแปลงนี้ยังคงมีอยู่ผ่านการรีบูต
นักเล่นแร่แปรธาตุ Two-Bit

1
บนผู้เยี่ยมชม Debian 8 การเรียกใช้คำสั่งนี้ทำให้เอาต์พุตวิดีโอเสียหาย
CodingWithSpike

23

นอกจากคำตอบ @Matsฉันกำลังเพิ่มข้อมูลเพิ่มเติม (ช่วยฉันใน Debian 8)

โฟลเดอร์ / คลิปบอร์ดที่ใช้ร่วมกันของฉันหยุดทำงานด้วยเหตุผลบางอย่าง (อาจเป็นเพราะการติดตั้งโปรแกรมปะแก้บนเครื่องเสมือนของฉัน)

sudo mount -t vboxsf Shared_Folder ~/SF/

ให้ผลลัพธ์ต่อไปนี้แก่ฉัน:

VirtualBox: mount.vboxsf: mounting failed with the error: No such device

ทางออกสำหรับฉันคือหยุด vboxadd และทำการตั้งค่าหลังจากนั้น:

cd /opt/VBoxGuestAdditions-*/init 
sudo ./vboxadd setup

ณ จุดนี้หากคุณยังคงได้รับข้อผิดพลาดต่อไปนี้:

ไม่มีอุปกรณ์ดังกล่าว การติดตั้ง Guest Additions อาจล้มเหลว ข้อผิดพลาดได้รับการเข้าสู่ระบบ/var/log/vboxadd-install.log

คุณต้องติดตั้งส่วนหัวของลินุกซ์:

apt-get install linux-headers-$(uname -r)

จากนั้นคุณสามารถติดตั้งบุคคลทั่วไปเพิ่มเติม:

sh /media/cdrom/VBoxLinuxAdditions.run --nox11

และรีสตาร์ท Linux ของคุณโดย:

reboot

จากนั้นคุณจะสามารถเมานต์โฟลเดอร์แชร์ของคุณ!

mount -t vboxsf Shared_Folder ~/SF/

ข้อมูลเพิ่มเติม (ภาษาฝรั่งเศส) ตรวจสอบหน้านี้


3
apt-get install linux-headers-virtualช่วยด้วย Lubuntu 15.04 บน VirtualBox
fider

/ media / cdrom ois ว่างเปล่าในกรณีของฉัน
CCC

คุณคลิกที่ติดตั้งส่วนบุคคลเพิ่มเติมจากเมนูอุปกรณ์หรือไม่
Froggiz

12

นี่เป็นทางออกเดียวที่ทำให้ฉัน:

ติดตั้งปลั๊กอิน Vagrant: vagrant-vbguestซึ่งสามารถเพิ่มข้อมูล VirtualBox Guest ของคุณให้ทันสมัยอยู่เสมอ

vagrant plugin install vagrant-vbguest

ที่มา: https://github.com/aidanns/vagrant-reload/issues/4#issuecomment-230134083


ขอบคุณมันช่วยฉันได้มาก (Y)
Pankaj Garg

9

สิ่งนี้ได้รับการแก้ไขโดย:

yum install gcc kernel-devel make

วิธีแก้ปัญหาอยู่ที่นี่: https://gist.github.com/larsar/1687725


วิ่งอัปเดตทั้งหมดไม่มีโชคเลย ขออภัยคำตอบที่มี 13 โหวตมากขึ้นทำได้ดีขึ้น
Andrew Shatnyy

ฉันใช้โฮสต์ Windows 7 พร้อม RHEL 7 และนี่แก้ไขให้ฉัน (รวมถึงข้อมูลจากลิงค์ส่วนสำคัญ) - ขอบคุณ!
Chris Townsend

บน Ubuntu สิ่งนี้ใช้งานได้: sudo apt-get install build-สำคัญ linux-headers- uname -rdkms
cstroe

4
@AndrewShatnyy "คำตอบด้วย 13 โหวตมากขึ้น" ไม่ชัดเจน กรุณาโพสต์ลิงก์เพื่อคำตอบที่คุณอ้างถึง (คลิกshareใต้คำตอบ)
wisbucky

1
@wuckyucky คุณขวาขอโทษ stackoverflow.com/a/29456128/849187ทำงานสองครั้งแล้ว
Andrew Shatnyy

6

โฟลเดอร์ที่ใช้งานร่วมกันก่อนหน้านี้ทำงานให้ฉัน แต่ฉับพลันมันหยุดทำงาน (Virualbox - โฮสต์คือ Windows 7, แขกคือ OpenSuSe)

modprobe -a vboxguest vboxsf vboxvideo

จากนั้น mount -t vboxsf testsf /opt/tsf ( testsfเป็นโฟลเดอร์ในไดรฟ์ Windows C ซึ่งถูกเพิ่มในโฟลเดอร์แชร์ Virtualbox --- และ/opt/tsfเป็นโฟลเดอร์ใน OpenSuse


5

โฮสต์ของฉันคือ Windows10 แขก VM ของฉันคืออูบุนตูที่สร้างโดยคนพเนจร สิ่งนี้ใช้ได้กับฉัน:

vagrant plugin install vagrant-winnfsd

3

ฉันยังมีระบบการทำงานที่หยุดทำงานกะทันหันกับข้อผิดพลาดที่อธิบายไว้

หลังจากวนรอบใน / lib / modules ของฉันก็จะปรากฏว่าvboxvfsโมดูลไม่มาก แทนที่จะmodprobe vboxsfเป็นคาถาที่จำเป็นในการเริ่มต้นสิ่งใหม่

ไม่แน่ใจว่าเมื่อมีการเปลี่ยนแปลงเกิดขึ้น แต่มันทำให้ฉันออก


1
มันใช้งานได้สำหรับฉันหลังจากใช้งาน `sudo modprobe vboxsf`
Viorel Mirea

3

ฉันใช้ VirtualBox 5.1.20 และมีปัญหาที่คล้ายกัน นี่คือ URL ที่ฉันพบการแก้ไขและการแก้ไขที่ฉันใช้:

# https://dsin.wordpress.com/2016/08/17/ubuntu-wrong-fs-type-bad-option-bad-superblock/
if [ "5.1.20" == "${VBOXVER}" ]; then
  rm /sbin/mount.vboxsf
  ln -s /usr/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
fi

ลิงก์มีบางสิ่งที่คล้ายกับ /usr/lib/VBoxGuestAdditions/other/mount.vboxsf มากกว่าที่ฉันมีในข้อความที่ตัดตอนมาจากสคริปต์

สำหรับสคริปต์การสร้างฉันใช้ในคนจรจัดสำหรับการเพิ่ม:

https://github.com/rburkholder/vagrant/blob/master/scripts/additions.sh

ดูเหมือนว่าจะเป็นการแก้ไขที่https://www.virtualbox.org/ticket/16670


3

วิธีการแก้ปัญหาสำหรับผมคือการอัปเดตเพิ่มเติมของผู้เข้าพัก

(คลิกอุปกรณ์ -> แทรกรูปภาพ CD ของผู้เยี่ยมชมเพิ่มเติม)


2

    อาจมีข้อผิดพลาด / วิธีการที่ไม่ถูกต้องในสองสถานการณ์ ตรวจสอบทั้งสองและคำนวณ

SCENARIO 1:

      เมื่อคุณรัน VBoxLinuxAdditions.run หรือ VBoxSolarisAdditions.pkg หรือ VBoxWindowsAdditions.exe ตรวจสอบว่าโมดูลทั้งหมดได้รับการติดตั้งอย่างถูกต้องหรือไม่

1.1.a. ในกรณีของการVBoxLinuxAdditionsถ้า
โมดูลอาคาร VirtualBox Guest เพิ่มเคอร์เนลได้รับการล้มเหลว
ตรวจสอบแฟ้มบันทึกใน/var/log/vboxadd-install.log หากข้อผิดพลาดเกิดจากเคอร์เนลเวอร์ชันให้อัพเดตเคอร์เนลของคุณและรีบูต vm ในกรณีของfedora ,
1.1.b. yum update kernel *
1.1.c.รีบูต
1.2 หากไม่มีสิ่งใดล้มเหลวก็เป็นเรื่องปกติ คุณมีเวอร์ชันเคอร์เนลที่คาดไว้แล้ว

สถานการณ์ที่ 2:

     ถ้าติดตั้ง VBoxGuestAdditions (ตรวจสอบโฟลเดอร์ / opt / VBoxGuestAdditions- * * มีอยู่ .... * หมายถึงเวอร์ชั่น) คุณต้องเริ่มก่อนที่จะทำการติดตั้ง

2.1 cd / opt / VBoxGuestAdditions - * / init && ./vboxadd start

      คุณต้องระบุ ID ผู้ใช้และ id กลุ่มของผู้ใช้ vm ของคุณเป็นตัวเลือกสำหรับคำสั่ง mount

2.2.a. การรับ uid และ gid ของผู้ใช้:
      id -u <'user'>
      id -g <'user'>
2.2.b การตั้งค่า uid และ gid ในตัวเลือกของคำสั่ง mount:
      mount -t vboxsf -o uid = x, gid = x shared_folder_name guest_folder


2

สำหรับฉันแล้วสำหรับ Mac มันกลับกลายเป็นว่าฉันมีอิมเมจ VirtualBox เก่าที่เก็บไว้ในเครื่องของฉันที่ไม่มีข้อมูลเมตาดังนั้นมันจึงไม่ได้รับการอัพเดตเป็นเวอร์ชันล่าสุด

ภาพเก่านั้นมีปลั๊กอิน vbguest รุ่นเก่าติดตั้งอยู่ซึ่งปลั๊กอิน vbguest ที่ใหม่กว่าในเครื่องของฉันไม่สามารถทำงานได้

เพื่อแก้ไขมันฉันเพิ่งลบภาพที่ Vagrant ของฉันอ้างอิงจากนั้น Vagrant ดาวน์โหลดเวอร์ชันที่ใหม่กว่าและทำงานได้ดี

# Remove an old version of the virtual box image that my vagrant was using    
$ vagrant box remove centos/7 

คุณสามารถค้นหาว่ากล่องใดที่คุณแคชไว้ในเครื่องของคุณโดยเรียกใช้:

$ vagrant box list

ฉันได้อัปเกรดปลั๊กอิน vbguest ของฉันก่อนหน้านี้เพื่อให้ใช้งานได้โดยใช้ขั้นตอนต่อไปนี้ แต่ฉันไม่คิดว่าจะช่วยได้ FYI!

# Get rid of old plugins
vagrant plugin expunge 

# Globally install the latest version of the vbguest plugin`
vagrant plugin install vagrant-vbguest 

หากคุณพบว่านำกล่องล้มเหลวในการเพิ่มผู้เยี่ยมชมคุณสามารถลองทำสิ่งต่อไปนี้เพื่อให้แน่ใจว่าปลั๊กอินติดตั้งอย่างถูกต้อง นี่เป็นการดาวน์โหลดอิมเมจที่ใช้ล่าสุดสำหรับระบบของคุณ (สำหรับฉัน CentOS) และอาจแก้ไขปัญหาได้ (สำหรับฉัน!)

$ vagrant box update


1

มีปัญหาเดียวกันกับ VirtualBox 5.0.16 / rXXX

ติดตั้ง VirtualBox ล่าสุด 5.0.18 และติดตั้ง Vagrant 1.9.3 ล่าสุดปัญหาไปแล้ว


1

ฉันเพิ่มเป็นผู้ใช้รูท

/etc/rc.d/rc.local 
/root/mount-vboxsf.sh

แล้วก็

chmod +x /etc/rc.d/rc.local

และสคริปต์ตัวอย่าง/root/mount-vboxsf.sh(ตั้งค่าตัวเลือก uid และ gid ของคุณเอง)

modprobe -a vboxguest vboxsf vboxvideo
mount -t vboxsf NAME_SHARED_DIRECTORY /media/sf_NAME_SHARED_DIRECTORY -o rw,uid=0,gid=0

คุณต้องเพิ่ม

chmod + /root/mount-vboxsf.sh

0

ฉันมีปัญหาที่คล้ายกันตรวจสอบส่วนหัวหากไม่ตรงกันจากนั้นเรียกใช้คำสั่งด้านล่าง

CentOS: sudo yum update && sudo yum -y ติดตั้งเคอร์เนลส่วนหัว kernel-devel


0

หากคุณอยู่ใน Debian:

1) ลบแพ็คเกจที่ติดตั้งทั้งหมดผ่านไฟล์ ISO ของ Virtualbox Guest:

sh /media/cdrom/VBoxLinuxAdditions.run uninstall

2) ติดตั้งแพ็คเกจ Virtualbox:

apt-get install build-essential module-assistant virtualbox-guest-dkms virtualbox-guest-utils

โปรดทราบว่าแม้จะมีการmodprobe vboxsfกลับมาไม่มีอะไร (เพื่อโมดูลที่มีการโหลดอย่างถูกต้อง) ที่vboxsf.soจะเรียกชื่อปฏิบัติการซึ่งเป็นผู้ให้บริการmount.vboxsf virtualbox-guest-utilsการละเว้นสิ่งนี้จะทำให้คุณไม่เข้าใจสาเหตุที่แท้จริงของข้อผิดพลาด

strace mount /your-directoryเป็นความช่วยเหลือที่ดีมาก (ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว/sbin/mount.vboxsf)



-1

คำสั่งด้านล่างสองคำสั่งใช้งานได้สำหรับฉัน

vagrant ssh
sudo mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant

-8

โอเคทุกคนพลาดข้อเท็จจริงพื้นฐานไปแล้ว

mkdir /test - ทำให้ไดเรกทอรีย่อยในไดเรกทอรีปัจจุบัน

sudo mkdir /test - สร้างไดเรกทอรีใน Root

ดังนั้นหากชื่อไดเรกทอรีที่ใช้ร่วมกันของคุณคือsharedและคุณทำสิ่งต่อไปนี้:

mkdir /test
sudo mount -t vboxsf shared /test

มันสร้างข้อผิดพลาดนี้:

sbin/mount.vboxsf: mounting failed with the error: No such file or directory

เพราะไดเรกทอรีอยู่ผิดที่! ใช่นั่นคือสิ่งที่เกิดข้อผิดพลาดนี้ ข้อผิดพลาดไม่ได้บอกว่าโหลดตัวเลือกของแขก VBOX ซ้ำ

แต่ถ้าคุณทำสิ่งนี้:

sudo mkdir ~/test
sudo mount -t vboxsf shared ~/test

จากนั้นก็ใช้งานได้ดี

มันทำให้ฉันประหลาดใจจริงๆว่ามีกี่คนที่แนะนำให้โหลดข้อมูลเพิ่มเติมจากแขกของ Vbox เพื่อแก้ไขข้อผิดพลาดนี้หรือเขียนโปรแกรมที่ซับซ้อนเพื่อแก้ปัญหาไดเรกทอรีที่สร้างขึ้นผิดที่


2
ข้อผิดพลาดที่พบคือ "ไม่มีอุปกรณ์ดังกล่าว" ไม่ใช่ "ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว" :)
mjtko

mynttest @ mynttest-VirtualBox: / media / sf_shared $ sudo mkdir ~ / ทดสอบ sudo mount -t vboxsf vbshared ~ / ทดสอบ mkdir: ตัวเลือกที่ไม่ถูกต้อง - 't' ลอง `mkdir - ช่วย 'สำหรับข้อมูลเพิ่มเติม
Berit Larsen

1
mkdir /testจะสร้างไดเรกทอรี / ทดสอบใน / sudo mkdir /testจะสร้างไดเรกทอรีเดียวกัน แต่เป็นของ root แทนที่จะเป็นผู้ใช้ปัจจุบัน
bschlueter

ฉันมีปัญหาเดียวกัน ดังนั้นฉันติดตั้งkernel-devel.x86_64 0:2.6.32-754.11.1.el6และเรียกใช้ command-- เหล่านี้ และcd /opt/VBoxGuestAdditions-*/init sudo ./vboxadd setupที่ทำงานให้ฉัน
Vishwanath Sharma
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.