VirtualBox Ubuntu 共享文件夹的自动挂载其实发生了许多的问题,这里我就一一的详细介绍,但也会忽略一些步骤。
一些基本的操作步骤:
首先,我们想要实现VirtualBox虚拟机与windows系统之间的通信,我们必须也应该正确的安装虚拟机系统。
其次,我们也应该安装VirtualBox提供的虚拟机增强功能,这里我给大家配一张图,以示说明。
这里说明VirtualBox中增强工具的位置,因为时间太紧,具体安装过程这里就不做太多说明啦,如果有需要的,可以留言给我噢。
最后,我们开始添加共享文件夹,这里我将会以多副图的形式来展示。
1、在本地计算机中任意一个磁盘中,新建一个文你想要和虚拟机共享的件夹,在我这里,我选择在我本地计算机H盘中新建一个文件夹,名字为SharedUbuntu*(一定记好这个名字!)*
2、在VirtualBox中选择设备-共享文件夹-共享文件夹..打开设置界面,如图。
3、出现设置菜单,点击右侧+号,进行添加共享文件夹。
4、设置信息
5、点击确定之后,我们就完成了这个共享文件夹的设定。接下来我们需要在虚拟机中为这个共享文件夹进行挂载操作。为了方便我们看到挂载的结果,我们这里先在这个共享文件夹中新建一个文本文件,名字为text.txt,文本输入“我现在的位置是:H:\SharedUbuntu”。
在Ubuntu虚拟机中,打开终端,获取root权限,输入以下命令:
mkdir /mnt/UbuntuShare #该命令是在 /mnt文件夹下创建了共享文件夹,文件夹的名字任意,我这里命名为 UbuntuShare ,特别注意和我刚刚在windows中建立的文件夹进行区分,二者是不一样的,并且我们必须保证二者名字是不同的。
挂载目录建立好以后,我们开始执行挂载操作
mount -t vboxsf SharedUbuntu /mnt/UbuntuShare
挂载成功后,我们去查看Ubuntu文件中 /mnt/UbuntuShare下的文件,看看是否能够获取到刚刚我们在windows系统共享文件夹下的text.txt文件。
表示我们的挂载操作已经成功。
对于共享文件夹挂载的一些操作
针对以上的挂载操作,有一点特别遗憾,就是在我们每一次启动虚拟机的时候,我们都需要重新进行挂载操作,也就是每一次我们都需要在终端中重新输入挂载命令:
mount -t vboxsf SharedUbuntu /mnt/UbuntuShare
我们肯定希望是,当我们重新启动或者说重新打开虚拟机时,共享文件已经自动挂载好了,可以供我们使用,但事实,很遗憾,我本身并没有解决这个问题,我尝试了许多办法,还是没有找到适合我的,以下我列出几个网络上常见的几种说法,亲测,没有一个好使的。
第一种是说,我们需要在 根目录下的 /etc/fstab文件中添加一行代码,具体如下:
SharedUbuntu /mnt/UbuntuShare vboxsf rw,gid=username,uid=username,auto 0 0 #其中username是你的登陆用户名
第二种是这样的:
SharedUbuntu /mnt/UbuntuShare vboxsf rw,gid=100,uid=1000,auto 0 0
第三种是这样的:
SharedUbuntu /mnt/UbuntuShare vboxsf defaults 0 0
亲测上面的三种方法在我这里没有一个有用的,反而当我添加了这三条中的任意一条代码之后,我的虚拟机就没办法正常打开了,会出现以下错误:
这里想要正常启动虚拟机的唯一办法就是,输入你的root用户的密码,然后进入系统,输入以下代码打开 /etc/fstab 文件,将我们添加的代码注释掉。
vim /etc/fstab
只需要添加#号即可
注释好了之后,记得保存退出!
之后我们通过reboot命令重新启动虚拟机,即可正常运行。
reboot #重新启动虚拟机
第四种说法是,我们需要在 根目录下的 /etc/rc.local文件中进行添加代码:
sudo mount -t vboxsf SharedUbuntu /mnt/UbuntuShare
至于第四种说法的来源是说,前三种为什么会失败,是因为系统调用fstab的时候,Virtualbox的共享目录的模块还没有加载,所以每次加载都会失败。
当我自己满怀希望的去测试了第四种方法之后,我发现,系统不会再出错了,我真的真的特别激动啊。但是,并没有实现自动挂载。
我自己也没有办法了。
我去查了许多的文件,也没弄清楚,不过我在这里分享一个链接,或许某位看到这篇文章的时候就突然解决了呢。
一篇外文文章,VirtualBox/SharedFolders:
这是文章中的一段话。
我在这里只能提供一个勉强简单的方法吧,最起码要比输入命令要强一些。我的方法是这样的,我在我的Ubuntu桌面上新建两个文件,一个是挂载文件,一个是取消挂载的文件,其中,mount.sh文件中写入:
#!/bin/sh
sudo mount -t vboxsf SharedUbuntu /mnt/UbuntuShare
umount.sh文件中写入:
#!/bin/sh
sudo umount -f /mnt/UbuntuShare
两个文件,我们需要分别添加可执行权限,我们可以不在终端中通过chmod命令,我们可以直接右键-属性-权限,勾选 “允许作为程序执行文件”。
而此时的文件,我们还不能够直接进行点击运行,我们需要进一步设置,具体过程如下图所示。
我们随便的打开一个文件夹,打开位于左上编辑菜单,选择首选项,如图:
进一步选择可执行文件中的 “每次都询问”属性,如图:
选择之后,我们就可以关闭这个设置框啦,接下来就很正常的在桌面上进行点击运行啦。我最后再附加张图片吧。一定要记得,选择在终端中运行,缺点就是,每次运行的时候,我们都需要输入root密码,我真的真的很用心去写啦,虽然我没能解决自动挂载的问题。
哈哈,我完事啦,真希望这篇文章能帮到大家。