修改/boot/grub.conf (Debian或Ubuntu下是menu.lst)文件的kernel /vmlinuz-2.x.11-EL ro root=LABEL=/ 行后面添加vga=791,可以改变命令行下的屏幕分辨率。vga后面的数字与屏幕分辨率及色深的对应关系如下:


将上述16进制转换为十进制之后可以得到如下对应关系(据说用十进制有时候会不生效):


对于宽屏显示器上述的数字并不使用,想要正确调整宽屏显示器在console下的分辨率需要首先得获得显卡在console下所支持分辨率对应的vga值,该值可以通过命令hwinfo --framebuffer来获取。据说是SuSE系统的命令,centos默认没有这个命令(暂时还不知道替代命令),可以从网上下载安装。如果不想安装,参考后面的修改方法。
需要注意的是该命令的使用必须获得root权限,通常hwinfo并非默认安装Debian或Ubuntu用户可以通过apt-get install hwinfo来安装,
该命令的输出如下:

[root@01:45:43 ~]$ hwinfo --framebuffer
……
……
  Memory Range: 0xe0000000-0xe076ffff (rw)
  Mode 0x0360: 768x480 (+768), 8 bits
  Mode 0x0361: 768x480 (+1536), 16 bits
  Mode 0x0362: 768x480 (+3072), 24 bits
  Mode 0x0363: 960x600 (+960), 8 bits
  Mode 0x0364: 960x600 (+1920), 16 bits
  Mode 0x0365: 960x600 (+3840), 24 bits
  Mode 0x0366: 1280x800 (+1280), 8 bits
  Mode 0x0367: 1280x800 (+2560), 16 bits
  Mode 0x0368: 1280x800 (+5120), 24 bits
  Mode 0x0369: 1440x900 (+1472), 8 bits
  Mode 0x036a: 1440x900 (+2880), 16 bits
  Mode 0x036b: 1440x900 (+5760), 24 bits
  Mode 0x036c: 1680x1050 (+1728), 8 bits
  Mode 0x036d: 1680x1050 (+3392), 16 bits
  Mode 0x036e: 1680x1050 (+6720), 24 bits
  Mode 0x0307: 1280x1024 (+1280), 8 bits
  Mode 0x031a: 1280x1024 (+2560), 16 bits
  Mode 0x031b: 1280x1024 (+5120), 24 bits
  Mode 0x0305: 1024x768 (+1024), 8 bits
  Mode 0x0317: 1024x768 (+2048), 16 bits
  Mode 0x0318: 1024x768 (+4096), 24 bits
  Mode 0x0312: 640x480 (+2560), 24 bits
  Mode 0x0314: 800x600 (+1600), 16 bits
  Mode 0x0315: 800x600 (+3200), 24 bits
其中Mode后的十六进制数字就是所需的vga值,紧随其后的是分辨率和色深。将所对应的十六进制值填入vga后即可,不要将其换算成十进制有时候可能会不起作用。


另一种查询分辨率的方式,修改/boot/grub.conf时,在vga=后面输入ask,如下图:

保存后,重启系统。在启动过程中,它会让你选择分辨率(按提示敲回车显示可支持的分辨率),如下图:

Mode列第一位字符是对应的分辨率的快捷选项(仅前12行分辨率有此选项),Mode的后3位字符就是各个分辨率对应的十六进制代码了。输入分辨率对应Mode信息即可完成分辨率选择,记下这个十六进制的值,进入系统后,再次修改grub.conf即可完成分辨率修改了。