专利名称:操作系统启动过程中自动安装软件的方法
技术领域:
本发明涉及一种软件的安装方法,特别是指一种在操作系统启动时,通过自动检测,并依据检测的结果在操作系统启动过程中自动安装软件的方法,属于计算机技术领域。
背景技术:
为了让用户能在需要的时候安装驱动程序和/或随机附带的软件,计算机生产厂家通常都会在出售计算机的同时,向用户提供一套软件光盘或软盘,这种做法至少有三个不足一是增加了每台计算机的生产成本;二是光盘或软盘可能会损坏或丢失,用户在需要的时候有时会找不到随机附带的光盘或软盘;三是厂家进行随机软件升级或打补丁的运作难度大。
因此,美国国际商用机器公司(IBM)和美国德尔公司(DELL)的在生产计算机时,就直接把将该计算机的驱动程序和/或随机软件拷贝到硬盘的C盘中,并且通过电子帮助系统对如何安装进行说明。但是,这种做法需要使计算机出厂时预装的操作系统与用户实际需要使用的操作系统一致,而在实际情况中,相当一部分用户希望自己安装其习惯使用的操作系统,而不是厂家预装的操作系统;另外,一旦C盘数据被病毒破坏,驱动程序和/或随机软件也就会丢失。
还有一种解决方法是在计算机的主机保护区域(Host ProtectedArea,HPA)中,预先存储驱动程序和/或随机软件,用户在启动计算机进入常规的操作系统之前,先选择启动一可以对HPA进行读写操作的嵌入式操作系统,将HPA中的驱动程序和/或随机软件拷贝到计算机硬盘的D盘,然后,重启计算机进入常规的操作系统,由用户到所述的D盘中寻找对应的目录,手动安装这些驱动程序和/或随机软件。这种解决方法的实用性不好,对用户的要求较高;一旦用户找不到说明书时,就不知道应该如何进行操作,反而增加了厂家的售后服务工作量和成本。
发明内容
本发明的目的是提供一种操作系统启动过程中自动安装软件的方法,将厂家随机提供的计算机驱动程序和/或随机软件,存储到计算机硬盘的HPA区域,在计算机启动时,自动检测所述的驱动程序和/或随机软件的安装情况,并根据检测的结果自动安装计算机驱动程序和/或随机软件。使得在降低计算机生产成本的同时,方便随机软件的安装,并且使得厂家进行随机软件升级或打补丁的运作难度大大降低,减少计算机厂家售后服务的工作量和成本。
本发明的目的是通过如下的技术方案实现的在计算机硬盘的HPA分区中,安装一嵌入式操作系统,同时,将该计算机附带的驱动程序及随机软件存储在计算机硬盘的HPA分区中;当计算机启动时,检测要启动的操作系统中是否已经安装有希望安装的驱动程序和/或随机软件,同时检测在操作系统的启动组或注册表中是否写入了用于自动安装所述驱动程序和/或随机软件的脚本文件;如果尚未安装所述的驱动程序和/或随机软件,则启动安装在HPA中的嵌入式操作系统,并自动装载该计算机硬盘上的所有分区,把访问HPA的驱动软件拷贝到操作系统所在分区上,并将用于自动安装所述驱动程序和/或随机软件的脚本文件直接写入该操作系统的启动组或注册表中,关闭HPA,重新启动计算机;如果已经安装了所述的驱动程序和/或随机软件,直接启动操作系统;如果所述的脚本文件已经写入到操作系统的启动组或注册表中,启动操作系统前,直接执行启动组中的脚本文件,根据脚本中的指令,安装访问HPA的驱动软件;再自动安装驱动程序和/或随机软件;最后启动操作系统。
采用上述的方法,一方面,厂家提供的随机驱动程序和随机软件,直接存放在计算机的HPA分区之中,无需再采用其他软件载体,使得计算机的生产成本降低,另一方面,通过自动检测操作系统中是否安装有驱动程序和/或随机软件,来进一步确定是否安装相应的驱动程序和/或随机软件,减少了计算机用户的安装操作,提高了计算机的易用性,也进一步降低了计算机生产厂家售后服务的工作量和维修成本。
图1为本发明的第一实施例的流程图;
图2为本发明的第二实施例的流程图。
具体实施例方式
以下结合附图和具体的实施例对本发明作进一步的详细说明实施例1本发明的实例以WINDOWS操作系统为例。在计算机启动时,首先需要判断硬盘上是否已经安装了能启动的操作系统,具体是在BIOS(BasicInput Output System,基本输入输出系统)中增加一段代码,用以在装载硬盘MBR(主引导记录)区域前判断内存中高级配置和电源接口(AdvancedConfiguration and Power Interface,简称ACPI)部分的一个标志,该标志用于记载上次开机进入的操作系统类型;如果发现上次进入的不是Windows操作系统(可能是DOS系统或者没有安装操作系统)的话,则提示用户安装操作系统;否则继续判断将要启动的操作系统中是否已经安装过希望安装的驱动程序和/或随机软件。判断的方法有两种。一种是到操作系统所在分区下寻找是否存在某个特定的目录和文件(例如C\HPA\Setup.log),如果发现该文件存在,则表示该操作系统中已经安装过相应的驱动程序和/或随机软件了,此时,则直接启动操作系统。
第一种方法需要识别操作系统的文件系统,例如FAT16,FAT32,NTFS等,但是,一些文件系统,例如NTFS,属于很复杂的文件系统,因此在BIOS级别直接识别这些文件系统的难度非常大,通常要启动一个嵌入式操作系统,例如Linux,利用该嵌入式操作系统本身提供的文件访问功能来识别上述的文件系统。这种方法对计算机启动速度影响很大。
参见图1,第二种方法是利用计算机CMOS中的保留参数区,通过对其中的某个标志位进行置位和复位操作,表示计算机中是否已经安装有驱动程序和/或随机软件。计算机出厂时将该标志位设置为复位状态,在安装了驱动程序和/或随机软件以后,由驱动程序和/或随机软件的总控安装程序对该标志位进行置位,由驱动程序和/或随机软件的卸载程序对该标志位进行复位,这种方法实现代价很小,但很实用。
如果发现驱动程序和/或随机软件还没有被安装的话,则先启动计算机硬盘上的一个嵌入式操作系统,例如Linux,并自动装载硬盘上的所有分区,把访问HPA的最小驱动拷贝到操作系统所在的分区上,并且将一个脚本文件直接写入操作系统的启动组或注册表中,该脚本文件用于指导操作系统去哪个目录下执行哪个可执行程序文件,把CMOS中的保留参数区的标志位置位,然后关闭HPA,重启计算机。
计算机再次启动时,依然后判断是否已经安装过操作系统,是否已经安装过驱动程序和/或随机软件,根据判断结果直接启动操作系统,然后直接执行启动组中的脚本文件,根据脚本文件中的指令首先安装访问HPA的驱动程序,然后再安装HPA中预定义好的需要自动安装的驱动程序和软件,这样,不需要厂家提供任何单独光盘或软盘介质,不需要用户主动参与,计算机主机本身就具备了自动安装驱动程序和/或随机软件的能力。该脚本文件中最后一步是把自己从启动组或注册表中删除,这样就保证在以后计算机重新启动后不再重复类似的动作。当用户把访问HPA的驱动程序卸载以后,该卸载程序会把CMOS中的保留参数区的标志位复位。
另外,采用上述第二种方法,在计算机启动时,无需对文件系统进行分析,只需要访问计算机的CMOS中设置的参数,就可以简单地判断出计算机中是否安装有相应的驱动程序和/或随机软件,而且,无论计算机硬盘中所具有的的文件系统是FAT32、NTFS、EXT2中的任何一种文件系统,也无论其中安装的操作系统是Windows98、Windows 2000、Windows XP还是Linux。
实施例2参见图2,假设计算机出厂时没有预装操作系统,但是创建了一个HPA分区,该分区中包含一个嵌入式操作系统,该嵌入式操作系统中包含一个HPA访问工具安装模块;一个键盘信号处理模块,已经预定义的功能键为调用HPA访问工具安装模块,一个随机软件安装目录,主板BIOS中有一个按键接收传递模块。
用户自己在C盘安装了Windows XP,重启计算机后按下上述的功能键,BIOS中的按键接收传递模块首先打开HPA,将该按键信号传递给HPA中的键盘信号处理模块,该模块检测到该按键的功能是要安装驱动程序和或随机软件,则在计算机CMOS的一存储位置,例如1DH,写入安装标记,例如0AH,重新启动计算机,重启后BIOS的按键接收传递模块发现计算机CMOS中的标记值为0AH,则启动嵌入式操作系统,嵌入式操作系统根据这个标记,启动HPA访问工具安装模块。
HPA访问工具安装模块首先从分区表中获取当前活动分区为C盘,然后,到C盘根目录下寻找是否有HPA.LOG文件,没有找到,表示Windows系统中还没有安装HPA访问工具,显示用于提示用户安装HPA访问工具的信息。用户确定安装所述的HPA访问工具后,HPA访问工具安装模块就调用嵌入式操作系统访问工具中的文件访问函数,在C盘下创建一个目录,例如C\HPAVist,并且把HPA访问工具的安装文件拷贝到该目录下,然后在“C\Documents and Settings\All Users\「开始」菜单\程序\启动”目录下添加一个快捷方式指向上述的“C\HPAVist”目录,然后重新启动计算机。
计算机经过重新启动并进入Windows后,自动安装HPA访问工具,删除启动组中的快捷方式,在C盘根目录下创建一个HPA.LOG文件,并且该工具根据C\HPAVist下的一个脚本文件Preinstall.txt自动从HPA分区中的随机软件安装目录下安装需要预装的随机软件。
上述的过程就实现了驱动程序或随机软件的安装,并且不需要用户插入光盘这样的存储介质,为计算机厂家节省大量介质的费用;用户只需要按下一个键就可以自动而简便地安装驱动程序或随机软件,提供了一个更加简洁易用的功能。
最后应说明的是以上实施例仅用以说明本发明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或者等同替换;而一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种操作系统启动过程中自动安装软件的方法,在计算机硬盘的HPA分区中,安装有一嵌入式操作系统,同时,将该计算机附带的驱动程序及随机软件存储在计算机硬盘的HPA分区中;其特征在于,所述自动安装包括如下的步骤步骤1计算机启动时,检测要启动的操作系统中是否已经安装有希望安装的驱动程序和/或随机软件,同时检测在操作系统的启动组或注册表中是否写入了用于自动安装所述驱动程序和/或随机软件的脚本文件;步骤2如果尚未安装所述的驱动程序和/或随机软件,则启动安装在HPA中的嵌入式操作系统,并自动装载该计算机硬盘上的所有分区,把访问HPA的驱动软件拷贝到操作系统所在分区上,并将用于自动安装所述驱动程序和/或随机软件的脚本文件直接写入该操作系统的启动组或注册表中,关闭HPA,重新启动计算机,并执行步骤1;步骤3如果已经安装了所述的驱动程序和/或随机软件,则执行步骤5;步骤4如果所述的脚本文件已经写入到操作系统的启动组或注册表中,启动操作系统后,直接执行启动组中的脚本文件,根据脚本中的指令,安装访问HPA的驱动软件;再自动安装驱动程序和/或随机软件;步骤5启动操作系统。
2.根据权利要求1所述的操作系统启动过程中自动安装软件的方法,其特征在于所述的步骤1之前还进一步包括检测所述的计算机中是否安装有操作系统的步骤,如果所述的计算机中没有安装操作系统,则提示用户安装操作系统,并在安装好操作系统后,重新启动机算机,执行步骤1。
3.根据权利要求1所述的操作系统启动过程中自动安装软件的方法,其特征在于所述步骤1中,检测要启动的操作系统中是否安装驱动程序和/或随机软件的步骤是步骤11读取并分析计算机CMOS保留参数区中用于记录是否安装驱动程序和/或随机软件的标志信息;步骤12如果该标志信息表示未安装所述的驱动程序和/或随机软件,则执行步骤2后,将计算机CMOS保留参数区中用于记录是否安装驱动程序和/或随机软件的标志信息设置为已安装状态;否则执行步骤3。
全文摘要
本发明公开了一种操作系统启动过程中自动安装软件的方法,将厂家随机提供的计算机驱动程序和/或随机软件,存储到计算机硬盘的HPA区域,在计算机启动时,自动检测所述的驱动程序和/或随机软件的安装情况,并根据检测的结果自动安装计算机驱动程序和/或随机软件。使得在降低计算机生产成本的同时,可以方便地进行驱动程序和/或随机软件的安装,并且使得厂家进行随机软件升级或打补丁的运作难度大大降低,减少了计算机厂家售后服务的工作量和成本。
文档编号G06F9/445GK1755628SQ20041008116
公开日2006年4月5日 申请日期2004年9月30日 优先权日2004年9月30日
发明者王晚丁, 张宗宏 申请人:联想(北京)有限公司