VirtualBox 共享文件夹设置 及 开机自动挂载

      鉴于支付宝等服务无视我们Linux用户的存在,没办法,那只好在Linux上用VirtualBox虚拟一个Windows系统了。系统装好了,在日常使用过程中,往往要从VirtualBox的客户机(guest system)中使用主机(host system)里面的文件,那么通过共享文件夹的方式可以达成此目的。

      我在这里写了个图文教程,说明设置过程,希望对大家有所帮助。(注:我的主机是Ubuntu Linux 8.04,客户机是Windows XP,VirtualBox版本2.2.4[下载])

      在VirtualBox中安装好Windows XP后,先要安装工具包VBoxGuestAdditions.iso,这个映像文件位于VirtualBox的安装目录下,我的是在/usr/share/virtualbox目录下。在VirtualBox控制面板中点击"设置",接着选"光驱",加载映像。启动虚拟机进入XP后,安装辅助工具包。

      接下来就是设置共享目录了。在VirtualBox先选择你的虚拟系统,接着"设置",选"数据空间",点击那个加号按钮,如下图:

      出现添加数据空间的窗口,在"数据空间位置"下拉框中点击"其它",选择你要共享的文件夹,"数据空间名称"中填你自己起的名字,这里我填的是tmp,只读选项根据自身情况选择,配置好后,如下图:

      接着启动进入客户机Windows XP,打开"我的电脑",依次点击菜单栏"工具"-"映射网络驱动器",驱动器盘符自选,文件夹填"\\vboxsvr\tmp",tmp是我之前设置的"数据空间名称",把tmp改成你刚才设置的"数据空间名称"即可,如下图:

      确定后,在"网络驱动器"那里就可以看到共享文件夹的盘标了,如下图:

      好了,现在双击"网络驱动器"中的那个图标,即可读取、修改linux主机中的文件了

遇到的问题:
      直接在XP共享文件夹中使用应用程序打开文件,修改后不能直接保存,如用Photoshop打开某图片并修改后,ctrl+s不能保存,提示该文件已经被锁定。

解决办法:
      把共享文件夹中的文件复制到Windows XP的本地磁盘中,修改完成后,再复制回共享文件夹。

 

 

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

 

 

另一篇:如何使用VirtualBox的共享文件夹

 

(Windows XP SP2作host,Red Hat 9.0为guest)
 
在Windows上的VirtualBox中装好Redhat9虚拟机之后,box就想让两个系统交换文件。交换文件有多种方法,其中最简单的一种是使用共享文件夹。
 
首先,在Windows上运行VirtualBox。如图,选择“Red Hat 9.0”,再选“共享文件夹”。
 
点击“共享文件夹”,会弹出“Red Hat 9.0设置”对话框。此时可以添加一个新的共享文件夹。box在E盘有一个名为sharing的目录,就用它了。注意,图中的文件夹名称 “sharing”又称为共享名称(sharename)。在Redhat9挂载共享文件夹的时候会用到它。
 
确定之后,可以看到共享文件夹的数目变成了1。
 
主人准备好了,客人Redhat9要享受“共享文件夹”先得安装辅助工具包。这个辅助工具包是一个名为VBoxGuestAdditions.iso的映像文件,位于VirtualBox的安装目录下。点击“光驱”,加载映像。
 
启动虚拟机,安装辅助工具包。由于box安装的虚拟机没有图形界面,所以安装辅助工具包的时候带了vfs-module参数。
  • mount /dev/cdrom    挂载光驱
  • cd /mnt/cdrom    进入光盘
  • sh ./VBoxLinuxAdditions.run vfs-module    这里没有完全安装
  • reboot    安装成功后需要重启系统
重启之后,Redhat9就可以访问Windows提供的共享文件夹了。
  • mkdir /mnt/share    新建挂载点(mountpoint)- :这个挂载点也可放在 /home/*** 目录下
  • mount -t vboxsf sharing /mnt/share    挂载共享文件夹
  • cd /mnt/share    进入共享文件夹
  • ls    看看有什么
OK,大功告成。

 

注意:

 1.若想删除挂载,可执行命令

umount -f /mnt/share

 
2.若想开机自动挂载,可以在 /etc/fstab 文件末添加一项    

 

sharing /mnt/share vboxsf defaults 0 0

 或

sharing /mnt/share vboxsf rw,gid=100,uid=1000,auto 0 0


 3.为了方便,可以在桌面上新建一个文件,内容为:

 

#!/bin/sh 
sudo mount -t vboxsf sharing /mnt/share




实战经验:

以上资料是从网上摘录的,对于“开机自动挂载”模块,我试了好多遍都以失败告终,大部分网络资料都是说在 /etc/fstab 文件中追加
VirtualBox虚拟机文件夹共享挂载命令 sharing /mnt/share vboxsf defaults 0 0 ”,其实是错误的,
因为系统调用fstab的时候,Virtualbox的共享目录的模块还没有加载,所以每次加载都会失败,最终的解决方案如下:

在文件 /etc/rc.local 中(用root用户)追加如下命令

mount -t vboxsf sharing /mnt/share

最后重启系统,大功告成!!!


另外,在 VirtualBox 4.x 版本中,已有一个“自动挂载”功能,如下图所示:


再使用命令 mount ,得如下挂载信息:
[jianbao@localhost ~]$ mount
/dev/sda1 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda2 on /home type ext3 (rw)
sharing on /mnt/share type vboxsf (uid=1000,gid=100,rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
htdocs on /media/sf_htdocs type vboxsf (gid=501,rw)
sharing on /media/sf_sharing type vboxsf (gid=501,rw)


它自动把这些共享文件夹挂载到 /media/ ,目录下了,我想要说的是,这个挂载目录不是我想要的,

所以我没采用VirtualBox的自动挂载功能(因为挂载目录自己不可控)。

 

 

 

 

 

posted @ 2012-03-07 22:39  52linux  阅读(40250)  评论(0编辑  收藏  举报