日历

« 2008-07-09  
  12345
6789101112
13141516171819
20212223242526
2728293031  

我的栏目

RSS订阅

好好学习,天天开源!

在Fedora 8安装VirtualBox虚拟机

2008-03-28 20:36:49 / 个人分类:Linux

    关键词:Fedora8 kernel VirtualBox
|iH9q_C$DA7L"g0    我喜欢Linux,坚持使用Linux,并能用Linux做绝大部分的事,但是有时仍然需要使用windows(这样的需求正逐步减少),这是因为有些软件必须运行在windows下面,这时我就不得不忍受“漫长”的系统切换时间,而最让我不能忍受的事是我必须停下手头的工作,其原因仅仅是因为要使用windows下面的软件!这样的感觉太不爽了,为了彻底改变这种情况,于是我想到了虚拟机。现在虚拟机做的最好的是vmware,但那是商业版,而Fedora自带的Xen对硬件要求较高,不过我们还有一个开源的VirtualBox,感谢VirtualBox的开发团队,让我们还有选择。LUPA开源社区@ n4[~:`!?D5I+`
    VirtualBox网站提供了Fedora8的rpm包,所以VirtualBox的安装非常简单,但是为了让VirtualBox工作起来,还必须做一些配置,主要是不同的内核架构方面的配置。LUPA开源社区/iY^^ J4Y5n
    下面是我的所有操作步骤,在Fedora8+gnome下面通过,希望对那些和我一样在linux工作,但有时又要切换到windows的或者想安装VirtualBox的朋友有帮助。LUPA开源社区'{[q rK1[{y&E
    那么,我们该如何开始呢?当然首先从安装VirtualBox开始了。
/c'| az6aw/Ftd0    从VirtualBox的官方网站www.virtualbox.org下载Fedora8的rpm安装包,双击安装。当然你完全可以从源代码包安装,如果你愿意的话。LUPA开源社区j)i4|hQ!h6@ u$hM
    VirtualBox安装好后,你可以用两种方法启动它:LUPA开源社区5EcN/US
    1、在shell下面输入:VirtualBox(注意大小写)
