无忧启动论坛

 找回密码
 注册
搜索

已解决---郁闷-再谈XPM制作怎么还是这样-原来grub4dos-0.4.6a-2013-04-19版要这样设置

查看数: 7040 | 评论数: 36 | 收藏 3
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-5-10 10:02

正文摘要:

本帖最后由 2010khmsoft 于 2013-5-24 00:11 编辑 Downloads - grub4dos-chenall - grub4dos - Google Project Hosting 地址: http://code.google.com/p/grub4dos-chenall/downloads/list 刚刚学会解决办 ...

回复

2010khmsoft 发表于 2013-5-11 14:43:17
恕我直言,不加640:480,其实应该是24:32吧,把24:32去掉就可以了

最小公倍数应该也不是24:32,而应该是3:4才是最恰当的
不点 发表于 2013-5-11 14:29:23
恕我直言,你这个用法还是错的:

graphicsmode -1 100:1000 100:1000 24:32 640:480

应该是这样:

graphicsmode -1 100:1000 100:1000 24:32

参数不可以随便增加,虽然现在的版本检查不严,允许你写上多余的尾巴(多余的部分不起作用),但将来的版本不一定允许你写多余的参数。
2010khmsoft 发表于 2013-5-11 10:31:39
糊涂 发表于 2013-5-11 10:28
请教老师一个问题:GfxMenu。。。VBE。。。message
这三者之间到底啥关系?问题很菜,希望老师能给补补 ...

我也是刚刚接触

你可下载软件研究一下

百度应该很多的
2010khmsoft 发表于 2013-5-11 10:29:42
糊涂 发表于 2013-5-11 10:24
谢谢,我更看好“独剑”版本的PE

我现在不管谁的主要是下载下来,研究它的启动方式和脚本代码的写法

到最后无视其它,自己DIY
糊涂 发表于 2013-5-11 10:28:03
2010khmsoft 发表于 2013-5-11 10:24
我也是刚刚接触PE系统

请教老师一个问题:GfxMenu。。。VBE。。。message
这三者之间到底啥关系?问题很菜,希望老师能给补补课

点评

GfxMenu 用的就是message,好像vbe的用到字体等什么的一样。就两种吧?  发表于 2013-5-11 10:30
sratlf 发表于 2013-5-10 11:13:46
贴出菜单看下
qxwt123 发表于 2014-7-15 14:35:42
不点 发表于 2013-5-11 17:36
我刚刚看了最新的源代码,确认不存在下面的用法:

graphicsmode -1 100:1000 100:1000 24:32 640:480

"另外,你前面提到的graphicsmode -1  640:480 也是错误的用法。不过,系统检查不严格,没有按错误处理罢了。就是说,上述这条命令按 graphicsmode -1 640 来处理了。"这两个参数显示效果并不都是一样的。比如:graphicsmode -1  640和graphicsmode -1  640:800,显示结果就会不一样。
菜鸟发言,莫笑
不点 发表于 2013-5-12 19:45:37
本站有 grub4dos 讨论区,可以在置顶的文档中学习。也可以在 internet 上搜索资料。

我知道,那些能够接触到 grub4dos 的人,都不是普通人,都是比较特殊的人。有很多人都是当地的电脑高手,经常给周围的人解决电脑的故障。
2010khmsoft 发表于 2013-5-12 14:51:40
不点 发表于 2013-5-12 00:39
graphicsmode 命令的第一个参数,是直接指定图形模式的值。按照视频 BIOS 的规范,小于 0x100 的值,都是老 ...

感谢不点老师的指点,有了一点大致的了解了。

看来还得努力学习了,请问有没用系统的grub4DOS学习教程和命令参数文本参考规范教程

长期泡在远景,也混了个达人头衔,在这一块却是白脖子
不点 发表于 2013-5-12 00:39:27
本帖最后由 不点 于 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 支持了。
2010khmsoft 发表于 2013-5-11 22:50:43
不点 发表于 2013-5-11 20:55
1028x800 ?没听说过这么个分辨率,你是指 1280x800?(还是指 1024x800?不过这似乎也很少见到。)

