鉴于支付宝等服务无视我们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.若想删除挂载,可执行命令
1
|
umount -f /mnt/share |
2.若想开机自动挂载,可以在 /etc/fstab 文件末添加一项
1
|
sharing /mnt/share vboxsf defaults 0 0 |
或
1
|
sharing /mnt/share vboxsf rw,gid=100,uid=1000,auto 0 0 |
3.为了方便,可以在桌面上新建一个文件,内容为:
1
2
|
#!/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用户)追加如下命令
1
|
mount -t vboxsf sharing /mnt/share |
最后重启系统,大功告成!!!
另外,在 virtualbox 4.x 版本中,已有一个“自动挂载”功能,如下图所示:
再使用命令 mount ,得如下挂载信息:
1
2
3
4
5
6
7
8
9
10
11
12
|
[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的自动挂载功能(因为挂载目录自己不可控)。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/52linux/archive/2012/03/07/2384381.html