Chinaunix首页 | 论坛 | 博客
  • 博客访问: 186053
  • 博文数量: 21
  • 博客积分: 1395
  • 博客等级: 中尉
  • 技术积分: 321
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-07 13:57
文章分类

全部博文(21)

文章存档

2012年(1)

2011年(4)

2010年(12)

2009年(2)

2008年(2)

我的朋友

分类: LINUX

2010-12-27 14:56:11

    今天试了一下从虚拟机启动物理硬盘上的Ubuntu。物理硬盘上安装了Ubuntu和Windows XP。Vmware 7.0安装在XP里。从虚拟机里引导了物理硬盘上的Ubuntu,可以启动,但不能进入X桌面(Gnome)。原因很简单,因为硬件不同:物理机的显卡是Nvidia的,虚拟机的显卡是vmware自带的。于是又安装了Vmware Tools,可以驱动了,虚拟机能进行X桌面了。但物理机不能进入X桌面了。于是修改/etc/X11/xorg.conf。增加一个Section,内容变成:

Section "Device"
        Identifier "Default Device"
        Driver "nvidia"
        Option "NoLogo" "True"
EndSection

Section "Device"
       Identifier "Vmware Device"
       Driver "vmware"
       Option "NoLogo" "True"
EndSection




    我在网上查了一下,可以写两个Device,表示两个显卡呀。但问题就在这里:只有前面一个Device起作用。例如,nvidia在前,则物理机能进入 X,虚拟机不能进入X。如果把vmware那个Section入在前面,则虚拟机可以进入X,物理机不能进入X。

   后来想到一个方案:系统启动时检测显卡类型,作出判断。把两个Device Section写在两个不同的xorg.conf中(xorg.conf.nvidia和xorg.conf.vmware)中。写个开机脚本,链接到 /etc/rc2.d/下面。这个脚本通过 lspci判断显卡类型,选择合适的xorg.conf文件。脚本如下:


#!/bin/sh

#
# Set the appropriate xorg.conf and GL links for the speed/stamina # video card switch
#


VIDEO=`/usr/bin/lspci |grep -c nVidia`

if [ "$VIDEO" = 1 ]; then
  cp -f /etc/X11/xorg.conf.nvidia /etc/X11/xorg.conf
else
  cp -f /etc/X11/xorg.conf.vmware /etc/X11/xorg.conf
fi


阅读(2361) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-12-30 14:08:14

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com