Board logo

标题: VISTA 添加 SLIC 模块【多SLIC】【PCI类型】[开源] [打印本页]

作者: haiweix    时间: 2008-7-26 10:20     标题: VISTA 添加 SLIC 模块【多SLIC】【PCI类型】[开源]

免责声明:
本人致力于 BIOS 研究,纯属个人兴趣爱好,并不想从中牟取任何利益 !

本人提供的方法和程序,也许有漏洞,仅供参考。
刷BIOS必然有风险,使用者必须自行承担该风险!
因为使用了本人提供的方法和程序而造成的任何损失,本人不承担任何责任。
本人提供的方法和程序是为了方便用户给BIOS添加SLIC功能,并非是为了鼓励使用盗版!
请在试用后24小时之内删除 !如经济许可,请支持正版!

VISTA 添加 SLIC 模块【单、多SLIC】可以用于AWARD、AMI的BIOS。
          使用该模块,无须担心空间不足的问题(因为被替换的PCI模块大小都在10KB以上)


操作流程




AMI系列(以ASUS P4P800-SE为例子):

1MMTOOL 3.12打开ROM文件(记得ROM文件的后缀要为.rom),然后,点中“ID”中的20模块(有3个),然后,按“Browse”选择要解压的位置,然后按“Extract”解压。

1.jpg

2、用WINHEX搜索“PXE”、“NETWORK”、“ETHERNET”等字符串,如果搜索到任意一个,那个PCI ROM就是网卡的BOOT ROM了。
     很明显,RunLoc”为11AB:4320的那个PCI OPTION ROM就是网卡的BOOT ROM了。

     AMI比AWARD方便的地方,就是根本不用查找它的VENDOR IDDEVICE ID,你肯定某个PCI ROM是网卡的BOOT ROM,那就行了。看看MMTOOL 中的对应该PCI ROM的“RunLoc”,那个值就是VENDOR IDDEVICE ID了:

