作者:唐明伟
学校:河海大学
邮箱:mingwei.tang@sun.com
面向读者:初级
1.为什么需要互相访问? VirtualBox做为一款开源的虚拟机软件,以支持系统多,功能强大,运行速度快而吸引了很多用户,然而很多用户在使用虚拟机时,不可避免地会碰到一个问题:VirtualBox如何与宿主机进行互相访问? 其实这个问题的核心是在虚拟机如何访问宿主机,因为对于一般用户来讲,宿主机一般都是安装自己比较熟悉,上网比较方便的系统,比如Windows XP,Ubuntu等,在宿主系统中,可以方便地获得各种资源,因此没有必要去获取虚拟机里系统的资源。 而虚拟机就不同了,本身资源匮乏,如果再加上网络的问题,可利用资源就更加少了,因此不得不需要利用宿主系统中的资源来协助工作。 对于初涉OpenSolaris的开发者来讲,利用宿主系统的资源尤为重要,直接影响到其学习OpenSolaris的积极性。因此对于初学者来讲,宿主系统与虚拟系统的互相访问是极为重要的。 2.为什么是简单办法? 其实关于VirtualBox与宿主机的互相访问,已经有高人写文章共享了他们的访问办法,详情可见: http://developers.sun.com.cn/blog/ada/entry/virtualbox_%E8%99%9A%E6%8B%9F%E5%8C%96%E5%BA%94%E7%94%A8_%E4%BA%8C 可是设置比较复杂,需要在宿主系统中搭建一个网络桥,链接给出的文章描述的是宿主系统为WindowsXP下的办法,如果宿主不是Windows,那情况又会有变。 所以对于初学者来讲,该方法略显复杂。本文介绍的方法,非常简单,而且很通用。即想办法在宿主机上搭建一个FTP或者HTTP服务器,并保证虚拟机中的系统可以访问到。 3.如何实现? 为了保证方法的通用和实用性,本文以Windows XP专业版为宿主系统,VirtualBox中安装OpenSolaris。 如下图所示:
安装完虚拟机后,保证虚拟机的网络连接方式为NAT,这个一般来说是默认的连接方式。 或者通过setting,选择network进行设置,如下图所示。

设置成NAT后,如果宿主系统可以上网,则虚拟机中的OpenSolaris也已经可以上网了,但是仅仅能够上网还远远不够,比如要在OpenSolaris下下载一个几百M的软件,即使有多线程下载工具,在目前的网络环境下,要和Windows下的迅雷相比,还是相差甚远,因此要使用某些大型软件,推荐的办法还是在windows下下载好对应的版本,然后传到虚拟机的OpenSolaris中。 要在Windows中搭建一个FTP或者HTTP服务器是相当简单的,直接采用Windows IIS中的HTTP或者FTP组件就行。 在Windows XP专业版中安装IIS的方法不再赘述,不明白的读者可以参考一下的文章: http://www.zdnet.com.cn/server/2008/1009/1165108.shtml 本文设置了E:\FTP作为共享目录,端口默认为21,设置了可读写的访问���限,如下图:
至此,虚拟机中的OpenSolaris已经可以访问该FTP站点了,笔者机器的IP为10.13.4.27 打开OpenSolaris中的FireFox,在地址栏中输入ftp://10.13.4.27,可以列出E:\FTP中的所有文件,如下图所示:
 点击其中的文件就可以直接下载,由于是自己搭建的局域网,所以下载速度是很快的。如下图:
 即使加上在windows下的下载时间,也远比单在solaris下载一个大型软件的时间要少地多。 笔者在这里设置的目录是可写,因此在OpenSolaris下也可以上传文件到Windows中。 如果要上传文件到windows中,就不能通过浏览器的方式来访问,如果读者对命令行比较熟,完全可以通过命令行来上传和下载。 OpenSolaris中也提供了GUI的管理方式。 点击状态栏的位置-->连接服务器,如下图:

在弹出的窗口中输入如下的信息,如下图:

点击连接,在桌面上会显示一个以IP命名的文件夹,打开后如下图:

这样就可以通过拖拽的方式直接往宿主Windows里上传文件了。 4.总结 至此,宿主机访问虚拟机的目的已经达到了,在这里选择了具有代表性的WindowsXP宿主和OpenSolaris虚拟机。 事实上,要搭建一个FTP服务器在任何平台下都可以很方便地做到。比如在windows下,不管是哪个版本,都可以安装一些常见的FTP服务器软件来搭建,比如Serv-U或者FileZilla Server。在Linux或者OpenSolaris下,也通常能够很方便地做到。 |