VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载

 之前在Win7主机上用VirtualBox(版本:5.1.22)安装了Ubuntu 16.04.3 LTS之后发现主机的Win7系统和虚拟机上的ubuntu系统不能相互复制粘贴也不能相互拖拽文件(虚拟机设置的常规->高级:共享粘贴板和拖放均已设为双向)。网上有一种说法是需要将虚拟机设置:

  • 存储->控制器:SATA->勾选“使用主机输入输出(I/O)缓存”选项
  • 存储->控制器:SATA->“***.dvi”->勾选“固态驱动器(S)”选项

按照以上设置后,至于能不能双向复制粘贴一些文字我忘记了,但是绝对是不能复制粘贴文件的!
  通过网上查找资料说是需要先安装增强功能,然后通过构建共享文件夹来实现主机系统和虚拟机系统之间的文件互通,随之也可以实现主机系统和虚拟机系统之间的复制粘贴!我这里的情况是:主机系统是Win7系统,虚拟机系统是ubuntu系统。共享文件夹的构建先在Win7系统的某一个目录下构建一个文件夹作为共享文件夹。共享文件夹可以实现文件互通的原理是主机系统和虚拟机系统均可以对该文件夹进行读写。主机系统可以对该文件夹进行读写一点也不奇怪,因为本身就是先在主机系统上建立的。熟悉linux系统的朋友知道某一块硬盘空间或文件系统要使用的话必须挂载到目录树的某一个目录下才能使用,所以如果虚拟机的ubuntu系统必须将该共享文件夹挂载到虚拟机系统的某目录下才能对该共享文件夹进行读写。
  本篇所讲的挂载有两种方式:  

  • 方式一:通过VirtualBox虚拟机软件上构建共享文件夹时勾选“自动挂载”选项来实现挂载,但是这种挂载只能挂载到虚拟机ubuntu系统下的/media目录的某个自动生成的文件夹下。
  • 方式二:通过向虚拟机ubuntu系统下的/etc/fstab文件中添加与共享文件夹相应的选项来实现挂载并且这种方式的挂载可以挂载到自定义的目录。/etc/fstab文件记录了开机自动挂载的相关选项,具体细节可以自己查阅相关资料。

      这两种方式都可以实现关机并开机后共享文件夹已经自动挂载到相应目录而不再需要额外的操作。第二种方法也可以使用mount命令来实现挂载,但是关机并开机时需要再次使用mount命令来实现挂载而不能自动挂载!

安装增强功能:

  • VirtualBox虚拟机软件:左上角菜单栏->设备->安装增强功能,出现图1提示框:

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第1张图片

图1.

  • 点击“Run”出现图2所示界面:

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第2张图片

图2.

  • 输入账号密码,点击“Authenticate”,等待一段时间知道出现如图3所示画面:

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第3张图片

图3.

  • 图3的红圈处有提示,我当时是敲击“Enter”键后,该终端界面就消失了同时出现了如图4所示画面:

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第4张图片

图4.

  • 图4的红圈表示已经有media文件被挂载,点击进入之后就可以看到里面有如图5所示的相关文件,也就是增强功能的相关安装文件。在终端将目录切换到该目录,然后利用root用户执行命令:./VBoxLinuxAdditions.run并等待安装完成。

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第5张图片

图5.

构建共享文件夹:

  • 在Win7主机上新建一个文件夹作为共享文件夹,这里的是D盘下的VirtualBox_Shared_Memory文件夹。如图6所示。

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第6张图片

图6.

  • 接下来在VirtualBox虚拟机软件上菜单栏:设备->共享文件夹->共享文件夹,就会出现如图7所示的ubuntu虚拟机上的设置共享文件夹界面。点击图中红圈处的加号就会出现如图8所示的添加共享文件夹对话框。

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第7张图片

图7.

  • 共享文件夹位置选择我们之前在Win7主机D盘上新建的VirtualBox_Shared_Memory文件夹,共享文件夹名称默认为该文件夹的名字。勾选“固定分配(M)”选项来分配固定的硬盘空间作为共享文件夹。如果选择本文开头的第一种挂载方式则勾选“自动挂载”选项,如果选择第二种方式则不要勾选该选项!至此,共享文件夹的设置完毕,接下来就是挂载操作。

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第8张图片

图8.

共享文件夹的挂载

  • 方式一:经过上面的操作步骤,其实方式一所要求的大部分操作已经完成,并且你也应该可以发现你的ubuntu系统的/media目录下多了一个文件夹,该文件夹的名称为sf_(图8中共享文件夹名称)。其实此时就是将共享文件夹挂载到了该文件夹下。且该文件夹图标上有一个叉号,表明目前用户是不能访问的,如图9所示。如果试图访问也会有如图10所示的禁止访问提示。

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第9张图片

图9.

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第10张图片

