Chinaunix首页 | 论坛 | 博客
  • 博客访问: 114490
  • 博文数量: 83
  • 博客积分: 2531
  • 博客等级: 少校
  • 技术积分: 865
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-31 20:40
文章分类

全部博文(83)

文章存档

2011年(7)

2010年(76)

我的朋友

分类: LINUX

2010-05-19 16:17:12

1、首先检查虚拟机屏幕分辨率显示分辨率的设置情况
    一般情况下,在虚拟机中装完Fedora之后,系统默认的显示分辨率为800*600,但是在系统->管理->显示的位置修改显示分辨率时,reboot之后不起作用,根本原因是没有重新设置屏幕分辨率。在系统->首选项->硬件->屏幕分辨率的位置修改合适的屏幕分辨率(这个过程相当于windows系统中调整分辨率的过程)。reboot一下,看到屏幕分辨率和显示分辨率是一致的(屏幕分辨率决定了显示分辨率可显示的最大范围)。
2、查看你的显示分辨率模式下对应的VGA模式值为多少,然后在系统启动文件中给kernel传递VGA参数
根据启动使用的工具不同有lilo和grub
lilo下设置方法:修改/etc/lilo.conf 在kernel 行的最后加上VGA参数
如显示模式为1024x768x24bpp时,加上VGA=0x318,保存文件,reboot即可
grub下设置方法:修改/boot/grub/grub.conf 在kernel行的最后加上同样的参数,或者修改
/boot/grub/menu.lst,其实这两个文件都是一样的,因为grub.conf是menu.lst的链接,修改需要root权限。
3、如果是之前不知道自己的显示分辨率是多少,然后就在系统启动文件中添加了VGA参数,那么在你修改了屏幕分辨率之后,reboot时,会有一个提示说,显示模式不正确,让你按enter键进入选择合适的模式,会弹出很多相应的模式代号以及对应的分辨率模式:16进制VGA值 像素列数*像素行数*颜色位深
340 800*600*32 VESA
364 1280*720*32 VESA
36A 1280*800*32 VESA
379 1280*768*32 VESA
你选择一个合适的之后,进入系统查看启动文件中是否有相应的VGA参数,如果没有,则要手动改正为刚刚选择的那个值,然后再reboot,这时,帧缓存才算开启,可以到/dev目录下查看是否有fb fb0这两个文件
 
3、下面是一些常用参数
#   Normal   VGA   console 
  #   vga   =   normal 
  #   VESA   framebuffer   console   @   1024x768x64k 
  #   vga=791 
  #   VESA   framebuffer   console   @   1024x768x32k 
  #   vga=790 
  #   VESA   framebuffer   console   @   1024x768x256 
  #   vga=773 
  #   VESA   framebuffer   console   @   800x600x64k 
  #   vga=788 
  #   VESA   framebuffer   console   @   800x600x32k 
  #   vga=787 
  #   VESA   framebuffer   console   @   800x600x256 
  #   vga=771 
  #   VESA   framebuffer   console   @   640x480x64k 
  #   vga=785 
  #   VESA   framebuffer   console   @   640x480x32k 
  #   vga=784 
  #   VESA   framebuffer   console   @   640x480x256 
  #   vga=769 
色彩
640x400
640x480
800x600
1024x768
1280x1024
1600x1200
4bits
?
?
0x302
?
?
?
8bits
0x300
0x301
0x303
0x305
0x307
0x31C
15bits
?
0x310
0x313
0x316
0x319
0x31D
16bits
?
0x311
0x314
0x317
0x31A
0x31E
24bits
?
0x312
0x315
0x318
0x31B
0x31F
32bits
?
?
?
?
?
?

4、以下文章摘自ChinaUnix

如果内核不支持framebuffer驱动,要编译内核以便支持framebuffer驱动

用framebuffer驱动,设置console 模式下的分辨率

小菜使用的RHEL5在console模式下,分辨率只有800*600,字体看起来很大,看得不清楚,一直想修改console的分辨率,网上绝大多数教程是说修改/etc/X11/xorg.conf文件,但是修改此文件影响的是X-window的分辨率,而非console模式。会对朋友们产生一定的误导,在此将我的解决方法记录如下,仅供需要的朋友参考

