- 积分
- 14
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2011-6-24
- 精华
|
推荐
发表于 2013-6-25 20:50:05
|
只看该作者
来自: 浙江杭州 来自 浙江杭州
本帖最后由 victorcc 于 2013-6-25 20:53 编辑
更多FACS追加SLIC表动态法&新动态法手工修改,结合移花接木方法修正MEMINIT入口地址!
改的一般都是最新版BIOS,大家可以参阅以下内容:
关于BIOS修改的静态法、超级静态法及动态法概念解析—— 希望再别被这些“名词”困惑 !
一、静态法
所谓静态法就是指数据指针是以静态的形式直接被用户增添到ACPI表上一级表,从而让添加的SLIC表与相关的ACPI表建立关联关系的修改方法。静态法又分为静态法和超级静态法。超级静态法就是为了克服早期的静态法中内存容量变化会导致SLIC位置发生变化而导致指针和目标表脱离的影响。
超级静态法又分为三种:超级静态法一、二和三,三种(大概是方法的首创者定义的,英文缩写SS1-3)。超级静态法的特点就是把SLIC表放置在ROM区,即FXXXXXXXH和FXXXXH。这样做的好处就是SLIC表的位置固定,完全克服了早期的静态法的不足。当然,缺点也是显而易见的,和正常放置在RAM区域的ACPI表位置差别很大,很容易被识别出来!
(1)超级静态法一
就是把SLIC表通过添加非压缩格式独立模块放置FXXXXXXXH处。由于模块的位置要在最后修改完才能确定,所以指针地址往往需要2次才能确定,略显得有些麻烦。
(2)超级静态法二
超静二把SLIC表直接在FXXXXXXXH的BIOS的“HOLE”处,而且保持修改模块不变,模块的覆盖多以手工完成(现在AMI的新工具已经突破了这个限制),其它的完全等同超静一。超静二主要是是针对某些主板(如,V星MSI)不能改变、修改模块容量而提出。
有这样一个定律:如果改变模块的大小是安全的,那么不改变模块的大小也一定是安全的,但反之则不成立!因此,在不知道BIOS到底适合那种修改方法的时候,尽量采用超静二!
(3)超级静态法三
超级静态法三,就是把SLIC表放置在FXXXXH。这一般多是系统主模块驻留位置。如果RSDT等也位于主模块中,那么整个修改只涉及一个模块,故而显得比较简单。
超级静态法添加SLIC表指针的方法和过程都是一样的,区别仅在于SLIC的位置和放置方法。很显然,各方法有着很大的不同。特别需要说明的是,方法是为了解决不同BIOS的特殊性而创建,而不是为了解决同一BIOS可以有不同的修改方法!这一点很重要!所以,那些对三种修改方法优劣的任何比较都是毫无意义的!
二、动态法
所谓动态法就是所添加的SLIC表是和其它的ACPI表一起被加载到系统RAM区域高端的方法。(按此定义,利用网卡启动芯片添加SLIC表的方法将不归属在此列,最明显的是添加的SLIC表,依旧在ROM区域。)
它是通过对BIOS代码的修改来实现指针、表的添加,这个过程完全等同BIOS程序自己加载其它ACPI表的过程,而且所添加的SLIC表与其它的ACPI表在同一区域。很显然,它完全克服了静态法所添加的SLIC极易被发现的缺点,所以是所有修改方法中的“终极”方法。
10月将发布的WIN DOWS 7, 微软不知是否会在那时对超级静态法下手。
现在提出的一些动态法方案,大都适应性比较差,所以无法普及。纠其原因就是没有采用代码独立设计,总是去迁就原来BIOS的程序(如通过RSDT、FACS等去加载SLIC表)。个人比较推崇采用“独立代码”设计,并取得了良好的效果。这样,就给了动态法一定的规范和统一,增加了适应性。这在程序设计过程中要求使用者有一定的80X86汇编语言知识。当然,如果此源代码如是公开的(将择机公开适用于AMI BIOS和AWARD BIOS的汇编语言源程序),对使用者的使用就不成为问题了!
下面是自ZORT关于修改BIOS的方式的基础知识
SLP = SLP 1.0
A text string that is added to the bios for XP and Win2003 activation. Corresponding oembios.* files must be installed in Windows.
SLP1.0是BIOS里字符串用于激活OEM XP和2003的。相应的OEMBIOS.*文件在WINDOWS的安装文件必须得有,也就是要激活OEMXP得有SLP1.0 和OEM安装盘。
SLIC = SLP 2.0 / 2.1
Public key/marker code is added to the bios. A certificate (.xrm-ms file) must be installed in Windows that matches the SLIC in the bios. A SLP 2.0 SLIC will activate Vista and Win2008. A SLP 2.1 SLIC will activate Win7 and Win2008 R2, as well as Vista SP1+ and Win2008.
SLP2.0/2.1是在BIOS中加入Public key/marker。和BIOS里的SLIC想匹配的证书文件(.xrm-ms 文件)必须安装到WINDOWS里以实现激活。SLP2.0 SLIC可以激活VISTA和2008.SLP2.1 SLIC可以激活WIN7 和2008R2同时也可以激活VISTA SP1和2008
First, SS stands for super static. We call it that because the memory address where the SLIC will be doesn't change. In some older ways of modding the SLIC would be at a different address depending how much RAM was in the computer, so a mod would work for one person but not another.
首先,SS的意思是超级静态法。之所以这样命名是因为这种方法的SLIC的内存地址是不会改变的。早些的修改方法SLIC地址会随着内存的容量变化而变化,所以一个人可以激活,另一个人就有可能不能激活。
下面进入关键:软件里的修改选项
SSV (or SSV1): A new, uncompressed module is added to the bios that contains SLIC code. This is the way all mods were done originally. For Award bios, OEM and 0+2 methods are SSV1
SSV或者SSV1:一个新的、未压缩的包含SLIC的模块被添加到BIOS里。这常用的方法。对于 AWARD BIOS修改工具,OEM和0+2就是SSV1
SSV2: The slic is written over FF bytes in the bios file, and the slic is not part of a module. This only works for AMI BIOS, not Award.
SSV2:SLIC写入到BIOS里的FF字节处,也就是BIOS文件的空白处,它不是一个模块。这种方式只适用于AMI BIOS ,AWARD则不行。
With SSV2 the system module is usually kept the same size, so all the modules in the bios remain in their original position. Most MSI AMI bioses require this method. If a bios has trouble booting to an onboard raid or other device it could be because of shifted offsets of the bios modules so try SSV2 in that case.
使用SSV2系统模块都不会改变位置。大多数MSI(V星)AMI BIOS需要用这种方法。如果修改后出现不能正常使用RAID或者别的设备,可能是因为BIOS里位置的替换造成的。如果那样的话可以试用SSV2方式。(这里感觉不太通顺啊)
(Note: I did see an Award bios where SSV2 worked once so there might be certain places in an Award BIOS after all the modules where it could work but it would be risky to try. Andy doesn't include a SSV2 option in the Award tool anyway.)
(注意:我看到过AWARD BIOS用SSV2修改的也能正常工作。可能是因为在BIOS的模块最有空余 的FF地址。不管怎么样用这个方式都是有风险的。所以在Award TOOL里没有SSV2的选项。)
SSV3: The SLIC is written inside the system module. This makes the compressed system module much bigger. That means a lot of the modules will have their offsets (location in the bios file) shifted to make room for the expanded system. It usually works fine with Asus bioses, but can brick an MSI (w/AMI bios) motherboard. For Award bios to prevent all the modules from shifting we black out the EPA logo which makes it highly compressible. This way all the modules below the EPA logo will still remain at their original offsets. SSV3 works well with most bioses. For Gigabyte Award bios it's usually the best choice.
SSV3:SLIC写在主模块中。这使压缩后的主模块变大。 这就意味着其他的模块要改变位置来给变大的主模块腾出空间。通常用于ASUS的主板。MSI的主板可能会变成砖头。Award BIOS修改的时候为了预防其他模块位置发生变化,我们停止(抛弃)EPA LOGO来增加压缩率。SSV3适用于大多数主板。技嘉的AWARD最适用于这种方法。
Pubkey: Only applies to Award bios. SLIC code is added to the bios as two parts (public key + marker). The only brand it works reliably with is Asus. It is safer than most methods because it doesn't change any existing modules. To flash it you have to use bios built in flash utility (EZ-Flash) because awdflash.exe will say "invalid Windows license". AMI bios has something similar in the form of a Fx module which is covered in the Dynamic option of the AMI Tool.
PUBKEY:只应用于AWARD BIOS。SLIC被分成两个部分(PUBLIC KEY +MARKER)写入BIOS。只适用 于华硕品牌。这种方式要比其他的安全,因为它不修改任何模块。这样修改后的文件必须要用EZ-FLASH刷新,因为AWDFLASH.EXE,会提示:invalid Windows license。AMI TOOL也有类似的选项,包含在DYNAMIC选项里
0+2: For Award. A "nocompress" (uncompressed) module is added to the end of the bios. The system module (module "0") is shrunk by the same amount that acpitbl (usually module "2") increases. This keeps the offsets the same for all the modules under acpitbl. This is a good option for Award bioses that don't have an active SLIC in their acpitbl already. For ones that do it will add a second SLIC and won't activate.
0+2:适用于AWARD。未压缩的模块被添加到BIOS的最后。主模块被称为0模块被收缩ACPITBL(模块2)增加的同样的大小。这保持其余的模块位置不变。这是一个很好的方法,适用于在ACPI里检测不到SLIC的主板。如果有SLIC的主板它会加入第二个SLIC但不会是活动的。
ISA: For Award. An ISA module with a special program is added to the end of the bios. The program replaces the SLIC in RAM with a new one, or adds a SLIC if one isn't present. This is a good choice for bioses that already have an active SLIC. It is also safer than most methods because it doesn't modify any existing modules. It doesn't work with most newer Gigabyte bioses.
ISA:适用 于Award。包含特殊程序的ISA模块被写入到BIOS的最后。这个程序会替换内存里的SLIC。或者如果不存在SLIC的它会添加一个新的SLIC。当BIOS里已经包括一个SLIC的时候,这是一个很好的选择。这个方法也是比较安全的,因为同样他不改变原来模块的位置。对于新的技嘉BIOS不适用 。
Dynamic: Existing SLIC is overwritten with the new SLIC. For a bios with a SLIC that isn't enabled this won't do anything unless the configuration lock can be removed. (Fortunately for Asus AMI bios we can remove the config lock.) For Award bioses, this method is hit and miss. It has worked well sometimes (ex: Asus with lock removed) but on some occasions bricked motherboards (ex: a Shuttle and an EVGA, but there were some other Shuttles that worked)
DYNAMIC(动态法):用新的SLIC替换已经存在的SLIC。对于有伪SLIC的BIOS,除非移除了控制模块,否则这种方法无效。(幸运的是,华硕的AMI BIOS可以移除)。对于AWARD的BIOS这种方式成功的机率很小。
OEM: For Award. SLIC is added as an uncompressed "OEM" module. The OEM module usually takes the location in the bios that the EPA or ACPITBL was using, and the EPA or ACPITBL is then readded at the end. This works well for older Award bioses like Abit. This is an ok option for Award bioses that don't have an enabled SLIC in their acpitbl already. For ones that do it will add a second SLIC and won't activate.
OEM:适用于AWARD。SLIC被做为了一个OEM模块加入到BIOS里。OEM模块通常战用了EPA或者ACPITBL的位置。这两个模块被挪到BIOS的最后。这个方式对升技的老BIOS非常适用。同样对于不包括原生SLIC的主板也是一个选择。如果包含的话它会加入第二个SLIC并且不能激活!
|
|