程序代码执行方法及系统及固件更新方法技术方案

技术编号:2836269 阅读:249 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种程序代码执行方法,适用于具有主引导记录的处理装置,其中主引导记录指向第一操作系统的第一加载模块,使处理装置可在第一操作系统启动,此执行方法包括下列步骤:在磁盘空间中,建立虚拟磁盘驱动器;储存主引导记录于虚拟磁盘驱动器中,并修改主引导记录,使其指向虚拟磁盘驱动器;第一次重新引导,跳至虚拟磁盘驱动器执行;虚拟磁盘驱动器使处理装置在第二操作系统启动;利用虚拟磁盘驱动器,还原主引导记录,使其指向第一操作系统的加载模块;执行虚拟磁盘驱动器中的至少一段程序代码;以及第二次重新引导,返回第一操作系统。

【技术实现步骤摘要】

本专利技术涉及一种程序代码执行的方法及系统,特别地涉及一种可自动切换并可执行不同操作系统间的程序代码以及固件更新(firmware update)方法。
技术介绍
目前的处理装置如个人计算机中普遍使用视窗(Windows)操作系统作为其引导操作系统。视窗操作系统的视窗界面提供了友善的使用者操作界面,使得使用者可以利用视窗操作系统兼容的程序代码,来执行多项的功能,例如文本编辑、影像处理、媒体播放等等。然而,对于一些不能在目前操作系统执行的程序代码,通常需要使用者手动地切换到与其对应的操作系统下才能执行。举例来说,一般的固件更新如基本输入输出系统(Basic Input-Output System,以下称为BIOS)更新必须在磁盘操作系统(disk operation system,以下称为DOS)下才能完成。因此,使用者必须从Windows操作系统重新引导(reboot,重新开机),切换到DOS下,再放入更新磁盘或光盘,才能执行BIOS更新动作。等到执行完成后,还要再手动重新引导,才能回到原Windows操作系统。这使得使用上非常不方便而且也增加使用上产生错误的机会。因此,需要一个有效的程序代码执行方法,使得使用者可轻易地完成不同操作系统下的程序代码执行动作。
技术实现思路
有鉴于此,本专利技术的目的之一在于提供一种程序代码执行方法及系统,使得使用者可轻易地完成不同操作系统下的程序代码执行动作。基于上述目的,本专利技术提供一种程序代码执行方法,适用于具有主引导记录的处理装置,其中主引导记录指向第一操作系统的第一加载模块,使处理装置可由第一操作系统启动,此方法包括下列步骤建立虚拟磁盘驱动器,其包括第二加载模块、至少一段固件更新程序代码以及备份记录,并且第一加载模块是第二操作系统的第三加载模块;修改主引导记录,使其指向虚拟磁盘驱动器;重新引导;重新依据主引导记录,执行虚拟磁盘驱动器中的第二加载模块,使处理装置在第二操作系统启动;将主引导记录重新指向第一加载模块;执行虚拟磁盘驱动器中的固件更新程序代码;重新引导;以及依据主引导记录,使处理装置在第一操作系统启动。其中,在修改主引导记录使其指向虚拟磁盘驱动器的步骤之前还包括以下步骤存储主引导记录,并在处理装置在第二操作系统启动后,利用储存的主引导记录,将主引导记录重新指向第一加载模块。本专利技术还提供一种程序代码执行系统,适用于具有主引导记录的处理装置,其包括至少一个磁盘,该磁盘包括至少一个第一磁盘位置和一个第二磁盘位置,该程序代码执行系统包括至少一个虚拟磁盘驱动器,其设置于第二磁盘位置,且具有加载模块、至少一段程序代码,以及备份记录。加载模块为第二操作系统加载模块,备份记录则用于储存主引导记录。其中,虚拟磁盘驱动器可使处理装置重新引导至第二操作系统,并且可在虚拟磁盘驱动器执行完成之后,使处理装置在再次重新引导后,返回第一操作系统。本专利技术还提供一种固件更新方法,适用于具有主引导记录的处理装置,其中主引导记录指向第一操作系统的加载模块,使该处理装置可在第一操作系统启动,此固件更新方法包括下列步骤建立虚拟磁盘驱动器,其包括第一加载模块、至少一段固件更新程序代码以及备份记录,其中第一加载模块为第二操作系统的加载模块;储存主引导记录在虚拟磁盘驱动器的备份记录中,并修改主引导记录指向虚拟磁盘驱动器位置;第一次重新引导,跳至虚拟磁盘驱动器执行,并依据虚拟磁盘驱动器的第一加载模块,使处理装置以第二操作系统启动;利用虚拟磁盘驱动器中的备份记录将主引导记录还原,指向第一操作系统的加载模块;执行虚拟磁盘驱动器中的固件更新程序代码;以及利用主引导记录指向的第一操作系统的加载模块,第二次重新启动回到第一操作系统。为使本专利技术的上述和其它目的、特征、和优点能更明显易懂,下文特举出优选实施例,并配合附图,作详细说明如下。附图说明图1示出了现有技术的开机流程的示意图。图2示出了现有技术的主引导记录的示意图。图3A示出了根据本专利技术实施例的处理装置示意图。图3B示出了磁盘空间示意图。图3C示出了根据本专利技术实施例的虚拟磁盘驱动器示意图。图4示出了根据本专利技术实施例的软件执行方法流程。图5示出了根据本专利技术实施例的固件更新方法流程。具体实施例方式图1示出了现有技术的处理装置开机流程示意图100。首先,开机时电源供应器启动(步骤S110)。接着,处理装置中的中央处理器(CPU)开始执行BIOS测试(步骤S120),而后执行开机自我测试(power on self test,POST)(步骤S130)。开机自我测试完成后,BIOS将根据处理装置的设定顺序搜寻各个磁盘,读入主引导记录(master boot record,MBR)(步骤S140)。主引导记录为磁盘中最重要的引导扇区,通常位于磁盘的磁盘空间起始位置。举例来说,主引导记录位于磁盘的第0轨。图2示出了现有技术的主引导记录200的示意图。主引导记录200中包括了一个主引导程序(master boot program)210以及磁盘分割表(partition table)220,主引导程序210中所存放的操作系统加载模块(operation systemloader),是用来告诉处理装置在启动之后要加载哪个操作系统,和到哪里加载。如此当系统顺利通过BIOS之后就会加载主引导记录指定的加载模块(步骤S150)。最后,启动对应上述加载模块的操作系统,完成引导动作(步骤S160)。因此,若要启动不同操作系统,必须加载对应的操作系统加载模块。图3A示出一个根据本专利技术实施例之处理装置300。处理装置300中至少包括中央处理器(CPU)310、内存单元320、磁盘330、总线(bus)340以及BIOS芯片350。处理装置300中的其它单元例如影像控制单元、音效控制单元(未显示在图中)的运作非本专利技术的重点,在此省略。其中,中央处理器(CPU)310、内存单元320、磁盘330以及BIOS芯片350通过总线340彼此耦接在一起。其中,磁盘330可以是硬盘。磁盘330包括具有多个磁盘位置的磁盘空间332。举例来说,上述磁盘位置可表示为磁盘的第几个磁道。图3B示出磁盘空间示意图。如图所示,第0个磁盘位置包括主引导记录M,第X个磁盘位置包括操作系统的加载模块,而第Y个磁盘位置则包括一个虚拟磁盘驱动器。图3C示出根据本专利技术实施例的虚拟磁盘驱动器V的示意图。虚拟磁盘驱动器V中至少包括了操作系统加载模块334、程序代码336以及备份记录338。操作系统加载模块334可使处理装置300在指定的操作系统启动,使处理装置300可切换到不同操作系统下运作。举例来说,操作系统加载模块334可以是DOS或Windows操作系统的加载模块,使处理装置300可分别在DOS或Windows操作系统启动。程序代码336可为BIOS更新程序代码、固件更新程序代码或任何应用程序代码。备份记录338用来备份主引导记录的所有数据,以便将修改的主引导记录还原成原来的设定状态。图4示出根据本专利技术实施例的软件执行方法的流程400。首先,如步骤S410,首先在磁盘位置中建立虚拟磁盘驱动器。此虚拟磁盘驱动器中至少包括了操作系统加载模块、程序代码以及备份记录,如图3C所示。接着,如步骤S420,储存目前主引导记录在此虚拟本文档来自技高网...

