环境:主机操作系统是 Windows 7,虚拟机是CentOs5.5(RedHat Enterprise 版本相同),虚拟机是VirtualBox 3.2.12。 1. 安装增强功能包(Guest Additions)
安装好 CentOs5.5 后,运行CentOs5.5 并登录。然后在 VirtualBox 的菜单里选择" 设备(Devices)" -> "安装增强功能(Install Guest Additions)"。
你会发现在 CentOs5.5 桌面上多出一个光盘图标,这张光盘默认被自动加载到了文件夹/media/VBOXADDITION_3.2.10_66523(根据版本不同该名称可能有所不
同)。进入命令行终端,输入:
#cd /media/VBOXADDITION_3.2.10_66523
#sudo bash ./VBOXADDITION_3.2.10_66523-x86.run 或 sh
VBOXADDITION_3.2.10_66523-x86.run
specify KERN_DIR=
先安装好 gcc
#yum -y install gcc 再安装 kernel-devel 和kernel-headers #yum install kernel-devel kernel-headers
在安装完成后,做一个连接
ln -s/usr/src/kernels/2.6.18-194.26.1.el5-i686 /usr/src/linux
注意:一定要进行这此项操作,否则 VirtualBox客户端增强功能在安装的过程中同样会报错。其中“2.6.18-194.26.1.el5-i686”是内核的版本号,不同的版本可能会不一样,你要根据你自己的系统内核填入。#uname -r 可以查看内核版本。
安装成功后,再次执行
#cd cd /media/VBOXADDITION_3.2.10_66523
#sh VBOXADDITION_3.2.10_66523-x86.run
重新启动下
#lsmod|grep vboxsf vboxsf 38088 0 vboxguest152104 7 vboxsf
说明载入了内核模块 vboxsf
设置共享文件夹
重启完成在 VirtualBox 的菜单点击"设备(Devices)" -> 分配数据空间(Shared Folders)菜单,添加一个共享文件夹,选项固定和临时是指该文件夹是否是持久的。尽量使用英文名称。我这里用winshare.
挂载共享文件夹重新进入虚拟 CentOs5.5,在命令行终端下输入:
#sudo mkdir /mnt/share
#sudo mount -t vboxsf winshare/mnt/share
如果提示 /sbin/mount.vboxsf:mounting failed with the error: No such device 可能是没有载入内核模块 vboxfs ,先查看下:
#lsmod | grep vboxsf
如果没有结果返回,说明 vboxsf 没有载入,执行
#sudo modprobe vboxsf
正常的话 mount -t vboxsfwinshare /mnt/share 共享文件夹应该可以访问了
#cd /mnt/share
#ls –al
假如您不想每一次都手动挂载,可以在/etc/fstab中添加一项
share /mnt/share vboxsfrw,gid=100,uid=1000,auto 0 0 这样就能够自动挂载了。
4. 取消挂载
#sudo umount -f /mnt/shared
注意:共享文件夹的名称千万不要和挂载点的名称相同(这一点我并未实验,不过也无必要)。比如,上面的挂载点是/mnt/share,如果共享文件夹的名字也是 share 的话,在挂载的时候就会出现如下的错误信息
(http://www.virtualbox.org/ticket/2265):
/sbin/mount.vboxsf: mounting failedwith the error: Protocol error
原因分析可以看 Tips onrunning Sun Virtualbox 的 Shared Folder on a Linux Guest节。