图10.

  • 至于以上不能访问的原因是因为这个挂载点(即sf_(图8中共享文件夹名称)文件夹)默认的权限是给vbox创建的用户组“vboxsf”的,而你可能不在这个用户组内。只需要修改“/etc/group”文件,把自己的用户名加入到“vboxsf”用户组就可以了(这里可以参考参考资料1)。如图11所示即为我的系统中该文件的内容,该文件中的每一项都代表一个用户组的信息。被:号分为4个字段第一个字段代表用户组名,第4个字段代表组内的用户名,多个用户名用逗号隔开,其它字段的意义可以参考参考资料6。这里将自己的用户名添加到vboxsf用户组对应的哪一行的用户段上再重启电脑就完成了方式一的挂载操作。接下来你就可以发现sf_(图8中共享文件夹名称)文件夹中的内容可以访问了。如图12,图13所示。

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第11张图片

图11.

  • 接下来你就可以发现sf_(图8中共享文件夹名称)文件夹中的内容可以访问了。如图12,图13所示。你会发现图13中的文件内容与图6中的文件内容一样,这也就证明主机系统和虚拟机系统之间可以实现文件互通。

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第12张图片

图12.

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第13张图片

图13.

  • 方式二:这里你需要首先在ubuntu虚拟机上构建即将挂载到共享文件夹的目录,该目录理论上是自己随意制定,但是最好还是新建在/mnt目录下,因为该目录是linux系统默认来挂载额外的设备而使用的目录。这里我在该目录下新建了wusm文件夹用来挂载共享文件夹。特别要注意这里新建的文件夹的名字不能和在Win7主机上新建的作为共享文件夹的文件夹的名字相同(甚至名字中不能有个别的单词相同,我自己的机器上出现过),否则可能出现”protocal error”的错误提示!

  • 接下来就是在“/etc/fstab”文件中添加与共享文件夹,挂载目录相关项来使得开机即可自动挂载共享文件夹(这一部分内容可以参考《鸟哥的linux私房菜,基础学习篇,第三版》234-236页的内容)。如图14所示。/etc/fstab”文件的每一项分为6个字段,两个字段用空格隔开。第一个字段表示设备名称(该字段也可以使用对应的文件系统的卷标或者对应的UUID,至于UUID到底是啥我也不太清楚,自己可以去查一下,反正我这系统上的该文件每一项的第一个字段用的就是UUID),第二个字段代表挂载点,第三个字段代表文件系统类型(对于我目前的Ubuntu 16.04.3 LTS支持的文件系统类型可以通过查看“/proc/filesystems”文件得知。如图15中mount命令的man page中的-t参数的解析。在图16中可以看出,我目前的ubuntu系统下“/proc/filesystems”文件中有vboxsf关键字及我目前的ubuntu系统支持vboxsf文件系统类型)。至于第四,五,六字段都是一些参数的设置,也可以参考《鸟哥的linux私房菜,基础学习篇,第三版》234-236页的内容。

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第14张图片

图14.

 

图15.

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第15张图片

图16.

  • 一般在开机之后,操作系统会自动挂载”/etc/fstab”文件中相关项的设备。我这里添加的与共享文件夹相关的项的第一个字段是共享文件夹名称(因为它好像没有什么UUID啊,因为我也没找到)并且第一个字段前面需要空一格空格,不然在vim编辑器下第一个字段会变成红色报错。第二个字段就是我之前在/mnt目录下新建的wusm文件夹。第三个字段就是vboxsf。第四,五,六字段默认:defaults 0 0.如图14所示。添加完毕之后保存。

  • 这时候不要立马重启,因为你添加的内容可能有错误。如果有错误的话就可能导致你无法开机或其他错误。你可以先先使用命令:mount -a,将”/etc/fstab”文件中的相应项都挂载起来,然后利用命令df查看你的共享文件夹是否有被挂载,如果有被挂载则说明你的”/etc/fstab”文件中的添加没有错误,可以重启。否则说明你的添加有错误,必须返回修改!如图17所示,我这里使用命令::mount -a以及df之后可以看到与共享文件夹相关的选项说明我的添加没有问题,同时如图18所示虚拟机中ubuntu系统中的/mnt/wusm文件夹下也有内容了且文件内容与图6中的一致,至此大功告成!

 
VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载_第16张图片

图17.

 

图18.

参考资料:

1. http://forum.ubuntu.org.cn/viewtopic.php? f=86&t=399216&sid=efe9a3f476dcdeb199c0ad4b0115ca5b&start=15
2. http://tieba.baidu.com/p/1587452322
3. http://www.linuxdiyf.com/linux/31729.html
4. http://blog.csdn.net/golden1314521/article/details/45500843
5. https://askubuntu.com/questions/252853/how-to-mount-a-virtualbox-shared-folder-at-startup
6. https://www.cnblogs.com/peida/archive/2012/12/05/2802419.html

你可能感兴趣的:(VirtualBox虚拟机 Ubuntu 16.04.3 LTS 安装增强功能,共享文件夹,开机自动挂载)