分辨 ...

手误分辨率输入错误
谢谢你的回答,明白了
另外 graphicsmode 0x6A 的0x6A是什么意思,为何放到graphicsmode -1 100:1000 100:1000 24:32 代码的下面,运行脚本会停止运行?
不点 发表于 2013-5-11 20:55:10
1028x800 ?没听说过这么个分辨率,你是指 1280x800?(还是指 1024x800?不过这似乎也很少见到。)

分辨率究竟支持多少种,那是没有规定的。就是说,不同的机器,有不同的情况,没法确定。

如果你希望设置为最大支持的分辨率,那就用 graphicsmode -1 -1 -1 24:32 这个命令中限制颜色深度为 24 位至 32 位,这样比较安全,因为这是 grub4dos 的 vbe 模式所支持的颜色深度,其他的颜色深度不被 grub4dos 支持。

而如果你希望设置为 1280x800,可以用以下两条命令:

graphicsmode  -1  -1  -1  24:32
graphicsmode  -1  1280  800  24:32

其中,第一条命令保证适应几乎所有的机器,设定最大可能支持的分辨率,总可以成功进入 vbe 模式。
第二条命令的意思是,在 bios 支持的情况下,设定为 1280x800 的分辨率。这第二条命令是有可能失败的,因为有些机器不支持这么一个特殊的分辨率。可以把上述两条命令整理为一个命令行,如下:

graphicsmode  -1  -1  -1  24:32  &&  graphicsmode  -1  1280  800  24:32

由 && 和 || 等操作符连接的两条或多条命令,会忽略出错代码,整体上按成功执行处理,不管有没有出错。

这样,当 BIOS 支持 1280x800 的分辨率时,结果也正是如此设定的。否则,当 BIOS 不支持 1280x800 的分辨率时,其结果是,设定为 BIOS 所支持的最大分辨率。

2010khmsoft 发表于 2013-5-11 20:13:08
不点 发表于 2013-5-11 17:36
我刚刚看了最新的源代码,确认不存在下面的用法:

graphicsmode -1 100:1000 100:1000 24:32 640:480

果然设置了graphicsmode -1 640 后启动菜单定位graphicsmode set 0x142 地址上,而且是以640*480 的XPM文件的全铺效果,图片未失真。

想问一下默认的graphicsmode -1   为:0x147 地址上,可以设置1028*800的图片吗
糊涂 发表于 2013-5-11 19:42:12
不点 发表于 2013-5-11 18:52
糊涂兄的菜单,用到了 grub4dos 的很多新的特性。坦率地说,由于自己身体差,也很少研究 chenall 以及其他开 ...

谢谢老师点评!
难怪我用这种菜单在电子城测试N多品牌机没有再出现以前那种“键盘失灵、跳行等”故障
尤其在DELL本子面前自信了许多

一会儿调整下菜单出场顺序,不能等遇到问题再解决问题
相信不点大师的预见是准确的!
myBOOT 发表于 2013-5-11 19:26:25
不错的背景图。
不点 发表于 2013-5-11 18:52:07
糊涂兄的菜单,用到了 grub4dos 的很多新的特性。坦率地说,由于自己身体差,也很少研究 chenall 以及其他开发者开发的新命令、新用法、新功能。所以,我也并不能了解每条命令的含义。我只能就我所了解的部分,给出自己的意见,供参考。

你的这条 graphicsmode 命令,我个人觉得适应性比较强,这是我推荐的用法。我的视角是从硬件适应性来考虑的,不是从别的角度来考虑的。我把硬件适应性看得比较重。就是说,尽量保证这条命令不至于失败,不至于出错。

