CN100435098C - 操作系统启动键代码内嵌处理方法及系统 - Google Patents
操作系统启动键代码内嵌处理方法及系统 Download PDFInfo
- Publication number
- CN100435098C CN100435098C CNB2006100004544A CN200610000454A CN100435098C CN 100435098 C CN100435098 C CN 100435098C CN B2006100004544 A CNB2006100004544 A CN B2006100004544A CN 200610000454 A CN200610000454 A CN 200610000454A CN 100435098 C CN100435098 C CN 100435098C
- Authority
- CN
- China
- Prior art keywords
- key code
- start key
- computer platform
- control unit
- main control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明公开一种操作系统启动键代码内嵌处理方法及系统,搭载至一计算机平台,该计算机平台安装一具有产品启动功能的操作系统,对该计算机平台提供一操作系统启动键代码内嵌处理功能;本发明的处理系统至少包括、启动键代码暂存区预设模块、启动键代码读写指令储放模块、启动键代码工厂设定模块、启动键代码读取模块启动键代码转移模块。本发明的操作系统启动键代码内嵌处理方法及系统让计算机制造厂商仅采用同一种规格设计的BIOS芯片模块,即可对各式具有不同硬件规格的计算机平台,提供一系统预载锁定(SLP)的启动键代码的内嵌处理功能,不必分别针对这些不同硬件规格的计算机平台分别设计多种不同规格的BIOS芯片模块。
Description
技术领域
本发明是关于一种计算机信息技术,特别是关于一种操作系统启动键代码内嵌处理方法及系统,应用在一计算机平台,且该计算机平台是由制造厂商预先安装一具有产品启动功能(Product Activation)的操作系统,对该计算机平台提供一操作系统启动键代码内嵌处理功能,计算机制造厂商可将该操作系统在实际执行时所需的一组启动键代码(activation key)内嵌在该计算机平台,该操作系统在实际执行时可从该计算机平台中读取此启动键代码进行一对比及产品启动程序。
背景技术
目前微软公司开发的各种视窗操作系统,例如Windows XP和Windows Server 2003,均设置有一产品启动功能(Product Activation)。若使用者自行购买及安装微软公司的视窗操作系统,则在操作系统安装完成后,使用者须例如通过国际互联网对安装完成的操作系统进行一产品启动程序,以此在计算机平台上启动该操作系统进行正常运行。若使用者未进行此产品启动程序或同一份操作系统之前已安装在另一台个人计算机上,则该操作系统被禁止启动无法正常运行。此产品启动功能可用以防止同一份操作系统被无限次地安装至多台计算机。
目前计算机制造厂商在制造计算机平台时,通常是将操作系统预先安装在各个计算机平台,并采用微软公司开发的系统预载锁定技术(System Locked Preinstallation,SLP),让这些计算机平台在实际应用时,使用者不必通过国际互联网进行产品启动程序。此SLP系统预载锁定技术是将各个计算机平台专属的一组硬件状态数据,预先转换成一组SLP启动键代码,并将此SLP启动键代码预先以内嵌方式写入BIOS(Basic Input/Output System)存储器中一特定的储存区,例如BIOS中的F区段(F Segment)储存区,操作系统在开机之后可从BIOS中F区段储存区中读取到所需的SLP启动键代码,并将此SLP启动键代码与操作系统搜集到的硬件状态数据作一对比。若对比结果为符合,则操作系统即可启动正常运行。
然而在具体实施上,由于不同计算机制造厂商制造的计算机平台通常各自依据不同的需求及规格具有不同的硬件状态,且又分别各自指定不同的BIOS存储地址储放操作系统启动所需的SLP启动键代码,因此制造厂商便需要分别针对不同硬件规格的计算机平台及不同的SLP启动键代码内嵌方式,分别设计及制造不同规格的BIOS芯片。此作法显然极为不符合成本效益。
发明内容
为克服上述现有技术的缺点,本发明的主要目的在于提供一种操作系统启动键代码内嵌处理方法及系统,它利用同一种BIOS芯片,即可让计算机制造厂商将SLP启动键代码内嵌到各式具有不同硬件规格的计算机平台。
本发明的操作系统启动键代码内嵌处理方法及系统应用在一计算机平台,例如网络服务器,且该计算机平台是由制造厂商预先安装有一具有产品启动功能(Product Activation)的操作系统,例如为MicrosoftWindows XP视窗操作系统,对该计算机平台提供一操作系统启动键代码内嵌处理功能,计算机制造厂商可将该操作系统在实际执行时所需的一组启动键代码(activation key)内嵌至该计算机平台,该操作系统在实际执行时可从该计算机平台中读取此启动键代码而与对该操作系统检测到的计算机平台的硬件状态进行预定运算得到的硬件状态编码字符串进行比对,以在比对符合后执行产品启动程序。
本发明的操作系统启动键代码内嵌处理方法至少包括:在该开机主控单元的设计制造阶段中,在该开机主控单元的储存空间中预设一启动键代码暂存区;并进而在该主机主控单元所属的一存储器中预先储放一组启动键代码读写指令,包括一启动键代码读取指令和一启动键代码写入指令;在该计算机平台的制造阶段中,响应一厂商操控的启动键代码设定事件,执行该启动键代码写入指令,将一组启动键代码写入到该主机主控单元;以及在该计算机平台的客户使用阶段中,响应该计算机平台发出的每一次开机事件,执行该启动键代码读取指令,从该主机主控单元中读取出该启动键代码;并接着将读取到的启动键代码转移到该开机主控单元中的启动键代码暂存区,让该计算机平台的操作系统可从该启动键代码暂存区中读取到该计算机平台中内嵌的启动键代码并与对该操作系统检测到的计算机平台的硬件状态进行预定运算得到的硬件状态编码字符串进行比对。
在实体架构上,本发明的操作系统启动键代码内嵌处理系统至少包括:一启动键代码暂存区预设模块,可在该开机主控单元的储存空间中预设一启动键代码暂存区;一启动键代码读写指令储放模块,可在该主机主控单元所属的一存储器中预先储放一组启动键代码读写指令,包括一启动键代码读取指令和一启动键代码写入指令;一启动键代码工厂设定模块,可在该计算机平台的工厂制造过程中,响应一厂商操控的启动键代码设定事件,执行该启动键代码读写指令储放模块中储放的启动键代码写入指令,将该厂商操控的启动键代码设定事件输入的一组启动键代码写入到该主机主控单元;一启动键代码读取模块,可响应该计算机平台发出的每一次开机事件,执行该启动键代码读写指令储放模块中储放的启动键代码读取指令,从该主机主控单元中读取出该启动键代码工厂设定模块写入在其中的启动键代码;以及一启动键代码转移模块,可将该启动键代码读取模块读取到的启动键代码转移到该开机主控单元中的启动键代码暂存区,该计算机平台的操作系统可从该启动键代码暂存区中读取到该计算机平台中内嵌的启动键代码并与对该操作系统检测到的计算机平台的硬件状态进行预定运算得到的硬件状态编码字符串进行比对。
本发明的操作系统启动键代码内嵌处理方法及系统让计算机制造厂商仅采用同一种规格设计的BIOS芯片模块,即可对各式具有不同硬件规格的计算机平台,提供一系统预载锁定(SLP)的启动键代码的内嵌处理功能,不必分别针对这些不同硬件规格的计算机平台分别设计多种不同规格的BIOS芯片模块。本发明可使计算机平台的设计及制造具有更佳的成本经济效益。
附图说明
图1是本发明的操作系统启动键代码内嵌处理系统搭载至计算机平台的应用方式示意图;
图2是本发明的操作系统启动键代码内嵌处理系统的对象导向组件模型的基本架构示意图。
具体实施方式
实施例
以下配合附图,详细说明本发明的操作系统启动键代码内嵌处理方法及系统的实施例。
图1是本发明的操作系统启动键代码内嵌处理系统(如标号100所指的方块)的应用方式。如图所示,本发明的操作系统启动键代码内嵌处理系统100在实际应用上是搭载至一计算机平台10,例如桌上型个人计算机、笔记本型计算机或网络服务器,且该计算机平台10预先由制造厂商安装有一具有产品启动功能(Product Activation)的操作系统40,例如Microsoft Windows XP或Server 2003视窗操作系统,对该计算机平台10提供一操作系统启动键代码内嵌处理功能,计算机制造厂商可将该操作系统40在实际执行时所需的一组启动键代码(activationkey)内嵌至该计算机平台10,该操作系统40在实际执行时可从该计算机平台10中读取此启动键代码进行一对比及产品启动程序。
在具体实施上,本发明的操作系统启动键代码内嵌处理系统100适用的计算机平台10须至少设置有一开机主控单元20和一主机主控单元30;其中该开机主控单元20例如是一BIOS(Basic Input/OutputSystem)芯片模块,该主机主控单元30则例如是一BMC(BaseboardManagement Controller)服务器管理控制器的芯片模块。
如图2所示,本发明的操作系统启动键代码内嵌处理系统100的对象导向组件模型(object-oriented component model)的基本架构至少包括:(A)一启动键代码暂存区预设模块110;(B)一启动键代码读写指令储放模块120;(C)一启动键代码工厂设定模块130;(D)一启动键代码读取模块140;以及(E)一启动键代码转移模块150。以下分别说明这些模块的个别属性及功能。
启动键代码暂存区预设模块110是BIOS开机主控单元20的储存空间中,预先由BIOS设计制造厂商以人为方式规划出的一预定数目的地址储存区21(例如为2至3个地址储存区,以下称为“SLP启动键代码暂存区”),作为计算机制造厂商所提供的SLP启动键代码在实际操作时的暂存区。
启动键代码读写指令储放模块120可在该BMC主机主控单元30所属的一非挥发性随机存取存储器(Non-Volatile Random AccessMemory,NVRAM)31中设定一储存区,预先储放一组SLP启动键代码读写指令,包括一SLP启动键代码写入指令(例如表示为BMC_OEM_SLP_WRITE)和一SLP启动键代码读取指令(例如表示为BMC_OEM_SLP_READ)。
启动键代码工厂设定模块130可在该计算机平台10的工厂制造过程中,响应一厂商操控的启动键代码设定事件201,从上述启动键代码读写指令储放模块120中取出及执行其中储放的启动键代码写入指令BMC_OEM_SLP_WRITE,计算机制造厂商将该计算机平台10的特定硬件状态对应的一组SLP启动键代码写入到该BMC主机主控单元30。
启动键代码读取模块140可在该计算机平台10完成制造程序而实际启用时,响应该计算机平台10所发出的每一次开机事件202,执行该启动键代码读写指令储放模块120中储放的启动键代码读取指令BMC_OEM_SLP_READ,从该BMC主机主控单元30中读取出上述启动键代码工厂设定模块130写入在其中的SLP启动键代码。
启动键代码转移模块150可将上述启动键代码读取模块140,从该BMC主机主控单元30读取到的SLP启动键代码,转移至BIOS开机主控单元20中的SLP启动键代码暂存区21,即F区段(F Segment)的储存区,该计算机平台10的操作系统40可从该SLP启动键代码暂存区21中读取到所需的SLP启动键代码进行一对比及产品启动程序。
在实际应用上,本发明的操作系统启动键代码内嵌处理方法分为3个阶段:(1)BIOS设计制造阶段;(2)计算机平台制造阶段;以及(3)客户使用阶段。
在BIOS设计制造阶段中,BIOS设计制造者可预先在其设计制造的每一个BIOS开机主控单元20的芯片模块中,预先以人为方式规划出一预定数目的地址的SLP启动键代码暂存区21(例如2至3个地址的储存区),作为一启动键代码暂存区预设模块110,在实际应用时暂存计算机平台10的SLP启动键代码。此外,BMC主机主控单元30中的一非挥发性随机存取存储器(NVRAM)31则预先以人为方式储放一组SLP启动键代码读写指令,它包括一SLP启动键代码写入指令BMC_OEM_SLP_WRITE和一SLP启动键代码读取指令BMC_OEM_SLP_READ。
在计算机平台制造阶段中,计算机制造厂商可在该计算机平台10上利用启动键代码工厂设定模块130,发出一厂商操控的启动键代码设定事件201,响应地将计算机制造厂商针对该计算机平台10特定硬件状态输入的一组对应的SLP启动键代码,启动键代码工厂设定模块130将上述启动键代码读写指令储放模块120中储放的启动键代码写入指令BMC_OEM_SLP_WRITE,写入到该BMC主机主控单元30的芯片模块。
在客户使用阶段,每当客户对该计算机平台10进行开机时(也就是计算机平台10发出一开机事件202时),启动键代码读取模块140响应地执行该启动键代码读写指令储放模块120中储放的启动键代码读取指令BMC_OEM_SLP_READ,从该BMC主机主控单元30中读取出该启动键代码工厂设定模块130写入在其中的SLP启动键代码;并接着启动键代码转移模块150将该SLP启动键代码转移到BIOS开机主控单元20中的SLP启动键代码暂存区21,即F区段(F Segment)的储存区,该计算机平台10的操作系统40可从该SLP启动键代码暂存区21中读取到所需的SLP启动键代码进行一对比及产品启动程序。
操作系统40执行的对比及产品启动程序是首先检测该计算机平台10的硬件状态,据此按照一预定的运算法产生一组对应的硬件状态编码字符串,再接着将此硬件状态编码字符串与该计算机平台10内嵌的SLP启动键代码进行对比;若二者相符,则操作系统40即可启动该计算机平台10上的操作系统40;反之,则该操作系统40即被禁止启动无法正常操作。
总而言之,本发明提供了一种操作系统启动键代码内嵌处理方法及系统,搭载至一计算机平台,对该计算机平台提供一操作系统启动键代码内嵌处理;本发明可让计算机制造厂商仅采用同一种规格设计的BIOS芯片模块,即可对各式具有不同硬件规格的计算机平台提供一系统预载锁定(SLP)启动键代码的内嵌处理,不必分别针对这些不同硬件规格的计算机平台分别设计多种不同规格的BIOS芯片模块。本发明可使计算机平台的设计及制造具有更佳的成本经济效益。
Claims (10)
1.一种操作系统启动键代码内嵌处理方法,应用在一计算机平台,对该计算机平台提供一操作系统启动键代码内嵌处理;其中该计算机平台至少具有一开机主控单元和一主机主控单元,且安装有一具有产品启动功能的操作系统,该操作系统检测该计算机平台的硬件状态,对该硬件状态进行一预定运算得到硬件状态编码字符串,并将该硬件状态编码字符串与该内嵌处理所得到的启动键代码进行比对,以在比对符合后执行该产品启动功能;其特征在于,该操作系统启动键代码内嵌处理方法至少包括:
在该开机主控单元的设计制造阶段中,在该开机主控单元的储存空间中预设一启动键代码暂存区;并进而在该主机主控单元所属的一存储器中预先储放一组启动键代码读写指令,包括一启动键代码读取指令和一启动键代码写入指令;
在该计算机平台的制造阶段中,响应一厂商操控的启动键代码设定事件,执行该启动键代码写入指令,将一组启动键代码写入到该主机主控单元;以及
在该计算机平台的客户使用阶段中,响应该计算机平台发出的每一次开机事件,执行该启动键代码读取指令,从该主机主控单元中读取出该启动键代码;并接着将读取到的启动键代码转移到该开机主控单元中的启动键代码暂存区,让该计算机平台的操作系统可从该启动键代码暂存区中读取到该计算机平台中内嵌的启动键代码并与该硬件状态编码字符串进行比对。
2.如权利要求1所述的操作系统启动键代码内嵌处理方法,其特征在于,该计算机平台的种类包括桌上型个人计算机、笔记本型计算机和网络服务器。
3.如权利要求1所述的操作系统启动键代码内嵌处理方法,其特征在于,该开机主控单元是一BIOS芯片模块。
4.如权利要求1所述的操作系统启动键代码内嵌处理方法,其特征在于,该主机主控单元是一BMC服务器主机主控单元的芯片模块。
5.如权利要求1所述的操作系统启动键代码内嵌处理方法,其特征在于,该操作系统是一视窗操作系统,且该启动键代码是一系统预载锁定式的启动键代码。
6.一种操作系统启动键代码内嵌处理系统,搭载至一计算机平台,对该计算机平台提供一操作系统启动键代码内嵌处理功能;其中该计算机平台至少具有一开机主控单元和一主机主控单元,且安装有一具有产品启动功能的操作系统,该操作系统搜集该计算机平台的硬件状态,对该硬件状态进行一预定运算得到硬件状态编码字符串,并将该硬件状态编码字符串与该内嵌处理所得到的启动键代码进行比对,以在比对符合后执行该产品启动功能;其特征在于,该操作系统启动键代码内嵌处理系统至少包括:
一启动键代码暂存区预设模块,可在该开机主控单元的储存空间中预设一启动键代码暂存区;
一启动键代码读写指令储放模块,可在该主机主控单元所属的一存储器中预先储放一组启动键代码读写指令,包括一启动键代码读取指令和一启动键代码写入指令;
一启动键代码工厂设定模块,可在该计算机平台的工厂制造过程中,响应一厂商操控的启动键代码设定事件,执行该启动键代码读写指令储放模块中储放的启动键代码写入指令,将该厂商操控的启动键代码设定事件输入的一组启动键代码写入到该主机主控单元;
一启动键代码读取模块,可响应该计算机平台发出的每一次开机事件,执行该启动键代码读写指令储放模块中储放的启动键代码读取指令,从该主机主控单元中读取出该启动键代码工厂设定模块写入在其中的启动键代码;以及
一启动键代码转移模块,可将该启动键代码读取模块读取到的启动键代码转移到该开机主控单元中的启动键代码暂存区,该计算机平台的操作系统可从该启动键代码暂存区中读取到该计算机平台中内嵌的启动键代码并与该硬件状态编码字符串进行比对。
7.如权利要求6所述的操作系统启动键代码内嵌处理系统,其特征在于,该计算机平台的种类包括桌上型个人计算机、笔记本型计算机和网络服务器。
8.如权利要求6所述的操作系统启动键代码内嵌处理系统,其特征在于,该开机主控单元为一BIOS芯片模块。
9.如权利要求6所述的操作系统启动键代码内嵌处理系统,其特征在于,该主机主控单元为一BMC服务器主机主控单元的芯片模块。
10.如权利要求6所述的操作系统启动键代码内嵌处理系统,其特征在于,该操作系统为一视窗操作系统,且该启动键代码为一系统预载锁定式的启动键代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100004544A CN100435098C (zh) | 2006-01-05 | 2006-01-05 | 操作系统启动键代码内嵌处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100004544A CN100435098C (zh) | 2006-01-05 | 2006-01-05 | 操作系统启动键代码内嵌处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1996243A CN1996243A (zh) | 2007-07-11 |
CN100435098C true CN100435098C (zh) | 2008-11-19 |
Family
ID=38251343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100004544A Expired - Fee Related CN100435098C (zh) | 2006-01-05 | 2006-01-05 | 操作系统启动键代码内嵌处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100435098C (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020144116A1 (en) * | 2000-12-27 | 2002-10-03 | Giobbi John J. | Digital rights management |
US20030135727A1 (en) * | 2002-01-15 | 2003-07-17 | International Business Machines Corporation | Computer system with selectively available immutable boot block code |
CN1508697A (zh) * | 2002-12-16 | 2004-06-30 | 联想(北京)有限公司 | 在硬盘上实现保护计算机操作系统的方法及其装置 |
CN1510584A (zh) * | 2002-12-24 | 2004-07-07 | 英业达股份有限公司 | 生产线上远程激活计算机的方法 |
US20050102664A1 (en) * | 1998-03-02 | 2005-05-12 | Eyres Kevin W. | Installing software in a system |
JP2005196271A (ja) * | 2003-12-26 | 2005-07-21 | Ntt Docomo Inc | 通信端末およびプログラム |
-
2006
- 2006-01-05 CN CNB2006100004544A patent/CN100435098C/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050102664A1 (en) * | 1998-03-02 | 2005-05-12 | Eyres Kevin W. | Installing software in a system |
US20020144116A1 (en) * | 2000-12-27 | 2002-10-03 | Giobbi John J. | Digital rights management |
US20030135727A1 (en) * | 2002-01-15 | 2003-07-17 | International Business Machines Corporation | Computer system with selectively available immutable boot block code |
CN1508697A (zh) * | 2002-12-16 | 2004-06-30 | 联想(北京)有限公司 | 在硬盘上实现保护计算机操作系统的方法及其装置 |
CN1510584A (zh) * | 2002-12-24 | 2004-07-07 | 英业达股份有限公司 | 生产线上远程激活计算机的方法 |
JP2005196271A (ja) * | 2003-12-26 | 2005-07-21 | Ntt Docomo Inc | 通信端末およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN1996243A (zh) | 2007-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100377085C (zh) | 嵌入式操作系统硬件镜像启动优化的实现方法 | |
TWI494762B (zh) | 用於管理快取資料及元資料的方法、電腦儲存媒體與電腦 | |
US6732280B1 (en) | Computer system performing machine specific tasks before going to a low power state | |
US6658562B1 (en) | Method, system, and program for customizing a basic input/output system (“BIOS”) configuration according to the type of user | |
US8510542B2 (en) | Flash memory device having memory partitions and including an embedded general purpose operating system for booting a computing device | |
US8582448B2 (en) | Method and apparatus for power throttling of highspeed multi-lane serial links | |
US20070150713A1 (en) | Methods and arrangements to dynamically modify the number of active processors in a multi-node system | |
CN102200916B (zh) | 电子设备、可配置的部件及该部件的配置信息存储方法 | |
CN1200341C (zh) | 嵌入式系统中固件程序在线升级的实现方法 | |
CN101356501A (zh) | 用于快速启动操作系统的方法和装置 | |
CN106155657A (zh) | Uefi 固件的方法及其计算机系统 | |
CN103365696A (zh) | Bios镜像文件获取方法及装置 | |
WO2007005562A2 (en) | Shared file system management between independent operating systems | |
US7127603B2 (en) | System and method for manufacture of information handling systems with selective option ROM executions | |
CN102096597A (zh) | 使用管理引擎的虚拟总线设备 | |
CN109426527B (zh) | 在uefi固件及作业系统间分享蓝牙数据的电脑系统及其方法 | |
CN107766084A (zh) | 启动装载及安装方法及其计算系统 | |
US10698696B2 (en) | Chipset fuse programming system | |
US20060294356A1 (en) | Apparatus and method of an executable-in-place flash device | |
US9652416B2 (en) | Storage device for performing in-storage computing operations, method of operation the same, and system including the same | |
CN104484289A (zh) | 一种基于扇区的嵌入式系统写保护的装置以及方法 | |
CN101484878A (zh) | 为基于efi的固件中的预efi初始化模块使用全局变量的方法 | |
US7447892B2 (en) | Operating system activation key embedding handling method and system | |
EP3028141B1 (en) | Generating a second code from a first code | |
CN112035171B (zh) | 基于uefi固件的恢复出厂设置方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081119 Termination date: 20120105 |