返回列表 发帖

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是不能改动位置的,请慎用!
兄弟如手足,女人如衣服;谁抢我衣服,我砍他手足;谁动我手足,我穿他衣服.

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!!
然后再导入就可以了!
兄弟如手足,女人如衣服;谁抢我衣服,我砍他手足;谁动我手足,我穿他衣服.

TOP

刷完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
兄弟如手足,女人如衣服;谁抢我衣服,我砍他手足;谁动我手足,我穿他衣服.

TOP

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)


兄弟如手足,女人如衣服;谁抢我衣服,我砍他手足;谁动我手足,我穿他衣服.

TOP

有关硬盘中,保存多SLIC的设置信息的位置的信息:

数据恢复之Fat篇.pdf

数据恢复之Fat篇.part1.rar (292.97 KB)
数据恢复之Fat篇.part2.rar (268.35 KB)
兄弟如手足,女人如衣服;谁抢我衣服,我砍他手足;谁动我手足,我穿他衣服.

TOP

很不错的东东   还是著名来源吧   作者第一步都声明了 呵呵!

TOP

很强~
ThinkPad T420s
>Intel i7 -2640M
>8G DDR3 Memory
>160G SSD + HDD Bracket(320G)
>NVADIA NVS4200M 1G + Intel HD Graphics
>WiFi + Bluetooth + Camera + FPR
>Windows 7 64bit

TOP

好文章,收藏
多学技术少灌水,一天在线10个小时累死你,你能灌多少?双方都玩不起鸿元~

TOP

收藏了!!!
无限风光在险峰

TOP

看看,实际操作危险很大啊。

TOP

返回列表