但是,你把 splashimage 命令以及 font 命令都放在 graphicsmode 命令之前,我觉得不好。应该把 graphicsmode 命令放在 splashimage 和 font 之前。否则,如果某个电脑不支持某个分辨率的图片,就有可能在执行 splashimage 命令时死机。而如果先执行 graphicsmode 命令来确定电脑所支持的分辨率,这样做就是安全的了,不容易出现意外。

我得声明,我并不考虑美化之类的问题。图片的分辨率,尽量设置得大一些,好让屏幕能够铺满。不可以用图片的分辨率为基准来设定硬件的分辨率,因为刚才解释过了,那会在某些机器上产生死机之类的问题。制作合适的图片,适应于各种硬件分辨率,那是一种艺术的考量,不是技术上的考虑。这就是我个人的看法。不同的机器的 bios,具有不同的分辨率,不可以一刀切,把分辨率定死了。所以,那条 graphicsmode 命令的作用就在这里了,它的目的就是适应不同的情况。否则的话,如果定死了分辨率,那还要这条 graphicsmode 命令干什么?这条 graphicsmode 命令的目的就是替用户灵活确定一个合适的分辨率的,保证既能进入 vbe 图形模式,又能有着自己所希望的分辨率。当然了,根据用户自己的偏好,100:1000 可以调整为别的,比如 200:900 之类的。
糊涂 发表于 2013-5-11 17:44:05
本帖最后由 糊涂 于 2013-5-11 17:45 编辑
不点 发表于 2013-5-11 17:36
我刚刚看了最新的源代码,确认不存在下面的用法:

graphicsmode -1 100:1000 100:1000 24:32 640:480


辛苦不点大师指点一下下面两个菜单头

command --set-path=/BOOT/GRUB/
splashimage /BOOT/GRUB/back.lzma
font /BOOT/GRUB/UNIFONT.HEX
color normal=15 highlight=10 heading=7 standard=0x0F border=0
call Fn.0 0x40000 "!BAT\necho -P:0000 $[0000]\t\t\t\t\t\t\t\t\t\0" && initscript (md)0x200+1
MENUSETTING 2 14 0 15 15 2 50 6
write 0x8274 0


二级菜单
command --set-path=/BOOT/GRUB/
splashimage /BOOT/GRUB/back.lzma
font /BOOT/GRUB/UNIFONT.HEX
graphicsmode -1 100:1000 100:1000 24:32
color normal=15 highlight=10 heading=7 standard=0x0F border=0
call Fn.0 0x40000 "!BAT\necho -P:0000 $[0000]\t\t\t\t\t\t\t\t\t\0" && initscript (md)0x200+1
MENUSETTING 2 14 0 15 15 2 50 6
write 0x8274 0

#加载背景图像 bmp格式或bmp经gz,lzma压缩
splashimage (ud)/BOOT/GRUB/back.lzma || splashimage (ud)/BOOT/GRUB/back.gz

#加载字库文件 FONT_CN.GZ为精简版,unifont.hex.gz为多国语言字库
font (ud)/BOOT/GRUB/FONT_CN.GZ || font (ud)/BOOT/GRUB/UNIFONT.HEX.GZ

#分辨率设置 在加载背景图像时也可取消graphicsmode命令让其自动适应 。若不加载背景图像 graphicsmode不可省略,否则不能加载字库。
graphicsmode -1 100:1000 100:1000 24:32
不点 发表于 2013-5-11 17:36:16
我刚刚看了最新的源代码,确认不存在下面的用法:

graphicsmode -1 100:1000 100:1000 24:32 640:480

这可能是你自己杜撰的用法,也可能是复制别人的错误用法。

另外,你前面提到的

graphicsmode -1  640:480

也是错误的用法。不过,系统检查不严格,没有按错误处理罢了。就是说,上述这条命令按

graphicsmode -1 640

来处理了。

但是,错误的用法,也许有人偏偏喜欢,那就是另外一种性质的问题了,只要自己满意就行。

我只是看到了问题,然后提醒一下楼主以及过路的人,注意查阅 grub4dos 讨论区中的置顶文档,了解 graphicsmode 命令的各个参数的意义,以确保使用正确的命令。

