zoukankan      html  css  js  c++  java
  • 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密码~嘿嘿  我真的真的 很用心去写啦,虽然我没能解决自动挂载的问题,如果有谁能解决,告诉告诉我呀~~ 
    这里写图片描述 

  • 相关阅读:
    RUST实践.md
    redis.md
    opencvrust.md
    aws rds can't connect to mysql server on 'xx'
    Foundation ActionScript 3.0 With Flash CS3 And Flex
    Foundation Flash Applications for Mobile Devices
    Flash Mobile Developing Android and iOS Applications
    Flash Game Development by Example
    Actionscript 3.0 迁移指南
    在SWT中非UI线程控制界面
  • 原文地址:https://www.cnblogs.com/hellojesson/p/8004175.html
Copyright © 2011-2022 走看看