2009年3月22日星期日

VirtualBox虚拟机和实体机的数据共享

一直以来,VirtualBox凭借着其小巧玲珑的身躯,快如闪电的速度,功能齐备的界面,深受用户的欢迎。但是虚拟机与实体机的数据共享始终是一个困难的问题。当然有技术的朋友可以让虚拟机桥接到局域网,然后用往常的办法来实现数据交换。可是这种办法实在太不方便了,既要在实体机安装相关软件,又要在虚拟机里安装共享软件,无疑是加重了实体机的计算负担。所以使用VirtualBox自带的数据空间功能是一个最好的办法。

使用数据空间这个功能前,请确保虚拟机系统内已经安装了VirtualBox的增强功能包。如果没有安装增强功能包,用户是无法正常地使用数据空间的功能的!

在确保安装了增强功能包以后,用鼠标右键单击虚拟机界面下面的蓝色文件夹小图标,即可弹出如下一个窗口。
发件人 Linux


发件人 Linux

然后点击添加数据空间,选择好数据空间位置,即是要共享的目录,然后输入一个简单的共享名。下面有两个选项:固定分配和只读分配,只读分配就虚拟机内只能读取和运行共享目录里的文件,但不能写入。而固定分配则除了读写和运行的权限以外,可以写入文件。选择哪个权限,则是由用户的需要来决定了。
发件人 Linux


以上步骤都适用于各个平台的VirtualBox,但是下面步骤在各个操作系统是有区别的。

1.虚拟机的系统为Windows

A.打开命令提示符,输入如下命令:
net use x: \\vboxsrv\xxx

x:为共享目录挂载的分区,注意这个分区不能用已有的分区盘符,另外xxx为共享名。这样,用户就能在我的电脑看到共享的目录了。
发件人 Linux

B.害怕命令行操作的可以打开我的电脑,单击菜单栏的工具,选择映射网络驱动器。此时系统会弹出如下的一个选框,输入适当的驱动器和文件夹,点击确定即可!
发件人 Linux

2.虚拟机系统为类UNIX
打开终端,查看虚拟机系统是否已经加载了VirtualBox的模块
lsmod | grep vbox

如果出现了vboxvfs和vboxadd模块,即可使用数据空间功能。

然后切换到root用户 输入如下命令即可。
mount -t xxx /directory

xxx为共享名, /directory为挂载的目录名。注意,挂载的目录不能是系统的目录,如根目录和/usr目录,否则会出现很严重的系统问题。

因为mount涉及到类UNIX的硬件操作,所以必须要用具有管理员权限的用户来操作,例如root。但是如果你不想切换到root用户,可以使用如下命令。

Ubuntu:
sudo mount -t xxx /directory

Fedora:
su -c 'mount -t xxx /directory'

然后打开挂载的目录即可访问共享目录的内容了。

由于笔者没有苹果的Mac OS X系统和Sun的Solaris系统,所以无法介绍如何使用这两种系统的数据空间。在这里略显遗憾。

2 条评论:

  1. 好啊~没想到还能看到疑惑许久的问题的解决办法~
    通常都是U盘入,U盘出,U盘入。。。

    回复删除