点评

"另外,你前面提到的graphicsmode -1 640:480 也是错误的用法。不过,系统检查不严格,没有按错误处理罢了。就是说,上述这条命令按 graphicsmode -1 640 来处理了。"这两个参数显示效果并不都是一样的。比如:grap  详情 回复 发表于 2014-7-15 14:35
2010khmsoft 发表于 2013-5-11 10:27:15
糊涂 发表于 2013-5-11 09:58
我也不懂,瞎玩儿的

command --set-path=/BOOT/GRUB/

lzma 制作的压缩包800*600的主题图片,
2010khmsoft 发表于 2013-5-11 10:24:35
糊涂 发表于 2013-5-11 10:14
老师的“启动XP与启动WIN7”不能合成一个菜单吗?
感觉怪怪的,可能是我少见多怪

我也是刚刚接触PE系统
2010khmsoft 发表于 2013-5-11 10:20:34
糊涂 发表于 2013-5-11 10:14
老师的“启动XP与启动WIN7”不能合成一个菜单吗?
感觉怪怪的,可能是我少见多怪

U盘一样可启动 ezboot的技术,同样可支持U盘启动和UD隐藏

推荐你去下载个---京少电脑装机与维护专用盘V2013版.iso的光盘---好像就使用的ezboot的技术U盘启动。
糊涂 发表于 2013-5-11 10:14:49
本帖最后由 糊涂 于 2013-5-11 10:15 编辑
2010khmsoft 发表于 2013-5-11 10:12
我简单制作个:

看看这个用PPT制作的图片背景如何


老师的“启动XP与启动WIN7”不能合成一个菜单吗?
感觉怪怪的,可能是我少见多怪

老师这个菜单更适合“光盘版”
糊涂 发表于 2013-5-11 09:58:53
本帖最后由 糊涂 于 2013-5-11 10:00 编辑
2010khmsoft 发表于 2013-5-11 09:51
你采用的是GfxMenu吧!如果Grub4DOS跳转出错,菜单就会原形毕露

我打算修饰一下Grub4DOS再使用messa ...

我也不懂,瞎玩儿的

command --set-path=/BOOT/GRUB/
splashimage /BOOT/GRUB/back.lzma
font /BOOT/GRUB/UNIFONT.HEX
color normal=15 highlight=10 heading=7 standard=0x0F border=0
call Fn.0 0x40000 "!BAT\necho -P:0000 $[0000]\t\t\t\t\t\t\t\t\t\0" && initscript (md)0x200+1

2010khmsoft 发表于 2013-5-11 09:51:27
本帖最后由 2010khmsoft 于 2013-5-11 09:53 编辑
糊涂 发表于 2013-5-11 09:05
图片效果不错吧


你采用的是GfxMenu吧!如果Grub4DOS跳转出错,菜单就会原形毕露

我打算修饰一下Grub4DOS再使用message启动主题
糊涂 发表于 2013-5-11 09:05:51
本帖最后由 糊涂 于 2013-5-11 09:08 编辑







图片效果不错吧
2010khmsoft 发表于 2013-5-11 09:02:24
2010khmsoft 发表于 2013-5-10 21:28:45
sratlf 发表于 2013-5-10 13:33
菜单没什么问题  那就是背景图的原因了  新版grub4dos也可以使用24位色的bmp图片当背景图  不一定非得是xpm ...

谢谢你的提醒,已经完全解决了。
北斗 发表于 2013-5-10 20:49:19
24bit的应该可以的,我一直都是用24bit的图做背景。
2010khmsoft 发表于 2013-5-10 18:39:32
sratlf 发表于 2013-5-10 18:15
这还是用的xpm吧  bmp图片要求是24位色的  可以用画图打开图片  然后另存为  选择24位位图格式

24位的我试了,不行

需要打包图片吗,列表代码是如何写的?

求助?

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-2-1 00:48

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表