在这里用到了内核里的framebuffer驱动来修改默认分辨率。

如果你的内核是支持 framebuffer 驱动的,可以跳过Step1,直接看Step2

Step1 编译内核,添加framebuffer驱动。

具体编译内核的步骤可以参考小菜先前在版里发的帖子或者查看

http://blog.chinaunix.net/u1/55764/showart_1196059.html

在此,重点说一下编译时要选中的项,以加入framebuffer驱动支持
VGA text console
Video mode selection support
Support for frame buffer devices (EXPERIMENTAL)
VESA VGA graphics console
Advanced low level driver options
8 bpp packed pixels support
16 bpp packed pixels support
24 bpp packed pixels support
32 bpp packed pixels support
VGA characters/attributes support
Select compiled-in fonts
VGA 8x8 font
VGA 8x16 font
我们还要知道自己所用的显示卡,也有 framebuffer的驱动,所以也要一并选中,比如
nVidia Framebuffer Support  
ATI Radeon display support
编译完成后,你的内核就支持framebuffer驱动了

Step2
选择你需要的分辨率
# Normal VGA console
# vga = normal
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
在此我选了第一个1024x768 64k色,并记住对应的vga的值为791

Step3
修改grub,在启动时向内核传递分辨率参数
以我的电脑为例,默认的grub.conf文件为
default=0
timeout=5
splashimage=(hd0,7)/boot/grub/splash.xpm.gz
#hiddenmenu

title Red Hat Linux5 (2.6.26.5)
        root (hd0,2)
        kernel /boot/vmlinuz-2.6.26.5 ro root=LABEL=/ rhgb quiet   
        initrd /boot/initrd-2.6.26.5.img

title WinXp
        rootnoverify (hd0,0)
        chainloader +1
然后添加内核参数vga=791 到grub.conf文件,告知内核以1024x768,64k色开启console,修改后如下
default=0
timeout=5
splashimage=(hd0,7)/boot/grub/splash.xpm.gz
#hiddenmenu

title Red Hat Linux5 (2.6.26.5)
        root (hd0,2)
        kernel /boot/vmlinuz-2.6.26.5 vga=791 ro root=LABEL=/ rhgb quiet   
        initrd /boot/initrd-2.6.26.5.img

title WinXp
        rootnoverify (hd0,0)
        chainloader +1
保存后重启系统 ,选择进入linux,则系统会以1024x768的分辨率进入console

PS:小菜的电脑是宽屏1280x800,以1024x768进入consle后,右边会有一个竖条区域不会显示任何内容,即字体不会因拉伸而变形。

5、 
下面这个链接里是关于VESA的一些相关资料
 
6、(摘自CSND,也是介绍Fedora8 配置framebuffer的)对于自编译内核的,需要注意以下几点。 
  
  1.在编内核时,要选中如下的选项;以加入   framebuffer   驱动的支持; 
  [*]   VGA   text   console[*]   Video   mode   selection   support[*]   Support   for   frame   buffer   devices   (EXPERIMENTAL)[*]   VESA   VGA   graphics   console[*]   Advanced   low   level   driver   options 
  <*>   8   bpp   packed   pixels   support 
  <*>   16   bpp   packed   pixels   support 
  <*>   24   bpp   packed   pixels   support 
  <*>   32   bpp   packed   pixels   support 
  <*>   VGA   characters/attributes   support[*]   Select   compiled-in   fonts[*]   VGA   8x8   font[*]   VGA   8x16   font 
  
  
  
  2,我们还要知道自己所用的显示卡,也有   framebuffer的驱动,所以也要一并选中,比如 
  <*>   nVidia   Framebuffer   Support 
  <*>   ATI   Radeon   display   support 
  
  在查看内核选项是,用   shift键+?号的组合键,就能看到详细情况;
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xufeicn/archive/2009/04/11/4062764.aspx
阅读(1719) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~