• VirtualBox下Ubuntu虚拟机共享文件夹、自动挂载相关配置


    VirtualBox Ubuntu 共享文件夹的自动挂载:

    一些基本的操作步骤: 

    首先,我们想要实现VirtualBox虚拟机与windows系统之间的通信,我们必须也应该正确的安装虚拟机系统。 
    其次,我们也应该安装VirtualBox提供的虚拟机增强功能,这里我给大家配一张图,以示说明。 
    这里说明VirtualBox中增强工具的位置,因为时间太紧,具体安装过程这里就不做太多说明啦,如果有需要的,可以留言给我噢~ 
    最后,我们开始添加共享文件夹,这里我将会以多副图的形式来展示。 

    1、在本地计算机中任意一个磁盘中,新建一个文你想要和虚拟机共享的件夹,在我这里,我选择在我本地计算机H盘中新建一个文件夹,名字为SharedUbuntu*(一定记好这个名字!!!)* 
    这里写图片描述 

    2、在VirtualBox中选择设备-共享文件夹-共享文件夹..打开设置界面,如图。 
    这里写图片描述 

    3、出现设置菜单,点击右侧+号,进行添加共享文件夹。 

    切记:不要勾选 “自动挂载”!!!会导致和自己手动配置的/etc/fstab挂载配置冲突。

    这里写图片描述 

    4、设置信息 

    这里写图片描述 
    这里写图片描述 

    【警示:大写的红字】注意上述不要勾选 “自动挂载”,否则勾选之后,会导致开机启动之后,挂在的目录是ubuntu默认的media下,而不是你指定的/mnt或者其他目录。


    5、点击确定之后,我们就完成了这个共享文件夹的设定。

    接下来我们需要在虚拟机中为这个共享文件夹进行挂载操作。为了方便我们看到挂载的结果,我们这里先在这个共享文件夹中新建一个文本文件,名字为text.txt,文本输入“我现在的位置是:H:SharedUbuntu”。 
    这里写图片描述 
    在Ubuntu虚拟机中,打开终端,获取root权限,输入以下命令:

    mkdir /mnt/UbuntuShare #该命令是在 /mnt文件夹下创建了共享文件夹,文件夹的名字任意,我这里命名为 UbuntuShare ,特别注意和我刚刚在windows中建立的文件夹进行区分,二者是不一样的,并且我们必须保证二者名字是不同的。
    • 1

    挂载目录建立好以后,我们开始执行挂载操作

    mount -t vboxsf SharedUbuntu /mnt/UbuntuShare
    • 1

    这里写图片描述 
    挂载成功后,我们去查看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密码~嘿嘿  我真的真的 很用心去写啦,虽然我没能解决自动挂载的问题,如果有谁能解决,告诉告诉我呀~~ 
    这里写图片描述 

  • 相关阅读:
    链接
    Java垃圾收集算法1
    Java基础知识常见面试题汇总第一篇
    Java基础知识
    线程间通信
    System.Span, System.Memory,还有System.IO.Pipelines
    微服务构件
    定位恶意软件
    Spring MVC-处理程序映射(Handler Mapping)-简单的Url处理程序映射(Simple Url Handler Mapping)示例(转载实践)
    Spring MVC-处理程序映射(Handler Mapping)-控制器类名称处理程序映射(Controller Class Name Handler Mapping)示例(转载实践)
  • 原文地址:https://www.cnblogs.com/hellojesson/p/8004175.html
Copyright © 2020-2023  润新知