zoukankan      html  css  js  c++  java
  • 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-398.el5-i686 /usr/src/linux
    其中,加粗部分,可以直接借助于“Tab”键补齐
    注意:一定要进行这此项操作,否则 VirtualBox 客户端增强功能在安装的过程中同样会报错。其中“2.6.18-398.el5-i686”是内核的版本号,不同的版本可能会不一样,你要根据你自己的系统内核填入。
    
    上述所有在终端中的操作,都可以在任何位置的终端中执行,为保证安全,在执行时,所有的终端都直接使用“应用系统”--“附件”--“终端”,打开终端,定位至“root”。
    
    由于之前已经执行了virtualbox的“设备”--“安装增强功能”,在桌面上有一个名称 为:VBOXADDITIONS_4.3.12_93733的virtualbox的虚拟光驱(名称可能会根据不同的virtualbox版本而不同),双 击打开,发现很多文件(在执行完上述操作之后,直接双击autorun.sh文件应该可以自动执行安装操作了)。
    
    
    4.安装 VirtualBox 客户端增强功能工具。
    sh ./VBoxLinuxAdditions.run
    虚拟机会自动安装好增强功能,重启虚拟机,鼠标再也不用来回手工切换了!
    
    5. 设置共享文件夹
    重启完成在VirtualBox的菜单点击"设备(Devices)" -> 分配数据空间(Shared Folders)菜单,添加一个共享文件夹,选项固定和临时是指该文件夹是否是持久的。尽量使用英文名称。我这里用winshare.
    
    6. 挂载共享文件夹
    重新进入虚拟CentOs5.5,在命令行终端下输入:
    #sudo mkdir /root/Desktop/winshare
    #sudo mount -t vboxsf winshare /root/Desktop/winshare
    
    如果提示 /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节。




    运行.run文件会出现modprobe vboxguest failed错误。这是因为内核的版本不一致。
    运行rpm -qa | grep kernel | sort 检查内核版本
    如果kernel 和kernel-devel版本不一直。运行yum -y upgrade kernel kernel-devel
    重启再次运行.run文件应该就可以了

    修改/usr/src/kernels/2.6.23.1-42.fc8-i686/include/linux/utsrelease.h文件中的宏定义
    #define UTS_RELEASE "2.6.23.1"

    #define UTS_RELEASE "2.6.23.1-42.fc8"
    然后重新编译xxx.ko模块,这时候,它与内核的版本信息应该就是一致的了!试验下来确实如此,xxx.ko已经可以正常工作了!

    
    

    VBoxLinuxAdditions.run
    $MODPROBE vboxguest >/dev/null 2>&1 || {
    fail "modprobe vboxguest failed"
    }

    
    

    modprobe /lib/modules/2.6.18-398.el5xen/misc/vboxsf.ko
    not found


    Invalid module format错误
    5. 执行sudo /etc/init.d/vboxdrv setup,可以看到编译顺利通过

    4. 处理Xen环境问题
    这次仔细看了一下报错,才发现最后一句提示是系统运行在Xen环境中,找了一下Virtualbox启动脚本,发现就是一个很简单的判断:
    begin_msg "Starting VirtualBox kernel modules"
    if [ -d /proc/xen ]; then
    failure "Running VirtualBox in a Xen environment is not supported"
    fi
    用xm list看了一下果然是跑在这个环境里面了,virtualbox不能在xen里面安装。显然我自己没有在服务器上安装过Xen虚拟机,这其实就是内核启动的时候选择了Xen内核模式而已。用uname -ar就可以看到目前的内核。
    [root@localhost ~]# uname -ar
    Linux localhost.localdomain 2.6.18-238.el5xen #1 SMP Thu Jan 13 16:41:45 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

    这个很容易搞定,修改启动选用的内核:
    [root@localhost ~]# vim /boot/grub/grub.conf
    default=0
    timeout=5
    splashimage=(hd0,0)/boot/grub/splash.xpm.gz
    hiddenmenu
    title CentOS (2.6.18-238.el5xen)
    root (hd0,0)
    kernel /boot/xen.gz-2.6.18-238.el5
    module /boot/vmlinuz-2.6.18-238.el5xen ro root=LABEL=/ rhgb quiet
    module /boot/initrd-2.6.18-238.el5xen.img
    title CentOS-base (2.6.18-238.el5)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.18-238.el5 ro root=LABEL=/ rhgb quiet
    initrd /boot/initrd-2.6.18-238.el5.img
    每个内核从0开始排序,可以看到这里把default改成1就可以选用普通内核。然后reboot重启。

    
    
    
     
  • 相关阅读:
    thinkphp url生成
    thinkphp url大小写
    thinkphp 伪静态
    thinkphp action参数绑定
    thinkphp 前置和后置操作
    thinkphp 控制器定义
    thingkphp 路由实例
    thinkphp 闭包支持
    thinkphp 静态路由
    thinkphp 正则路由
  • 原文地址:https://www.cnblogs.com/timssd/p/4082307.html
Copyright © 2011-2022 走看看