从生僻到精通 五招玩转Insyde BIOS
afa    《微型计算机》200911月下期    2009-12-17
       
前不久我们曾经在《微型计算机》的《技术广角》栏目中深入讨论了台式机的BIOS技术知识,相信大家已经对AMIAward等台式机上常见的BIOS有了较为深入的了解。不过,在AMIAward抖音怎么赚钱之外,有一种新兴的BIOS形态逐渐得到了越来越多的应用,尤其是在笔记本电脑上较为常见,这就是Insyde BIOS系统。
        Insyde BIOS系统是什么?能够像之前修改AMI BIOS一样对其进行MOD吗?修改Insyde BIOS能得到哪些好处?本文将带大家一起玩转这个新的
BIOS系统。
重要说明
        文中的修改,只是就技术探讨的角度进行,为大家提供动手的参考。修改BIOS存在较大风险,且容易导致笔记本电脑或主板失去保修资格,请谨慎操作。同时本文只限于技术探讨,勿做其它用途,非法使用导致的责任由用户自行承担。
        特别提醒:进行BIOS刷新修改之前,请务必备份系统原有BIOS文件,以便在操作失败之后进行还原。
        BIOS修改的五大好处:
        1.为系统增加额外的功能;
        2.定制个性化的开机界面;
        3.开启BIOS选项中的隐藏选项,比如丰富超频调节选项;
        4.可以通过修改ID信息安装某些特殊的OEM版操作系统或软件;
        5.锻炼动手能力,提高DIY技巧。
        如何修改Insyde BIOS为我所用?即使你搜遍世界各地的网站,回答都是一个:NO,没有任何资料可以参考。Insyde BIOS一直就好像一个谜,无人可以猜透。那么作为DIYer的我们是否也没有办法呢?当然不是!我们要做的,就是要破解这个谜题。为此,笔者特别对Insyde BIOS进行了一番研究并略有心得。不敢藏私,特借《微型计算机》与大家分享。
搜寻—Insyde BIOS的修改工具
        Insyde BIOS是台湾系微公司开发的BIOS系统,在以前多用于嵌入式设备之中。最近
几年,
Insyde BIOS在一些主板和部份笔记本电脑上也有所使用,但目前处于推广前期尚未大规模普及,因此相关修改工具软件在网上几乎没有。这使得很多主板或笔记本电脑用户无法修改BIOS实现其想要的额外附加功能,一时大为郁闷。
        不过,笔者通过研究一些品牌笔记本电脑厂商提供的更新BIOS包,从中提取出了两款好用的官方配套工具软件,在此介绍给大家。
        首先看第一款软件:Insyde Flash(1)

1
        这是Insyde官方的Windows系统刷新工具,新的版本由于含有iscflash.sysiscflashx64.sys两个sys文件,得以同时支持Windows XPWindows Vista下刷新(2)

2
        目前能在网上下载到的Insyde Flash只有单纯的刷新功能,而不具备BIOS备份功能,
的确让人颇为沮丧。不过,经过笔者的一番研究,发现这个工具软件是可以自己进行二次修改,并使其功能更加强大的,其中的玄机后文自会解开。
        再看下一个工具软件Flashit,这是只能在DOS下运行的刷新工具(3)

3
        如图3赵尧珂家境所示,利用Flashit可以将名为al90_114.fdBIOS文件刷入主板。有了这两个工具,我们便可以对Isyde BIOS进行各种DIY了。
改造—Insyde Flash强化使用
        有了工具,自然就有了修改Insyde BIOS的希望。不过正如前面所说,Insyde Flash这个工具功能比较单一,我们需要做的,就是要首先改装这个工具。
        Insyde Flash文件下有一个名为platform.ini的文件,这是程序配置文件,通过修改这个文件,我们就能对工具软件进行一些功能上的强化与改装。
        笔者在此仅列了出对扩展功能有较大影响的设置选项,文件中的其余部份,读者可根据自己需要酌情更改或无须更改。
        [FDFile]
        FileName=
        BackupName=
        “FileName=”代表刷新工具只会导入名字为afa.fdBIOS文件进行刷新。如果不输入,则会导入任意名字的BIOS文件。
        “BackupName=”表示程序在刷新过程中先备份当前系统的BIOS为指定的文件名,如果不输入,则不会备份当前系统的BIOS
        [UpdateBlock]
        PatchFv=0
        FileName=intel.fv
        FileOffset=0
        FlashSize=0
        PhysicalAddress=FFF00000
        FvID=PM45
        IDErrorAction=1
        这是模块升级模式。如果PatchFv=1,则开启该升级模式。如果只想升级BIOS中某些模块,只需要输入模块的偏移量(offset)大小即可。比如将支持Windows Vista激活的SLIC