【技术保护点】
一种固件更新方法,适用于具有主引导记录的处理装置,其中所述主引导记录指向第一操作系统的第一加载模块,使该处理装置可在该第一操作系统启动,该固件更新方法包括下列步骤:建立虚拟磁盘驱动器,其包括第二加载模块、至少一段固件更新程序代码以及 备份记录,其中该第一加载模块为第二操作系统的第三加载模块;储存该主引导记录在该虚拟磁盘驱动器的所述备份记录中,并修改该主引导记录指向所述虚拟磁盘驱动器位置;重新引导,跳至所述虚拟磁盘驱动器位置执行;根据所述虚拟磁盘驱 动器的所述第二加载模块,使所述处理装置在所述第二操作系统启动;利用所述备份记录将所述主引导记录还原,使其指向所述第一加载模块;执行所述虚拟磁盘驱动器中的所述固件更新程序代码;以及重新引导,根据所述主引导记录指向的所述 第一加载模块,使所述处理装置返回该第一操作系统。

【技术特征摘要】
1.一种固件更新方法,适用于具有主引导记录的处理装置,其中所述主引导记录指向第一操作系统的第一加载模块,使该处理装置可在该第一操作系统启动,该固件更新方法包括下列步骤建立虚拟磁盘驱动器,其包括第二加载模块、至少一段固件更新程序代码以及备份记录,其中该第一加载模块为第二操作系统的第三加载模块;储存该主引导记录在该虚拟磁盘驱动器的所述备份记录中,并修改该主引导记录指向所述虚拟磁盘驱动器位置;重新引导,跳至所述虚拟磁盘驱动器位置执行;根据所述虚拟磁盘驱动器的所述第二加载模块,使所述处理装置在所述第二操作系统启动;利用所述备份记录将所述主引导记录还原,使其指向所述第一加载模块;执行所述虚拟磁盘驱动器中的所述固件更新程序代码;以及重新引导,根据所述主引导记录指向的所述第一加载模块,使所述处理装置返回该第一操作系统。2.根据权利要求1所述的固件更新方法,其中所述第一操作系统与所述第二操作系统为不同位的操作系统。3.根据权利要求2所述的固件更新方法,其中所述第一操作系统为视窗操作系统。4.根据权利要求2所述的固件更新方法,其中所述第二操作系统为DOS。5.根据权利要求1所述的固件更新方法,其中所述固件更新程序代码为基本输入输出系统更新程序代码。6.根据权利要求5所述的固件更新方法,其中该固件更新程序代码为映像档案。7.一种程序代码执行方法,适用于具有主引导记录的处理装置,其中该主引导记录指向第一操作系统的第一加载模块,使所述处理装置可在所述第一操作系统启动,所述程序代码执行方法包括下列步骤建立虚拟磁盘驱动器,其包括第二加载模块、至少一段程序代码以及备份记录,并且所述第二加载模块为第二操作系统的第三加载模块;修改所述主引导记录,使其指向所述虚拟磁盘驱动器;重新引导;重新根据所述主引导记录,执行所述虚拟磁盘驱动器中的所述第二加载...

【专利技术属性】
技术研发人员:林君学
申请(专利权)人:明基电通股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1