virtualbox 中的linux 共享文件 发生文件系统类型错误的解决办法

时间:2021-11-23 14:23:14

转自:http://blog.csdn.net/ls1160/article/details/24913391

最近在研究linux下的安卓源代码编译,遇到了一些问题,在虚拟机的共享文件上。

因为联网下载安卓源代码太慢了,如果按照老罗的方法的话,于是就自己离线下载了包,打算直接共享到linux虚拟机里面使用。

在实验室直接共享就可以了,但是编译的话,由于linux是32位的,产生了一些错误不知道怎么解决了。于是就想着换到64位,但是,这个时候共享文件就出了问题。

后面查资料还是解决了。

【网上的共享文件步骤】

sudo mkdir /mnt/shared

sudo mount -t vboxsf Baidu /mnt/shared

其中"Baidu"是之前创建的共享文件夹的名字。OK,现在Ubuntu和主机可以互传文件了。

我的会出现错误提示:

mount:文件系统类型错误、选项错误、Baidu有坏超级块,缺少代码页或助手程序,或其他错误 (对某些文件系统(如 nfs、cifs) 您可能需要一款 /sbin/mount.<类型> 助手程序) 有些情况下在 syslog 中可以找到一些有用信息- 请尝试dmesg | tail  这样的命令看看。

但是不影响,可以在/media/sf_Baidu 中查看挂载的文件(我共享的文件夹名字为Baidu )

(但是我这里显示没有权限打开sf_Baidu。于是,我就开始寻找其他方法。)

===========================================================================

通过查看系统日志  /var/log/syslog 发现了错误

sf_read_super_aux err=-22。

搜索到的解决方法如下:

cd /sbin

sudo rm mount.vboxsf

sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/mount.vboxsf

思路应该就是发现在sbin下面的mount.vboxsf坏掉了,于是重新安装一个就可以了。
重新安装的光盘的mount.vboxsf的位置可能会有一点不一样,对应调整就可以了。
对应的配置
Host OS: Windows 7 64 bit
Guest OS: Linux Kylin 64 bit
VirtualBox 4.3.10 - 
VirtualBox Guest Additions 4.3.10

===========================================================================

【网上其他的步骤】

假如您不想每一次都手动挂载,可以在/etc/fstab中添加一项

games /mnt/share vboxsf rw,gid=100,uid=1000,auto 0 0

这样就能够自动挂载了。

4. 卸载的话使用下面的命令:

sudo umount -f /mnt/share

注意:

共享文件夹的名称千万不要和挂载点的名称相同。比如,上面的挂载点是/mnt/shared,如果共享文件夹的名字也是shared的话,在挂载的时候就会出现如下的错误信息(看http://www.virtualbox.org/ticket/2265):

/sbin/mount.vboxsf: mounting failed with the error: Protocol error