如果安装了 Linux 的图形界面,则使用图形界面修改分辨非常方便也很简单。但是如果只安装了字符界面,难道就不能修改分辨率了吗?

当然是可以的,只要利用 GRUB 的配置文件就可以完成。当然需要确定内核是否支持 CONFIG_FRAMEBUFFER_CONSOLE 功能,如果没有开启这项功能,则需要重新编译内核,査询方法如下:

[root@localhost ~]# grep "CONFIG_FRAMEBUFFER_CONSOLE" /boot/ config-2.6.32-279.el6.i686
#还记得/boot/config*2.6.32-279.el6.i686文件吗?这个文件中保存的是内核编译时选择的功能和模块。我们在这个文件中査找
CONFIG_FRAMEBUFFER_CONSOLE=y
#出现了=y,当然是支持了

在字符界面界支持的分辨率列表如表 1 所示。

表 1 字符界面分辨率
色 深640像素x480像素800像素x600像素1024像素x768像素1280像素x1024像素
8位769771773775
15位784787790793
16位785788791794
32位786789792795

如果想把字符界面的分辨率设置为 1024 像素x 768 像素,色深为 16 位,则只需要修改 GRUB 的配置文件,在 kernel 行最后加入下面的内容:

[root@localhost ~]#vi /boot/grub/gmb.conf
default:0
timeout=5
splashimage=(hd0,0)/gmb/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-279.el6.i686)
root (hd0,0)
kemel/vmlinuz-2.6.32-279.el6.i686 ro
root=UUID=b9a7a1 a8-767f-4a87-8a2ba535edb362c9 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet vga=791
initrd/initramfs-2.6.32-279.el6.i686.img

然后重新启动系统,就会发现分辨率已经改变了。有些 Linux 的版本需要将 vga 的值写成十六进制的,可以先试试表 1 中的数字,如果不行则可以尝试十六进制数。