模块直接刷入当前
BIOS,就是非常有意思的事。此时如果FlashSize=0不进行设置,那么在该刷新模式下,会将待刷新模块的所有内容都刷入BIOS
        [FlashComplete]
        Action=1
        Dialog=0
        Counter=15
        这是刷新完成后的电脑状态配置。Action=1表示完成后关闭系统,Action=2表示重启。Dialog=0表示在刷新时不显示对话框,胡梦媛Dialog=1表示显示对话框,Counter=15则表示显示对话框的时间为
15秒。
        [Logo]
        PatchLogo=0
        FileName=
        GUID=
        这是一个很关键的部分—logo刷新模式设置。如果PatchLogo=0,则表示不开启logo刷新模式,如果PatchLogo=1,则表示Insydeflash工具进入logo刷新模式,这个刷新模式只刷新logo部分。“FileName=”后面输入logo图片的地址,比如C:\logo.pcx。图片格式可以是pcxjpegbmp等,如果格式不对应,程序会自动转换成合适的格式进行刷新。“GUID=”代表是否需要单独刷新小
logo的图片,比如在logo中加入一个CPU厂家的标志等,这个时候就需要添加GUID
        [VARIABLE]
        Flag=0
        SystemManufacturer=0
        BoardManufacturer=0
        SystemProductName=0
        SystemSerialNumber=0
        Uuid=0
        POSTInfo=0
        Version=0
        SLP=0
秦兵马俑资料        Setup=0
        BootPriority=0
        LastBootRecord=0
        AcpiGlobalVariable=0
        SLP2M=0
        SLP2P=0
        这也是很关键的变量配置。Flag=0表示不刷新,1为校验并刷新,2为只校验。如果想刷新下面的部分,首先要设置成Flag=1
        System Manu facturer是系统制作商,Board Manu facturer为主板制造商,System Product
Name为产品名称,SystemSerialNumber系统序列号以及UUID全局唯一识别号,这些都是
OEM信息中非常重要的内容,涉及到保修等一系列售后服务。如果不想更新,都设置为0。如果想单独升级某一个信息,在该信息后面将0改为1。比如要激活OEMWindows XP就是在SystemManufacturer或者BoardManufacturer中加入厂商的代码。如果要设置SLIC激活Windows Vista,就需要使SLP起到作用。在后文我们有详细例子对其说明。
利用上面我们提到的配置信息修改方法,想要更改BIOS中的某一部分就非常简单,可以让
Insydeflash按照我们想要的方式去刷新BIOS
        最后,笔者为大家介绍一个小秘笈强化InsydeFlash的功能,打开隐藏窗口。只需要在
platform.ini文件中加入一段文字即可:
        [Option]
        Flag=1
        这样我们就可以打开程序隐藏的一个窗口(4)。注意看下面,有个option选项,点击之后即可出现原本隐藏的“insyde flash options”,共5圣诞节祝词个部分。

4
        option(5):文件导入和备份,是否清空COMS,是否检查AC适配器和电量,是否检测BIOSID,以及以何种模式刷新。

5
        user interface(6):包括主对话框设置,刷新完成系统设置等内容。

6
        ROM protection list(7):这部分包括了对各模块刷新的具体设置。从这里我们可以看到,
Insydeflash在默认情况下,对受保护的模块是不刷新的,如果需要更新相应的代码,就需要勾选模块前面方块。比如在忘记BIOS密码时,我们要刷新Password密码,就要在该项目前面的方块打上钩,因为我们的新BIOS是没有密码的,这样刷新BIOS后,就等于把密码清除掉了。

7
        logo(8):如果要单独刷新开机logo,只需要将patch logo前的方块勾选,然后选择logo图片的地址,点击patch now即可进入到logo刷新模式单独刷新黄磊资料logo。如果要刷新小logo,比如intel标志。方法相同,但是需要加入GUID

8
        update FV(9):只要将需要升级模块地址导入,然后在filename里输入偏移量offset,在
flashsize里输入模块大小,在physical内输入地址。比如我们可以用这个方法来给BIOS刷入一张完整的SLIC表,以便达到激活OEM操作系统的目的(后文有范例讲解)