|
本帖最后由 不点 于 2013-5-12 11:42 编辑
graphicsmode 命令的第一个参数,是直接指定图形模式的值。按照视频 BIOS 的规范,小于 0x100 的值,都是老式的 VGA 图形模式,而大于或等于 0x100 的模式,才是新型的 VBE 图形模式。
0x6A 就属于旧的 VGA 图形模式的一种,它是 800x600 的分辨率。新版 grub4dos 不再支持旧的 VGA 图形模式,开发者不保证 VGA 模式一定能够在新版下正常使用。因此,用户在新版之下应该使用新的 VBE 图形模式。
graphicsmode 命令的第一个参数,如果是 -1,它表示,将替用户探测出一个符合用户所指定条件的 VBE 图形模式。用户也可以指定一个大于或等于 0x100 的模式值,不过,那可不具有普遍适应性。新版的 VBE 规范没有定义模式值以及它们所代表的分辨率。所以,如果直接指定模式值,那是无法保证在其他电脑上通用的。新版 VBE 也没有规定究竟有哪些分辨率是必须支持的。因此,你不敢保证 640x480 一定被所有的 VBE BIOS 支持。同理,也不敢保证 800x600,1024x768,以及其他任何一个分辨率,一定被所有的 VBE BIOS 支持。
补充:还有这样的可能性,某些早期的主板或显卡的 BIOS 不支持 VBE,只支持旧的 VGA 模式。那样的话,graphicsmode 命令将失败出错。不过这样的电脑,似乎很难见到了。
有人还遇到了这样一台旧的笔记本电脑:它支持 VBE,但是颜色深度只支持 16 位的,不支持 24 位和 32 位的。这样的话,grub4dos 也不支持它。这有点遗憾。grub4dos 的开发者当初权衡了一下,决定放弃对 16 位以下色深的支持,只支持 24 位和 32 位色深,这样能够降低 grub4dos 处理的复杂度,使得程序代码能够针对 24 位和 32 位色深进行优化。所幸的是,老式笔记本也消失殆尽了,只遇到了一个案例。
继续思考这个问题。有这样的可能性:虽然你的 BIOS 支持 VBE,也支持 24 位或 32 位色深。但是,对于某个特殊的分辨率(例如 1024x768),却只支持 16 位色深。那样的话,grub4dos 在这台电脑上也就无法支持 1024x768 的分辨率了。
640x480 是一个古老的分辨率,它很有名气,因为 Win98 时代它就成为了一个标准,恰如 1.44M 软盘成为标准软盘那样。有理由相信,大多数 VBE BIOS 都支持 640x480 的分辨率。然而前面提到过,新版 VBE 规范不强制 VBE BIOS 一定支持以往的旧规范所规定的分辨率。因此,即使 640x480,也有可能不被某个新的 VBE BIOS 支持了。
|
|