本例子中:“RunLoc”=11AB:4320
VENDOR ID =   11AB
DEVICE ID   =  4320
2.jpg
3、用ISA & PCI 模块替换SLIC工具【SLIC专用】(下载:见楼下)来修改Multi-Add-SLIC.bin(下载:见楼下 Vista Multi-Add-SLIC Module【包括源代码】.rarVENDOR IDDEVICE ID

执行Multi-PCI.exe,按“Choose ISAPCI.BIN”,选择下载到的“Multi-Add-SLIC.bin”,在“Vendor ID”、“Device ID”输入上面找到的数据,然后按“Create ISAPCI.BIN FILE”就可以了!



3.jpg


4、然后,在MMTOOL中,点中“RunLoc”为11AB:4320的那个PCI OPTION ROM,点“Replace”,然后,按“BROWSE”选择修改后add-slic.bin,然后按“Replace”替换。
5、记得点“Save Rom”保存ROM
6、有些AMI BIOS是不能改动位置的,请慎用!


图片附件: 1.jpg (2008-7-26 10:20, 35.37 KB) / 下载次数 3583
http://nb591.com/attachment.php?aid=27024&k=458e69606cfaf51e335c320e0b38269d&t=1732340328&sid=hG12z9



图片附件: 2.jpg (2008-7-26 10:20, 29.14 KB) / 下载次数 3462
http://nb591.com/attachment.php?aid=27025&k=c114cdffac545da0abe3252e3bbf9157&t=1732340328&sid=hG12z9



图片附件: 3.jpg (2008-7-26 10:20, 20.29 KB) / 下载次数 3555
http://nb591.com/attachment.php?aid=27026&k=9e2aa25a4fc8c0d55ddad2ca9070aa6e&t=1732340328&sid=hG12z9


作者: haiweix    时间: 2008-7-26 10:24

AWARD系列MSI K8MM-V 为例子

1、解压下载到的BIOS

4.jpg

2、将CBROM.EXEW7142vms.160、Multi-Add-SLIC.bin(下载:见楼下放到同一个目录下面,如C:\OEMSLIC\k8mmv下面。此时,在该文件夹的空白处按右键,选择创建快捷方式,在“请键入项目的位置”中输入“cmd”,然后按两次回车键就可以了。在新建的快捷方式处按右键,选择“属性”,然后将“快捷方式”的“起始位置”清空,按“确定”就可以了。


3
、执行cmd.exe快捷方式(下面以cmd.exe来代替描述),输入:

       cbrom W7142vms.160 /d

5.jpg

然后解压PCI模块:cbrom W7142vms.160 /pci extract

cbrom V1.55 [10/12/05 Release] (C)Phoenix Technologies 2001-2005

PCI ROM - - - [A] : pxeb.238
PCI ROM - - - : 6420r450.ROM
       这里输入:a然后按回车键
       很明显,带PXEB字样的pxeb.238就是网卡的BOOT ROM了。如果不清楚的话,可以解压这两个模块,用WINHEX搜索“PXE”、“NETWORK”、“ETHERNET”等字符串,如果搜索到任意一个,那个PCI ROM就是网卡的BOOT ROM了。

   6.JPG


4、在该模块中搜索“PCIR”(这个PCIR的位置,可以根据18H处的值(4000)来确定,它反过来写就是PCIR的偏移了(0040),其后面的数据假设为YYXX BBAA形式,其中:

XXYY
(注意都是倒写的)=VENDOR ID
AABB = DEVICE ID


7.JPG



从上面可以得出:
VENDOR ID =
1106
DEVICE ID = 3065


5
ISA & PCI 模块替换SLIC工具【SLIC专用】(下载:见楼下)来修改Multi-Add-SLIC.bin(下载:见2楼 Vista Multi-Add-SLIC Module【包括源代码】.rarVENDOR IDDEVICE ID

执行Multi-PCI.exe,按“Choose ISAPCI.BIN”,选择下载到的“Multi-Add-SLIC.bin”,
在“Vendor ID”、“Device ID”输入上面找到的数据,然后按“Create ISAPCI.BIN FILE”就可以了!

8.jpg

6、执行以下命令来导入修改好的add_slic.bin
       cbrom W7142vms.160 /pci Multi-Add-SLIC.bin

       此时,再执行一次:

cbrom W7142vms.160 /d

       如果发现PCI ROM的数量多了一个,证明Multi-Add-SLIC.bin模块中的VENDOR IDDEVICE ID没有修改好,需要重新检查以上的数据。只要正确了,肯定不会多出一个模块的



       有些特殊的BIOS,在导入add_slic.bin这步后,BIOS会出现异常,具体现象是用/D来查看模块,会发现只有system bios和另外2~3个模块在,剩余的模块都消失了。在这里提供一个解决的方法:

在导入add_slic.bin,执行释放网卡BOOT ROM模块的步骤:
cbrom W7142vms.160 /pci release
如果有多个模块让你释放,记得选网卡BOOT ROM!!
然后再导入就可以了!


图片附件: 4.jpg (2008-7-26 10:24, 6.19 KB) / 下载次数 3046
http://nb591.com/attachment.php?aid=27027&k=891db200a04a4f8881e02272b965c658&t=1732340328&sid=hG12z9



图片附件: 5.jpg (2008-7-26 10:24, 28.75 KB) / 下载次数 2936
http://nb591.com/attachment.php?aid=27028&k=3a64c06727e7b5487c6200f36ebe38fa&t=1732340328&sid=hG12z9



图片附件: 6.JPG (2008-7-26 10:24, 11.95 KB) / 下载次数 3001
http://nb591.com/attachment.php?aid=27029&k=5b74fe233872a8db4215599a5cf58dfe&t=1732340328&sid=hG12z9



图片附件: 7.JPG (2008-7-26 10:24, 15.96 KB) / 下载次数 3091
http://nb591.com/attachment.php?aid=27030&k=9b069ec0a44f93f16e56333b97c38afe&t=1732340328&sid=hG12z9



图片附件: 8.jpg (2008-7-26 10:24, 20.48 KB) / 下载次数 3076
http://nb591.com/attachment.php?aid=27031&k=e5749c4d6b539ea7f0f78f6248c00653&t=1732340328&sid=hG12z9


作者: haiweix    时间: 2008-7-26 10:24

刷完BIOS后必须要做的:
    1、将修改后的该.rom文件刷进主板的CMOS后,重新开机,按DEL、F1、F2或者其他键进入CMOS设置,在“BOOT”(或其他类似的)菜单中,一定要将“ SLIC Mod”设置在“HARD DRIVE”的前面。按F10保存就可以了!


    如果找不到“SLIC Mod”如果有“LAN”、“NetWork”之类的与网络有关的字样,把它设置在“HARD DRIVE”前面。可能还要修改“Integrated Peripherals”(整合周边设备设定)中的“Onboard LAN Option ROM”设置为“Enabled”,如果没有的话,可以不用修改


    2、如果启用了该模块后,会黑屏(不是那种刷了BIOS就黑屏的情况),这时,仅需要在CMOS设置中将该模块禁用就行了。


解释:


      替换的是网卡的BOOT ROM,它在被替换后,仅BOOT ROM不起作用了,网卡还是可以正常使用的。该BOOT ROM仅对无盘工作站之类的起很大的作用,绝大情况下我们是用不到的(或者说,仅网吧可能用到)
       而且,现在出厂(包括2年前出厂)的主板,默认情况下,都是禁用BOOT ROM的,也就是说BOOT ROM一直都没有起作用。如果起作用的话,你会看到一堆的E文,然后就很郁闷的在那画面等待2分钟左右!!而且,你等来的结果是,什么作用都没有!

      另外,如果是单独网卡的话,可以看到网卡的右上角一般是空的(RMB 100块以下的网卡),那里就是插一个专用芯片(RMB 5块)的,主要用来写BOOT ROM,还原卡也必须要用到这个芯片!!

       以上的是针对主板集成网卡的情况写的,如果,你使用的是单独的网卡,可以参考下面的帖子(BY ZHAOLIANG):

http://www.vistafans.com/thread-146268-4-1.html

34楼;该方法实质是:将模块同样刷进BIOS,只需要VENDOR IDDEVICE ID对应网卡就行了!
      如果你的单独网卡,上面有BOOT ROM专用的芯片,可以用与网卡对应的刷新工具,将VISTA 添加 SLIC 模块刷进去(有些网卡要改文件的大小,有些却不需要)


多SLIC的使用补充:开机后,如果是初次使用,只要有个可以正常使用的硬盘,会提示“Press F5 to Change ......”,这时按F5可以进入设置画面(简陋了点)。
如果你不修改,默认是使用ASUS的SLIC!
按F5后,可以选择显示“Press F5 to Change ......”这个信息,也可以选择不显示。
选择不显示后,如果想重新显示,可以这样做:
开机出现BIOS的自检画面后,按F5
作者: haiweix    时间: 2008-7-26 10:36     标题: VISTA 添加 SLIC 模块【PCI类型】

下载专用帖:

----------------------------------------------------------------------

--------------------------- SLIC】------------------------------


下载[包括源代码] [更新日期:2007-6-5]

【2007-6-5-23-16】Vista Multi-Add-SLIC Module【包括源代码】.rar (19.8 KB)

[更新历史]

2007-6-5
修正了在某些带SATA RAID ROM的主板上,导致SATA RAID找不到硬盘的BUG。
具体为:在模块加载新的GDTR前,保存原来的GDTR,在模块运行后,再恢复回原来的GDTR。

2007-6-4
修改SLIC地址的生成机制(包括原生SLIC的地址):直接使用PCI模块本身的SLIC表在物理内存的地址,添加到RSDT后面。
修改原理:PCI模块在被调用时,是处于未压缩状态的,在执行BOOTSTRAP的过程后,模块中所有的内容,并没有被擦除,即PCI模块中的内容,包括SIC表的内容还存在于内存中,并且该内容是完整的。此时,就可以将SLIC表所在的地址,添加到RSDT后面。
PCI模块所在的地址,具体可以参考ACPI标准(
http://www.acpi.info)中的Sample Memory Map。
2007-5-23
修正了模块里面的SLIC表的内容,并添加了修正SLIC表的校验码的功能。
2007-5-22
在VISTAFANS首发Vista Multi-Add-SLIC Module




--------------------------- 【单SLIC】-----------------------

下载[包括源代码]         [更新日期:2007-5-18]

Vista Add-SLIC Module For AMI BIOS【包括源代码】.rar (9.43 KB)


[更新历史]
2007-5-18
由于部分AWARD主板的8800:AE00等区域是只读的,只能使用回原来的堆栈保存伪GDTR。
修正了原来堆栈操作的GDT_LEN数值错误的问题。
2007-5-17
修改了A20的重大BUG。因为A20在不同的主板下,在进入本模块时存在着关闭或者开启的状态,原来的代码没有作判断,所以会导致出错。
修改了GDTR中的参数。
2007-5-16
修改了保存伪GDTR的内容的方法,放弃使用不稳定的堆栈操作。
2007-5-15
在VISTAFANS首发Vista Add-SLIC Module For AMI BIOS。


--------------------------- --------------------------- --------------------------
--------------------------- --------------------------- --------------------------



fasmw167.rar是ASM编译器,与NASM的语法有很大的不同。

fasmw167.part1.rar (439.45 KB)

fasmw167.part2.rar (357.29 KB)



AMIBCP (7.0 、7.5 )打包:

amibcp.rar (485.77 KB)




附件: 【2007-6-5-23-16】Vista Multi-Add-SLIC Module【包括源代码】.rar (2008-7-26 10:36, 19.8 KB) / 下载次数 4568
http://nb591.com/attachment.php?aid=27032&k=397106438d34eca2cc63fe163a335e40&t=1732340328&sid=hG12z9

附件: Vista Add-SLIC Module For AMI BIOS【包括源代码】.rar (2008-7-26 10:36, 9.43 KB) / 下载次数 4415
http://nb591.com/attachment.php?aid=27033&k=1085064d459fd67c83769437bc8f8e2b&t=1732340328&sid=hG12z9

附件: fasmw167.part1.rar (2008-7-26 10:36, 439.45 KB) / 下载次数 4235
http://nb591.com/attachment.php?aid=27034&k=928d684faac88cd948881d3ec92e1cba&t=1732340328&sid=hG12z9

附件: fasmw167.part2.rar (2008-7-26 10:36, 357.29 KB) / 下载次数 4100
http://nb591.com/attachment.php?aid=27035&k=0be58113776c16a674ce74aa05155a84&t=1732340328&sid=hG12z9

附件: amibcp.rar (2008-7-26 10:36, 485.77 KB) / 下载次数 4169
http://nb591.com/attachment.php?aid=27036&k=84bbdd01b52d3868291c90dec7eea5d2&t=1732340328&sid=hG12z9
作者: haiweix    时间: 2008-7-26 10:38     标题: 有关硬盘中,保存多SLIC的设置信息的位置的信息:

数据恢复之Fat篇.pdf

数据恢复之Fat篇.part1.rar (292.97 KB)
数据恢复之Fat篇.part2.rar (268.35 KB)

附件: 数据恢复之Fat篇.part1.rar (2008-7-26 10:38, 292.97 KB) / 下载次数 4205
http://nb591.com/attachment.php?aid=27037&k=95f851f1b58bbfc1ded244af136ff6e1&t=1732340328&sid=hG12z9

附件: 数据恢复之Fat篇.part2.rar (2008-7-26 10:38, 268.35 KB) / 下载次数 4135
http://nb591.com/attachment.php?aid=27038&k=5338e40bc707697c983dc620425c79e3&t=1732340328&sid=hG12z9
作者: ejun_2006    时间: 2008-7-26 11:34

很不错的东东   还是著名来源吧   作者第一步都声明了 呵呵!
作者: I小B黑M    时间: 2008-7-26 12:08

很强~
作者: wasjz    时间: 2008-7-26 13:22

好文章,收藏
作者: mickeylm    时间: 2008-7-26 14:01

收藏了!!!
作者: lliux    时间: 2008-7-26 14:27

看看,实际操作危险很大啊。
作者: xyfchris    时间: 2008-7-26 14:39

牛人,不过还是要谨慎。
作者: ejun_2006    时间: 2008-7-26 15:20

呵呵 只要是和bios修改有关的都要谨慎  如果是高手就搞吧
作者: plmxs    时间: 2008-7-26 16:18

楼主好强阿
作者: I小B黑M    时间: 2008-7-26 21:37

原帖由 lliux 于 2008-7-26 14:27 发表
看看,实际操作危险很大啊。


建议普通用户不要弄~
作者: ejun_2006    时间: 2008-7-27 07:34

普通用户刷bios   不是很懂的话 很容易出问题 而且不知道怎么还原
作者: haiweix    时间: 2008-7-27 10:02

刷机当然有风险了.
作者: ason    时间: 2008-9-6 04:24

楼主,你好!谢谢你!
很佩服你的水平与共享精神!
我有个问题想请教你,希望你百忙中抽空一答为盼:
我用的是INTEL 原厂主板的DG31PR,4G内存,前几天搞到82559网卡后狂刷以前版本的SLIC 模块,但选用SLIC启动后无法进入系统,今晚看到你的贴子,下载了你新的《Vista Add-SLIC Module For AMI BIOS》刷后,能进入系统,在成功导入证书后,启动激活,还是提示失败,我所用的激活密码是6F2D7-2PCG6-YQQTB-FWK9V-932CC及24J6Q-YJJBG-V4K4Q-2J8HY-8HBQQ,不知哪里出现问题,请高手指点一二为盼,谢谢!
作者: ason    时间: 2008-9-6 04:35

还有一点很重要的忘了说,就是everest中显示ACPI表长仅108字节。

图片附件: 1.gif (2008-9-6 04:35, 17.81 KB) / 下载次数 2827
http://nb591.com/attachment.php?aid=29420&k=dc97ebdb36ece83a81a57e4a7f6b6758&t=1732340328&sid=hG12z9






欢迎光临 鸿利在线|北京Thinkpad水货|IBM水货|Thinkpad笔记本|Thinkpad全球购|Thinkpad美行|Thinkpad水货笔记本|Thinkpad港行笔记本|Thinkpad T14|X13|P15|P17|P1隐士| X1 Carbon 9代 |T14S|2021款X1 Carbon|X1 隐士|Thinkpad非官方论坛|Thinkpad工作站|Thinkpad笔记本论坛|Thinkpad水货 (http://nb591.com/) Powered by Discuz! 7.2