VirtualBox 3.1.6 发布


这是一个维护版本,主要更新点如下:
* 修正内核版本为2.6.31及更高版本Linux主机的时间同步问题。(我还真碰到过虚拟机时间和主机时间不同步的问题,时间越走越慢。)
* 改进客户机SMP稳定性
* 允许在VM运行的时候切换网络接口
* vboxwebsrv多线程支持
* 修正内核版本为2.6.33或更高版本的Fedora12客户机启动X server时出现的挂起问题。
* 支持Mandriva speedboot runlevel。
* 支持Ubuntu 10.04

更多信息请参考官方网站:
http://forums.virtualbox.org/viewtopic.php?f=1&t=29296

Advertisements

解决Redhat Enterprise Linux 5下VBOXADDITIONS插件kernel modules编译失败的问题


rhel5虽然已经在虚拟机里安装了一段时间了。但是一直没有使用。今天因为Spark XML解析的问题,开了一下虚拟机,发现自己的客户机增强工具包还没有安装好,所以就动手安装了一下,首先是切换到root用户,然后执行./autorun.sh罗,结果提示gksu没有,在红帽的系统里,当然没有这个命令了,况且我本来就是用root执行这个脚本,也没有比较再去获得root权限了,删除之,再次执行,出现了下面的错误信息。提示不能编译内核模块。

[root@rhel VBOXADDITIONS_3.1.4_57640]# ./autorun.sh
Verifying archive integrity… All good.
Uncompressing VirtualBox 3.1.4 Guest Additions for Linux……..
VirtualBox Guest Additions installer
Removing installed version of VirtualBox Guest Additions…
Building the VirtualBox Guest Additions kernel modules     [失败]
(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 wrong
)

看log文件之前先看看我的系统版本信息

[leo@rhel ~]$ uname -a
Linux rhel 2.6.18-128.el5 #1 SMP Wed Jan 21 08:45:05 EST 2009 x86_64 x86_64 x86_64 GNU/Linux

错误日志。提示不能找到内核Source,让指定KERN_DIR。在/usr/src下找了一下,确实没有。准备安装source文件。

[root@rhel VBOXADDITIONS_3.1.4_57640]# cat /var/log/vboxadd-install.log
Makefile:23: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.。 停止。

安装kernel-devel和kernel-headers两个软件包,配置编译环境。

[root@rhel VBOXADDITIONS_3.1.4_57640]# yum install kernel-devel kernel-headers

安装成功后再次编译,编译已经OK了啊。

[root@rhel VBOXADDITIONS_3.1.4_57640]# ./autorun.sh
Verifying archive integrity… All good.
Uncompressing VirtualBox 3.1.4 Guest Additions for Linux……..
VirtualBox Guest Additions installer
Removing installed version of VirtualBox Guest Additions…
Building the VirtualBox Guest Additions kernel modules

Your guest system does not seem to have sufficient OpenGL support to enable
accelerated 3D effects (this requires Linux 2.6.27 or later in the guest
system).  This Guest Additions feature will be disabled.

Building the main Guest Additions module                   [确定]
Building the shared folder support module                  [确定]
Doing non-kernel setup of the Guest Additions              [确定]
Starting the VirtualBox Guest Additions                    [确定]
Installing the Window System drivers
Installing X.Org 7.1 modules                               [确定]

You appear to be running an older version of the X Window system in your
guest.  Seamless mode and dynamic resizing will not work!

Setting up the Window System to use the Guest Additions    [确定]
You may need to restart the hal service and the Window System (or just restart
the guest system) to enable the Guest Additions.

Installing graphics libraries and desktop services componen[确定]

安装完成之后,鼠标已经可以正常在主机和虚拟机之间自由滑动了,另外,系统剪贴板也已经正常共享了。写出来,方便大家吧。

再次感叹一下,服务器的启动和Ubuntu桌面版的启动速度比起来,差别还是太大了。

怎么在VirtualBox中安装DELL OEM XP


因为需要跨平台测试Spark,使用VMWare运行了REHL5,Ubuntu Server, XP,最近升级了Host,从Ubuntu 9.04到Ubuntu 9.10,发现VMWare 6.3.5不能安装了,KVM的网络桥接模式又不能支持无线网卡,于是想到了在论坛里经常被大家提起的VirtualBox,于是就有了下文。

之前使用VMWare通过修改二进制文件可以达到修改虚拟机的BIOS信息的目的。

在VirtualBox中,修改BIOS信息的方法更加简单,阅读VirtualBox手册的9.14节,VirtualBox提供了一套命令用于修改BIOS信息。

9.14 Configuring the BIOS DMI information
The DMI data VirtualBox provides to guests can be changed for a specific VM. Use the
following commands to configure the DMI BIOS information:
VBoxManage setextradata "My VM"
       "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor"
       "Host BIOS Vendor"
VBoxManage setextradata "My VM"
       "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVersion"
       "Host BIOS Version"
VBoxManage setextradata "My VM"
       "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseDate"
       "Host BIOS Release Date"
VBoxManage setextradata "My VM"
       "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSReleaseMajor"