:{3q]C*|0    2、在“应用程序”菜单选择“系统工具”->“Innotek VirtualBox“LUPA开源社区.D7xn,c1y
    无论你用那种方式,都能启动VirtualBox,但是你还不能运行虚拟机,原因很简单,Fedora8默认安装的是i586架构的kernel,而VirtualBox需要i686的kernel,这个可以在使用shell方法运行VirtualBox时得到提示信息:LUPA开源社区 FZ3C,E@2n)Y f
    WARNING: The vboxdrv kernel module is not loaded. Either there is no moduleLUPA开源社区hcn(w+^A'[ ]
         available for the current kernel (2.6.23.1-42.fc8) or it failed to
/P M:m5Kx*o(S0         load. Please recompile the kernel module and install it by
V.Cr3? G@"x[ r/S0LUPA开源社区5L$z?Dj hO
           sudo /etc/init.d/vboxdrv setupLUPA开源社区$wC J1rm\^)i

u,s&b8T,H0         You will not be able to start VMs until this problem is fixed.LUPA开源社区F8cA$B7uT h
    这段话的大致意思是:vboxdrv内核模块没有加载,可能的原因是没有2.6.23.1-42.fc8内核的模块或者模块加载错误。请使用下面的命令重新编译安装这个模块:
i$n%q O om%p v0           sudo /etc/init.d/vboxdrv setupLUPA开源社区J'M v#bx0L]O
    在你修复这个问题之前你不能启动虚拟机。LUPA开源社区0ZoY5e y/\
    有一个概念必须明确,就像我前面说的一样,你安装VirtualBox后能够正常启动VirtualBox,但是你无法运行虚拟机,即你不能新建一个虚拟机,然后安装windows系统,因为VirtualBox只是一个虚拟机管理软件,还不是具体的可以运行的虚拟机。
;B}9\bd#pDf K0    那么,该如何解决这个问题,你可能会想到,既然它叫你重新编译安装vboxdrv模块,那就编译吧,应该就可以解决问题了,我也是这么做的:
9y-W(ib8e&bOmI2L0    输入命令:sudo /etc/init.d/vboxdrv setup,系统提示你没有kernel的编译包,于是又用yum安装kernel的编译包,再次输入命令,编译安装成功了,这下应该可以了吧,再次输入:VirtualBox,可是仍然没有解决问题,这次出现的提示信息和第一次的不同,因为我的系统已经正确运行VirtualBox,当时又没有将第二次输入VirtualBox命令的信息保存下来,所以这里我不能将这个信息贴出来,只记得在google上用这个错误信息搜索了一番,然后找到了下面这个贴子,正是这个贴子解决了我所有的问题:LUPA开源社区_ ^+emp q;y
    http://forums.fedoraforum.org/showthread.php?t=139751
n*n4n+A ]G6^)i:^ Z0    看回上面的错误信息,可以看到还有第二个错误,那就是加载vboxdrv加载错误,其实这个才是真正的错误:即kernel的架构与VirtualBox的不相符,Fedora8默认安装的是i586架构,而Virtualbox要求的是i686架构,这个信息可以用下面的命令获取:
~8jC~G$X` g0
    uname -aLUPA开源社区8LkPD%{
        Linux free81 2.6.23.1-42.fc8 #1 SMP Tue Oct 30 13:05:10 EDT 2007 i686 i686 i386 GNU/LinuxLUPA开源社区iU:ho.bnz
    这个命令并不能得出正确的信息。
[Bq{m'k(J0u ](uEi0    rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n"|grep kernel|sort
|*Ib.`*]0        kernel-2.6.23.1-42.fc8.i586
J$N!M&Nj6~.M0        kernel-2.6.23.15-137.fc8.i686LUPA开源社区M:r cv/j9Ro
        kernel-devel-2.6.23.15-137.fc8.i686LUPA开源社区O WtI W%Cz
        kernel-headers-2.6.23.15-137.fc8.i386
{yGV:tK+c8?0        kernel-xen-2.6.21-2950.fc8.i686
Rt~6zH2j"G ln0    从这里我们可以看出我们现在的内核是第一个i586的。LUPA开源社区f-kR%N4?1TFF
    知道了问题所在,我们就可以解决了:LUPA开源社区O;sQ'{B z6P
    首先,你的系统应该安装“yum-utils“组件,这个在我的系统中是默认安装的,如果你的系统没有安装,应该先安装它: su -c "yum install yum-utils"。LUPA开源社区;Bv!Te&M9\}@
    然后,更新内核: yum update kernelLUPA开源社区QSaG:Q)N#R}z
    下载i686架构的kernel: yumdownloader kernel.i686 LUPA开源社区[?J.|"pv4g
    安装i686架构的kernel,这有两种情况:如果i686架构的kernel包比系统当前安装的kernel大(在更新当前内核时可以看到当前内核的大小,这也是首先更新内核的原因): su -c "rpm -ivh kernel-2*.i686.rpm"
z/RMg e @V1I*}a0    否则: su -c "rpm -ivh --replacefiles --replacepkgs kernel-2*.i686.rpm",覆盖当前内核。
xAZx!@Y\[5o0    最后,安装了新的i686架构的内核后,重新编译安装vboxdrv内核模块:sudo /etc/init.d/vboxdrv setupLUPA开源社区 k:e0q-A DXl
    至此,VirtualBox安装成功,可以新建虚拟机,并安装windows系统了!LUPA开源社区d?D`&L#u6b!l
    补充:关于用户权限问题,将用户添加到组:vboxusers,则用户将具有读写/dev/vboxdrv的权限,可以解决虚拟机系统启动的-1909错误,当然,修改/drv/vboxdrv也是一个方法。多谢snail指正!
K}T$u,@0

TAG: Linux

红尘弥漫 删除 snail 发布于2008-04-03 17:42:47
给你加一句:
因权限问题引起的虚拟机系统启动的 -1909错误.
执行命令
chmod 666 /dev/vboxdrv
处理
Imcomplete 删除 zhull1052 发布于2008-04-02 11:35:22
有同感,两个系统转换太麻烦了,好文章,有帮助,谢了
我来说两句

-5 -3 -1 - +1 +3 +5

Open Toolbar