虚拟机是每一个程序猿必备的工具。本文依据最新版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++来再执行该程序。看似程序本身的原因,还是编译器的原因。而后面的两种方法则为共享大容量的文件提供了方便。

最初看起来非常easy的事情。而在里面却有好多细节要照应。你不要要懂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.

Win7系统与它的Virtualbox中安装的Ubuntu14.04共享信息的几种方法的更多相关文章

  1. 在不同的系统中的virtualbox中安装Ubuntu SDK

    对非常多的开发人员来说.你们可能使用的不是Ubuntu操作系统.在这样的情况下,开发人员须要在自己的操作系统中(OS X及Windows)安装virtualbox,并在VirtualBox中安装Ubu ...

  2. VirtualBox中安装Ubuntu12.04/Ubuntu14.04虚拟机(转)

    add by zhj: 如果宿主机是win7,那VirtualBox建议安装4.3.12,再高的版本在Windows7上运行会报错,从4.3.14到5.0.xx版本,一直报错,搞了半天也解决不了.如果 ...

  3. VirtualBox中安装CentOS-6.6虚拟机

    1. 下载 可以到官网下载,http://mirror.centos.org/centos/ 如果下载速度太慢的话,也可以到163镜像下载: http://mirrors.163.com/centos ...

  4. VirtualBox中安装CentOS-6.6虚拟机(转载)

    1. 下载 可以到官网下载,http://mirror.centos.org/centos/ 如果下载速度太慢的话,也可以到163镜像下载: http://mirrors.163.com/centos ...

  5. [ARCH] 1、virtualbox中安装archlinux+i3桌面,并做简单美化

    星期六, 28. 七月 2018 02:42上午 - beautifulzzzz 1.安装ArchLinux系统 安装Arch主要看其wiki,比较详细- 中文的我主要参考:一步步教你如何安装 Arc ...

  6. 在VirtualBox中安装了Ubuntu后,Ubuntu的屏幕分辨率非常小,操作非常不便。通过安装VirtualBox提供的“增强功能组件”,-摘自网络

    在VirtualBox中安装了Ubuntu后,Ubuntu的屏幕分辨率非常小,操作非常不便.通过安装VirtualBox提供的“增强功能组件”,可以解决这一问题,并且使用非常方便. 一.环境 | En ...

  7. virtualbox谨记:win7上只有4.3.x的版本支持ubuntu14.04.3虚拟机安装Oracle Rac,其他的版本3.x和5.0.2(至2015-08-30)均不可以

    virtualbox谨记:win7上只有4.3.x的版本支持ubuntu14.04.3虚拟机安装Oracle Rac,其他的版本3.x和5.0.2(至2015-08-30)均不可以

  8. VS编程,WPF中两个滚动条 ScrollViewer 同步滚动的一种方法

    原文:VS编程,WPF中两个滚动条 ScrollViewer 同步滚动的一种方法 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/ar ...

  9. 【转】Linux 中清空或删除大文件内容的五种方法(truncate 命令清空文件)

    原文: http://www.jb51.net/article/100462.htm truncate -s 0 access.log -------------------------------- ...

随机推荐

  1. 【java NIO】服务器端读写图片的一次排错经历

    上传文件方面: 一.前端 使用的是jQuery框架来上传图片,参考的是harttle大神博客:http://harttle.com/2016/07/04/jquery-file-upload.html ...

  2. Grunt Gulp Browserify Webpack

    Grunt 是相比后面几个更早的项目,他依赖于各种插件的配置.这是一个很好的解决方案,但是请相信我,你不会想看到一个 300 行的 Gruntfile Gulp 提供了一个不一样的解决方案,而不是依赖 ...

  3. [BZOJ2458][BeiJing2011]最小三角形(分治)

    求平面上n个点组成的周长最小的三角形. 回忆平面最近点对的做法,找到横坐标的中点mid分治到两边,合并时考虑离mid横坐标不超过当前最小值d的所有点,按y排序后暴力更新答案. 这个题也一样,先分治到两 ...

  4. BZOJ 4939 [Ynoi2016]掉进兔子洞(莫队+bitset)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4939 [题目大意] 给出一个数列,每个询问给出三个区间,问除去三个区间共有的数字外, ...

  5. BZOJ 3997 [TJOI2015]组合数学(单调DP)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3997 [题目大意] 给出一个网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右 ...

  6. 关于JS的This指针

    下面讨论一个执行上下文的最后一个属性——this指针的概念. This指针 A this value is a special object which is related with the exe ...

  7. [典型漏洞分享]Insert型SQL注入的发现和利用,篡改订单金额

    本例中的SQL注入和其它发现的SQL注入的主要区别:1.生成订单接口是一次性的,反复提交无效,因此,此类型的SQL注入比较难通过扫描器发现,需要人工提取和手动测试.2.Insert类型的SQL注入,不 ...

  8. 使用参数化查询防止SQL注入漏洞

    参数化查询防止SQL注入漏洞 看别人的登录注册sql语句有没漏洞即可 Where  name=‘admin’ or ‘1=1’ and password=’123’; 可以Or ‘1=1’就是漏洞 h ...

  9. 让SignalR客户端回调支持强类型

    几天写一个小程序的时候用到了SignalR,发现现在SingalR Server 支持强类型了,也就是说,我们可以定义一个客户端的通知契约: public interface IClient    { ...

  10. 微软工具ILMerge

    释义 ILMerge是一个可用于将多个.NET程序集合并为单个程序集的实用程序. ILMerge接收一组输入程序集并将它们合并到一个目标程序集中.输入程序集列表中的第一个程序集是主程序集. 当主组件是 ...