HSIAO-YANG CHEN 发布的文章

前一阵子已经制作过WIN7引导文件嵌入菜单,现在再发个XP引导文件嵌入可选菜单,使用方法和WIN7引导文件嵌入菜单的方法一致,只是在那基础上增加了一个隐藏的后台GRLDR,按CTRL+HOME,就可以进入GRLDR的命令行,使得光盘的使用性更加灵活。
3edd751ex7df70dde7587&690.jpg
原理:引导文件首先会从“SHOYO”目录引导,若失败则引导“I386”目录,接着引导BOOTFIX.BIN文件,出现从光盘引导的提示,按任意键就从光盘引导,否就从硬盘引导。

修改点示意图如下,简单明了
3edd751ex7df72954e52b&690.jpg
本例包含8个菜单项,11字节的“w2ksect.bin”、12字节的“recovery.bin”……故菜单项数hex:08,引导文件名长度hex:0B,其后就是引导文件名,以此类推。

通过修改这些区域,可以制作出符合我们要求的菜单。最大可以存放26个菜单项。

提示:请确保每个引导文件名长度的准确性,只要错一个引导文件名的长度将会影响后序引导文件名的索引,当然一定要保持菜单文本起始位置的不变和引导文件大小的不变。

建议:被引导文件最好是grub4dos,可以很方便的将引导菜单内置,看起来更简洁。镜像格式为支持ISO-9600的编码。
DEMO镜像下载

SLIC表头很多都在BIOSCODXX.ROM文件里,对于直接替换SLIC表而出现数字签名不完整的BIOS,可以通过增加额外ACPIXX.ROM来达到增加SLIC的目的,但是这样刷完会出现两个SLIC表,看着着实变扭。通过对BIOSCODXX.ROM的汇编代码分析,我们可以很容易的将原SLIC屏蔽掉。

BIOSCODXX.ROM前27字节为非代码区,作为模块识别码。
3edd751ex7cdaa6a70c4a&690.jpg
为了方便分析,先将其截去
3edd751ex7cdaab8148f5&690.jpg
查找SLIC表头地址
3edd751ex7cdab01870cb&690.jpg
SLIC表头地址:0x0F187;接下来用hiew32打开文件,查找HEX:87F1
3edd751ex7cdac70050b1&690.jpg
这个就是SLIC表头的生成代码,0xF160为调用入口地址,接下来只能往上或往下去寻找 CALL 000F160的汇编语句
3edd751ex72e2b050cff2&690.jpg
不难发现,在调用SLIC表的生成前有两个判断是否要生成SLIC表,既然要废弃掉SLIC,就让其跳过SLIC生成的条件,修改地址0xF07B,其汇编代码为:JMPS 0FA3,这样就跳过了SLIC的生成了。最后记得把去掉的27字节重新补上,否则后果很严重。

X1550和X1300核心是一样的,只是制造工艺上的不同,旧版的5.13驱动却不支持X1550,即便修改了安装配置文件,硬是安装上了,但是硬件仍然启用不了。记得在没8系列驱动的那段日子,运行跑跑卡丁车,简直是一场噩梦,画面卡到让你受不了。GOOGLE查找原因,才发现新版本的驱动都有这个问题,安装旧版的5.13就能流畅跑跑卡丁车,而X1550刚好在此之外,无缘用上5.13的驱动。经过多次的测试发现6.1改配置文件也可以流畅运行跑跑卡丁车,就这样将就用了6.1一段时间。后来又对改FIREGL有兴趣,又玩软改了一番。确实使用软改后FIREGL8.5的驱动,那画质确实得到了质的提升。由于修改知识的积累,使我的水平得到了提升,就顺便把5.13给改成支持X1550的卡,随便体验下传说中的5.13版的速度。应网友PM要求,又加入了X1350/X1450的支持。好用就顶下帖!
http://www.rayfile.com/zh-cn/files/4465eedc-f492-11de-8516-0014221b798a/

前一阵子研究过2K的XP引导菜单,其实现原理理解得差不多了。刚好最近大家都有兴致安装WIN7,便想对WIN7的引导程序做些修改,实现类似于XP时代N合一的引导菜单。当然在WIN7时代N合一根本不用这样改,主要还是为了引导其他的工具,如引导安装Acronis True Image Home 2010硬盘备份工具。

此编主要是面向喜欢自己动手制作光盘的爱好者。
3edd751ex79c801b5a347&690.jpg
想自行修改添加菜单可以通过修改如下几个加颜色的位置
3edd751ex79ca8cf33a51&690.jpg
本例包含2个菜单项,7字节的“BOOTMGR”、11字节的“ACRONIS.BIN”。故蓝色划线处为hex:02,绿色划线处为引导文件的长度:hex:0B的10进制为11,是“ACRONIS.BIN”的字节长度。想加新的菜单只要修改蓝色处并在引导文件名字符串的后面先填上所加的引导文件名的长度,再把引导文件名填上。把引导文件放在BOOT目录或根目录即可引导

注意:请确保每个引导文件名长度的准确性,只要错一个引导文件名的长度将会影响后序引导文件名的索引,当然一定要保持菜单文本起始位置的不变和引导文件大小的不变。

建议:被引导文件最好是grub4dos,可以很方便的将引导菜单内置,看起来更简洁。镜像格式为支持ISO-9600的编码。
3edd751ex79c8034714a1&690.jpg
本DEMO盘中的BOOTFIX.BIN也是处理过的,增加了清屏效果

下载DEMO镜像