下面详细说说修改BIOS的步骤,首先创建一个虚拟机,我创建 的虚拟机名称为xp
然后获取本机真实的BIOS信息,这一步可以通过sudo dmidecode -t0命令来执行,设置虚拟机BIOS信息的命令需要从t0,t1,t2三个type中获取。
sudo dmidecode -t0
[sudo] password for leo:
# dmidecode 2.9
SMBIOS 2.4 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
    Vendor: Dell Inc.
    Version: A06
    Release Date: 04/21/2008
    Address: 0xF0000
    Runtime Size: 64 kB
    ROM Size: 1024 kB
    Characteristics:
        ISA is supported
        PCI is supported
        PC Card (PCMCIA) is supported
        PNP is supported
        BIOS is upgradeable
        BIOS shadowing is allowed
        Boot from CD is supported
        Selectable boot is supported
        3.5"/720 KB floppy services are supported (int 13h)
        Print screen service is supported (int 5h)
        8042 keyboard services are supported (int 9h)
        Serial services are supported (int 14h)
        Printer services are supported (int 17h)
        CGA/mono video services are supported (int 10h)
        ACPI is supported
        USB legacy is supported
        AGP is supported
        Smart battery is supported
        BIOS boot specification is supported
        Function key-initiated network boot is supported
        Targeted content distribution is supported
    BIOS Revision: 0.6
    Firmware Revision: 0.6

获取到真实的信息之后,把真实的信息对应填入命令处,然后执行命令就可以了。命令的My VM处替换成你XP虚拟主机的名称。
注意:执行上面的命令的时候不用加上sudo,否则会提示找不到指定的虚拟机。

关于VirtualBOX,VirtualBox是Sun公司的开源虚拟机,支持它同样支持桥接无线网卡,这也是我没有选择KVM的原因。
VirtualBox主页:http://www.virtualbox.org/

效果图

写在KVM (Kernel-based Virtual Machine) 安装成功后


为什么选择KVM?

1. 受制于VMWare Workstation版本的8GB磁盘文件限制
2. VMWare安装文件动则几百MB,更新麻烦
3. 被KVM虚拟机的性能吸引,可以看这个测试报告
Phoronix – Ubuntu 8.04 KVM Benchmarks
Phoronix – Intel Core i7 Virtualization Performance
4. 命令行配置——灵活

我的系统环境

软件环境:
主机操作系统:Linux leo-laptop 2.6.28-15-generic #48-Ubuntu SMP Wed Jul 29 08:53:35 UTC 2009 x86_64 GNU/Linux
客户机操作系统:Enterprise Linux Release 5 Update 3 Media Pack for x86_64(64 bit)
kvmqemu版本
QEMU PC emulator version 0.9.1
kvm-84

硬件环境
T7300,4GB RAM, Ext4

安装步骤

1.检查本机的CPU是否支持硬件虚拟化
如果能够找到包含vmx,svm字样,则CPU支持虚拟化
Intel CPU
grep vmx /proc/cpuinfo
AMD CPU
grep svm /proc/cpuinfo
如果CPU支持,还需要在BIOS打开虚拟化支持。通常,主板默认关闭这个选项

2. 安装软件
sudo apt-get install kvm qemu bridge-utils uml-utilities

3. 装载模块
sudo modprobe kvm
装载Intel模块
sudo modprobe kvm-intel
装载AMD模块
sudo modprobe kvm-amd

4. 添加你当前的帐户到kvm
sudo addgroup ‘leo’ kvm

5. 创建磁盘镜像文件
kvm-img create -f qcow2 vm.img 10G

-f表示以什么格式创建磁盘镜像文件,推荐选择qcow2格式,在很多网上教程中都选择的是qcow格式。我在使用qcow格式的镜像文件安装REHL5U3的时候,写这个文件出奇的慢,换成qcow2就可以了。其他的格式还有raw,这种格式要求文件系统能够支持预分配空间,例如ext2,ext3,ext4,NTFS等等,所谓的预分配技术就是在创建文件的时候就把文件的空间全部分配好,和qcow2按需分配不同,这样能够提高虚拟机的磁盘性能。

6. 安装系统
使用ISO文件的时候
kvm -hda vm.img -cdrom cdrom.iso -m 256M -net nic -net user

直接从光驱安装
kvm -hda r5u3.img -cdrom /dev/dvd -m 256M -net nic -net user

-net nic -net user配置虚拟系统使用NAT方式访问网络,在这种方式下,虚拟系统和主机系统不在同一个网段内,互相访问及其不方便,后面会提供桥接网络的配置方法

iso文件创建的时侯很简单,看下面的命令
dd if=/dev/dvd of=rehl.iso

7. 启动系统
这块我们创建一个脚本,以后每次启动虚拟机的时候就不用再键入长长的命令了。

StartRHEL5U3.sh
#!/bin/bash
kvm -M pc -hda r5u3.img
-m 1500M
-smp 2
-net nic,macaddr=DE:AD:BE:EF:27:20
-net user
-usb
-localtime
-usbdevice tablet
-soundhw all

-hda 指明磁盘镜像的挂载方式
-m 1024 给虚拟机分配1G内存
-smp 2 指明使用的CPU数量
-localtime 使用主机系统时间设置虚拟系统时间
-usb 使USB设备可用
-usbdevice tablet 使坐标设备可用,例如触摸版,实验表明我的USB鼠标在没有增加这个选项的时候,出现跳动的现象,添加了之后就没有问题
-soundhw all 使声音设备可用,如果你知道设备类型,也可以指定,具体的可以参考man
其他,关于-vga选项,kvm默认使用cirrus显卡从Windows 95开始的所有版本都能正常使用这个卡,但是在这种模式下最高分辨率也只有800×600,如果要想有更高的分辨率,需要使用其他选项

8. 设置系统启动时自动加载模块
如果上面的都正常了之后,在/etc/modules中添加下面两行,使系统启动的时候自动读入kvm,kvm-intel模块
kvm
kvm-intel
或者
kvm
kvm-amd Continue reading “写在KVM (Kernel-based Virtual Machine) 安装成功后”