由于须要在host及虚拟机间传输数据,想使用共享文件夹。可是单独设置了共享文件夹后在centos里找不到共享文件夹,看了下要安装加强包。好吧,顺便也解决下鼠标切换的问题,省的总是按右CTL切换,还有窗口也能够无缝切换,那就方便了。可是直接点了vbox里的加强工具包一直有报错。 linux
VirtualBox 大 家都习惯性把它简称为 Vbox ,比 VM 的体积小、开源、速 度快。不过在使用 VirtualBox 在虚拟机中安装 CentOS 以后,不能直接运行安装好 VirtualBox 的客户端加强功能,须要简 单地配置一下才能在 CentOS 虚拟机中正常安装 VirtualBox 客户端加强功能。下面就看一下 OwnLinux 为你们提供的 “为 CentOS 5.5 虚拟机安装 VirtualBox 客户端加强功能”图文教程。
1.启动安装在 VirtualBox 中的 CentOS 5.5 虚拟机,点击“设备” => “安装加强功能”。这个时候你就能够看到有一个 “光盘”已经挂载到 CentOS 5.5 的桌面上了。它包含了安装 VirtualBox 客户端加强功能的组件。
注意:一般状况下咱们直接运行挂载到系统中的 VirtualBox 客户端加强功能的组件就能够了,不过 CentOS 须要配置一下,若是你直接安装就会出现下面的错误。
Bulding the VirtualBox Guest Additions Kernel modules failed
Your system does not seem to be set up to build kernel modules.
Look at /var/log/vboxadd-install.log to find out what went worg. Once you have corrected it,you run
/etc/init.d/vboxadd setup
to build them
2.你须要安装编译内核的相关组件。
yum install kernel-devel gcc
3.在安装完成后,作一个链接
ln -s /usr/src/kernels/2.6.18-
164.15.1.el5-i686 /usr/src/linux
其中,加粗部分,能够直接借助于“Tab”键补齐
注意:必定要进行这此项操做,不然 VirtualBox 客户端加强功能在安装的过程当中一样会报错。其中“2.6.18-92.1.18.el5-i686”是内核的版本号,不一样的版本可能会不同,你要根据你本身的系统内核填入。
上述全部在终端中的操做,均可以在任何位置的终端中执行,为保证安全,在执行时,全部的终端都直接使用“应用系统”--“附件”--“终端”,打开终端,定位至“root”。 centos
由 于以前已经执行了virtualbox的“设备”--“安装加强功能”,在桌面上有一个名称 为:VBOXADDITIONS_3.1.6_59338的virtualbox的虚拟光驱(名称可能会根据不一样的virtualbox版本而不一样),双 击打开,发现不少文件(在执行完上述操做以后,直接双击autorun.sh文件应该能够自动执行安装操做了)。 浏览器
4.安装 VirtualBox 客户端加强功能工具。
选择和你的系统一致的 VirtualBox 客户端加强功能工具来安装,其中 VBoxLinuxAdditions-x86.run 适用因而32系统的,VBoxLinuxAdditions-amd64.run 是用于64位系统的。
执行如下命令来安装
sh ./VBoxLinuxAdditions-x86.run
虚拟机会自动安装好加强功能,重启虚拟机,鼠标不再用来回手工切换了! 安全
听说,“NAT”方式的网络链接方式,全部虚拟机的网络链接内容,均须要经过主机的网络进行,所以,可能会有主机与虚拟机同时访问网络时的网速较慢的问题。 网络
另外,virtualbox网站上明明指出了支持centos的,但是在新增虚拟机时,为什么不直接给出centos的选项呢?由于centos实际上是redhat的社区版。基本等同于redhat的免费版。因此在创建的时候选redhat就能够了。 ide
5. 设置共享文件夹
重启完成在VirtualBox的菜单点击"设备(Devices)" -> 分配数据空间(Shared Folders)菜单,添加一个共享文件夹,选项固定和临时是指该文件夹是不是持久的。尽可能使用英文名称。我这里用winshare.
6. 挂载共享文件夹
从新进入虚拟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 vboxsf winshare /mnt/share共享文件夹应该能够访问了
#cd /mnt/share
#ls -al
假如您不想每一次都手动挂载,能够在/etc/fstab中添加一项
share /mnt/share vboxsf rw,gid=100,uid=1000,auto 0 0
这样就可以自动挂载了。
本人这样作了,可是每次启动都挂接不上,所以使用如下方法,在系统启动时执行挂接脚本,成功自动挂接
#vi /etc/rc.d/rc.local 工具
在文件的最后加入上面手动挂接的命令,好比: 性能
mount -t vboxsf sharefolder /share 优化
7. 取消挂载
#sudo umount -f /mnt/shared
注意:共享文件夹的名称千万不要和挂载点的名称相 同(这一点我并未实验,不过也无必要)。好比,上面的挂载点是/mnt/share,若是共享文件夹的名字也是share的话,在挂载的时候就会出现以下 的错误信息(http://www.virtualbox.org/ticket/2265):
/sbin/mount.vboxsf: mounting failed with the error: Protocol error
缘由分析能够看Tips on running Sun Virtualbox的Shared Folder on a Linux Guest节。
在VirtualBox中安装好客户操做系统(GuestOS)以后,建议安装VirtualBox加强包(VirtualBox GuestAddition),它的做用是对GuestOS的性能和可用性进行优化(也就是提升GuestOS的性能和提高使用者的使用体验)。
GuestAddition实质上是安装在GuestOS上的一组驱动程序和应用程序。
注意,不少人把下载的加强包双击以后,看到VirtualBox的“全局设定”--“扩展”中已经显示出了加强包的名字就认为已经安装好了,其实那样仅仅 是 从加强包安装文件中解出了相关文件并以插件的形式安装到了VirtualBox中而已。真正的GuestAddition是该安装文件内的1个ISO文 件,必须在GuestOS中进行挂载并安装才能发挥做用,尤为是对于重装GuestOS的状况,“我分明装了GuestAddition,在扩展中也能看 到,怎么没用呢?”,我之前也是没搞明白这一点。
VirtualBox GuestAddition的功能:
1.鼠标集成: 不须要按下VirtualBox的HostKey(默认为右Ctrl)键,就能够从GuestOS中自动释放鼠标,从而无缝的在Host/Guest OS之间移动鼠标。GuestAddition中提供了一个GuestOS的鼠标驱动,能够与HostOS的鼠标驱动进行通信,从而实现这一点。
2.共享文件夹:能够在Host/Guest OS之间交换文件。经过在Host OS上设置一个文件夹并指定为VirtualBox的共享文件夹,就能够在GuestOS中以网络共享文件夹的形式访问,即便GuestOS没有网络也能够。
3.更好的视频支持:VirtualBox的虚拟显卡只提供了最基本的视频特性,而GuestAddition中的显卡驱动提供了超高的分辨率和2D3D 视频加速。你能够任意调节虚拟机窗口的大小且GuestOS也会自动适应,就如同在GuestOS中设置了任意的分辨率的同样。
4.无缝窗口:这个功能很强大。未安装GuestAddition时,虚拟机窗口只能是一个独立的窗口,安装GuestAddition并启用无缝窗口模 式以后,GuestOS能够跳出虚拟机窗口并嵌入Host OS的桌面,就好像是Host OS的普通应用程序同样工做。
支持的GuestOS有:<Windows>和<运行X Window的Linux、Solaris>。
无缝模式的开关快捷键:HostKey+L
注:VirtualBox默认的HostKey是右ctrl。
5.通用的Host/Guest 通信通道:这个功能主要跟程序员有关。GuestAddition中的"Guest Properties(客户机属性)"提供了一个通用的基于字符串的机制,使用此机制能够在Host/Guest之间交换数据,从而控制或者监控 GuestOS。好比在Host OS上直接控制GuestOS的程序启动、运行、关闭等。
6.时间同步:由于某些缘由,Host OS和Guest OS的系统时间可能不一样步,虽然VirtualBox自己提供了同步功能,但GuestAddition的时间同步的效率和方式大大优于VirtualBox自身。
7.共享剪贴板:也就是能够在Host/Guest OS之间复制粘贴啦。
8.自动登陆:可使GuestOS自动登陆,包括使用证书的状况下。
在CentOS 6.3下安装GuestAddition
在安装GuestAddition之间,须要让CentOS为编译生成外置核心模块作好准备。
(原文:Before installing the Guest Additions, you will have to prepare your guest system for building external kernel modules.)
不一样的Linux distribution在这步的操做很是不一样,这里只说CentOS 6.3的操做,其余操做请自行查阅VirtualBox_UserManual.pdf。
下列操做对CentOS, Red Hat Enterprise Linux and Oracle Enterprise Linux都适用:
建议以root身份运行下列命令。
1.若是你的CentOS 版本早于 6,那么须要在 /etc/grub.conf 中添加一行 divider=10,以将这个参数传递给核心,以减小 idle CPU load。
2.#yum update
把系统的全部软件升级到最新版本。
3.#yum install gcc
安装编译系统
4.#yum install kernel-devel
安装外置核心模块。
5.#reboot
重启以使全部的升级或安装生效。
至此,全部的准备工做就完成了,下面开始安装GuestAddition。
6.在虚拟机窗口的菜单条下选择 "Device"--“Mount CD/DVD-ROM” ,选择 "CD/DVD-ROM image" ,会弹出 Virtual Media Manager 窗口,而后在资源浏览器中找到 VBoxGuestAdditions.iso 文件(这里假设 Host OS 是 Windows),VBoxGuestAdditions.iso 一般位于 VirtualBox 的安装目录下。
注意:VirtualBox虚拟机窗口的菜单不少时候是隐藏的,显示的快捷键是HostKey+C。我找这个急出一身汗。
至此,就至关于在 CentOS 虚拟机中插入了 GuestAddition 的光盘。接下来须要挂载该光盘。
7.#mount -t auto /dev/cdrom1 /mnt
挂载光盘。
注意:VirtualBox默认有2个光驱,分别是 /dev/cdrom 和 /dev/cdrom1 。
若是你挂载命令执行后卡了好久,最后出现:you must specify the filesystem type,说明你须要换个设备名。
我就是在这一步卡了好久,尿都憋出来了,后来发现 VirtualBox 有2个光驱,nnd。
8.#cd /mnt
挂载成功后进入挂载目录。
9.#sh ./VBoxLinuxAdditions.run
安装 GuestAddition。安装过程比较久,慢慢等。
安装成功的画面以下:
好了,整个安装完成。最后须要重启以使 GuestAddition 生效。
#reboot