Win7系统与它的Virtualbox中安装的Ubuntu14.04共享信息的几种方法

72 篇文章 0 订阅
26 篇文章 0 订阅

虚拟机是每个程序员必备的工具。本文根据最新版VirtualBox用户手册的提示,通过自己的亲自实践,给出了Win7系统与运行在其中的VirtualBox 5.0.2中的Ubuntu 14.04共享信息的三种方法,而不仅仅是建立二者的共享文件夹。

在学习新的技术时,或者做不同的测试时,为了节省硬件的目的,我们常常安装虚拟机,并在其中安装不同的操作系统。我们把运行在硬件的本来的那个操作系统称为主操作系统 (host OS),而把运行在虚拟机上面的操作系统称为客操作系统 (guest OS)。这时,在host OS和guest OS间共享信息就变得非常有必要。

本文在[文档][1]的帮助下,结合亲自的探索和实践,总结出了以下几个Host OS和Guest OS共享信息的方法。

环境设置:

  • Host OS: Windows 7
  • VirtualBox: version 5.0.2
  • Guest OS: Ubuntu 14.0

1 前提准备工作

后面讲解的几种的一个前提工作就是先安装VirtualBox的增强功能 (Guest Addition)。安装VirtualBox的时候该功能没有被默认安装。它就相当于安装在Guest OS上的一个软件,从而加强Host OS与其之间的沟通交流工作。

安装的方法如下:先启动Guest OS;在VirtualBox的运行Guest Host的窗口上面的菜单栏上,选择 设备 (Devices) –> 安装增强功能;然后Guest OS (此时为Ubuntu 14.04)中的Terminal会自动启动,会给你相应的提示,让你下载安装包,你安装相应的提示完成即可。

有了客操作系统增强功能的安装,我们多种多样的功能,接下来主要介绍它们间的共享信息的方法。

2 二者共享信息的方法

2.1 Clipboard sharing

这是剪贴板共享的方法,你只有在其中某个系统中复制一份信息,然后再另一个系统上的剪贴板上就可获取该信息。

  1. 如果你的Guest OS正在运行,则按下图的方法,然后根据自己的需要选用不同的选项。
    这里写图片描述
  2. 如果Guest OS没有运行,则运行VirtualBox,然后采用下图的方法
    这里写图片描述
2.2 临时共享文件夹的方法

该方法只针对已经运行Guest OS的情况。关闭Guest OS在重启后,先前建立的共享文件会失效。该方法比较灵活,是一种暂时的连接和共享。

方法如下:

  1. 在运行Guest OS的窗口上面依次点击Devices->Shared Folders->Shared Folders Settings,如下图:
    这里写图片描述
  2. 在新出现的对话框中 (如下图),点击添加 (如下图中的标号1),然后再新出现的Add Share对话框中 (下图中标号2)填写文件夹的路径和名字 (注意不要选中三个复选框),参见下图:
    这里写图片描述
  3. 在Guest OS Ubuntu中启动Terminal,然后在其中输入以下命令:

    mkdir mnt
    sudo mount -t vboxsf UbuntuShareFile mnt

    上面先在用户目录下建立一个文件夹mnt,然后采用通常的加载命令将Host OS上的文件夹UbuntuShareFile与其联系起来。

2.3 自动共享文件夹

2.2节中讲解的方法每次关闭Guest OS,所建立的共享文件夹就失效,有时不太方便,这就需要一种方法,建立共享文件夹后永久存在,这正是本节要讲解的方法。

方法如下:

  1. 在Host OS上建立具有自动连接功能的共享文件夹,你可以采用VirtualBox GUI,也可采用命令行工具VBoxManage。GUI方法建立共享文件夹时,填写文件夹名和该文件夹的路径后要选中Auto-mount复选框即可;而VBoxMange命令为:

    VBoxManage sharefolder add "Ubuntu" --name "UbuntuShareFile" --hostpath "E:\UbuntuShareFile" --automount

    即可完成于GUI方法相同的作用。注意:上述命令的运行需要先切换到VBoxManage所在的文件夹下,同时是在Win7的cmd中运行的。

  2. VirtualBox规定,在Guest OS中与Host OS对应的自动连接共享文件夹在路径/media下,同时该共享文件夹的名字为Host OS上共享文件夹名字在加上前缀sf_。比如,上面例子中的名字为UbuntuShareFile,则在Ubuntu中VirtualBox自动建立的文件夹名字为 sf_UbuntuShareFile。针对上面的例子,如下图所示:
    这里写图片描述
    此时,你若点击想进入该文件,你会发现你没有权限浏览该文件夹的任何内容,这是因为

    Access to auto-mounted shared folders is only granted to the user group vboxsf.

    所以,我们还需要在Ubuntu的Terminal中输入以下命令,才能获取该文件夹的读写权限:

    sudo usermod -a -G vboxsf robert

    上面命令的作用是将用户robert添加到用户组vboxsf中。如果执行该命令后还没起作用,则需要重写启动Guest OS系统。

这样你就能顺利访问共享文件夹中的内容了,而不必每次都重新设置新的共享文件夹。

3 结束语

无论你采用哪种虚拟机技术,在Host OS 和Guest OS间共享信息总是一个绕不开的话题。比如第一中方法的应用场景是,你在Win7上面运行了符合C++11标准的程序,但运行失败,然后你想换一个编译器g++来再运行该程序,看似程序本身的原因,还是编译器的原因。而后面的两种方法则为共享大容量的文件提供了方便。

最初看起来很容易的事情,而在里面却有好多细节要照顾。你不要要懂VirtualBox的使用方法,更要对Host OS和Guest OS上面的Terminal的用法也要熟悉。通过让Host OS和Guest OS共享信息这件事情,我认识到,有些问题,你通过网上搜索一段时间而没有得到答案的时候,最好的方法就是直接阅读与该问题相关的软件的User Manual。

[1]: Oracle Corporation. Oracle VM VirtualBox User Manual Version 5.0.2, 2015.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值