CN100435098C - 操作系统启动键代码内嵌处理方法及系统 - Google Patents

操作系统启动键代码内嵌处理方法及系统 Download PDF

Info

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
Application number
CNB2006100004544A
Other languages
English (en)
Other versions
CN1996243A (zh
Inventor
施温信
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Corp
Original Assignee
Inventec Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to CNB2006100004544A priority Critical patent/CN100435098C/zh
Publication of CN1996243A publication Critical patent/CN1996243A/zh
Application granted granted Critical
Publication of CN100435098C publication Critical patent/CN100435098C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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所述的操作系统启动键代码内嵌处理系统,其特征在于,该操作系统为一视窗操作系统,且该启动键代码为一系统预载锁定式的启动键代码。
CNB2006100004544A 2006-01-05 2006-01-05 操作系统启动键代码内嵌处理方法及系统 Expired - Fee Related CN100435098C (zh)

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)

* Cited by examiner, † Cited by third party
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 通信端末およびプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
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