CN100437486C - 远程引导方法和机构 - Google Patents
远程引导方法和机构 Download PDFInfo
- Publication number
- CN100437486C CN100437486C CNB2005100939415A CN200510093941A CN100437486C CN 100437486 C CN100437486 C CN 100437486C CN B2005100939415 A CNB2005100939415 A CN B2005100939415A CN 200510093941 A CN200510093941 A CN 200510093941A CN 100437486 C CN100437486 C CN 100437486C
- Authority
- CN
- China
- Prior art keywords
- variable
- remote boot
- boot
- bootnext
- nvram
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了远程引导方法和机构。该远程引导方法将操作系统的镜像从与计算机系统相连的文件装置载入该计算机系统的主存储器,并启动该操作系统,并且从监测整个计算机系统的系统监测机构远程指定引导目标的镜像。
Description
技术领域
本发明一般地涉及远程引导方法与机构以及计算机可读存储介质,并且更具体地涉及一种用于在计算机系统中执行所谓的引导处理的远程引导方法与机构,该引导处理将操作系统的镜像从与该计算机系统相连的文件装置载入计算机系统的主存储器并启动该操作系统,还涉及一种存储有用于使计算机执行这种引导处理的程序的计算机可读存储介质。
背景技术
在计算机系统中,通过计算机的引导固件来控制引导处理,该引导处理将操作系统的镜像从文件装置载入主存储器并启动该操作系统。
图1是示出传统的计算机系统的重要部分的图。在图1中,计算机系统1包括主体部分11和监测整个计算机系统1的系统监测机构12。多个硬盘驱动器(HDD)2-1、2-2、2-3、…,光盘只读存储器或数字通用磁盘只读存储器(CDROM/DVDROM)驱动器3,以及网络装置4,作为文件装置与计算机系统1相连接。主体部分11包括ROM固件21,只读存储器(ROM)或闪存(FMEM)22,非易失性随机存取存储器(NVRAM)23和主存储器24。此外,主存储器24包括引导固件241,操作系统(OS)加载器程序(以下简称为OS加载器)242以及OS 243。
将ROM固件21写入ROM或FMEM中,并且当接通计算机系统1的电源时启动该ROM固件21,由此执行计算机系统1内的硬件分析和初始化处理。此后,将被压缩并存储在计算机系统1内的ROM或FMEM 22中的引导固件的镜像放到主存储器24中,并且将控制移交给引导固件241。引导固件241包括用于控制被计算机系统1支持的引导目标装置(文件装置)的驱动器程序(以下简称为驱动器),并且根据预设引导信息,通过从与计算机系统1相连的多个引导目标装置中选择将实际被引导的目标装置,来执行引导处理。通常,引导固件241引导用于引导目标操作系统243的OS加载器242。引导固件241不需要能够分析操作系统243的文件系统。由于对应于操作系统243的OS加载器242可以分析操作系统243的文件系统,因此引导固件241可以识别出OS加载器242在引导目标装置中的位置,并且如果可以引导该OS加载器242,那么其后可以通过此OS加载器242来引导操作系统243。在图1所示的计算机系统1中,将引导信息存储在NVRAM 23中。根据存储在NVRAM 23中的引导信息,从与计算机系统1相连的多个引导目标装置中确定当启动计算机系统1时将被自动引导的引导目标装置。存储在NVRAM 23中的引导信息包括BootXXXX变量和BootOrder变量,其中“XXXX”代表从“0000”至“FFFF”的十六进制的数。BootXXXX变量包括设备路径信息,该信息表明引导目标装置与计算机系统1相连的位置,还包括与OS加载器242的文件位置和文件名有关的信息。BootOrder变量指定由多个BootXXXX变量表示的引导目标装置将被引导的顺序。当将控制移交给引导固件241时,引导固件241为进行引导初始化各种驱动器,并且对与计算机系统1相连的HDD 2-1、2-2、2-3、…执行探测处理。其后,根据NVRAM变量的BootOrder变量来指定BootXXXX变量的“XXXX”部分的值,并且引导由该BootXXXX变量指定的引导目标装置和OS加载器242。
相应地,通过引导固件241实现以下功能f1)至f3)。
f1)使用其中的驱动器以控制引导目标装置(诸如HDD 2-1、2-2、2-3、…,CDROM/DVDROM驱动器3和网络装置4),并且引导存储在引导目标装置中的OS加载器242的功能;
f2)在NVRAM 23中存储引导信息(例如引导目标装置的设备路径信息和目标OS的镜像的信息)的功能;
f3)读取存储在NVRAM 23中的引导信息并且基于引导优先顺序来选择引导目标装置的功能。
根据上述功能f1)至f3),可以将通过引导固件241的进行的OS 243的引导处理视为如下功能:基于预设在NVRAM 23中的引导信息来确定引导目标装置并引导OS加载器242。但是此外,通过引导固件241进行的OS 243的引导处理包括所谓的远程引导功能,该功能基于从系统监测机构12接收的信息,仅仅针对下一个引导处理,从不同于在NVRAM 23中预设的引导信息的引导装置临时执行引导处理。
图2是用于说明引导固件241用以获取引导信息的路径的图。在通常的引导处理中,从由引导固件241管理的NVRAM 23中获取引导信息。在系统监测机构12中也存在引导信息的情况下,根据来自系统监测机构12的引导信息来确定引导目标装置,而不考虑来自NVRAM 23的引导信息。系统监测机构12中的引导信息可以通过由运行在计算机系统1中的OS所控制的应用程序244来指定,或者可以通过经由网络30与系统监测机构12相连的外部计算机系统31来指定。
例如,日本特开平5-35489号公报提出以下方法:通过确定初始程序加载控制逻辑的产生源来将初始程序载入与局域网LAN等相连的计算机工作站中。此外,日本特开平6-259351号公报提出以下方法:当在信息处理装置中出现失败时,自动启动辅助系统。
在上述计算机系统1中,有可能在不考虑在由引导固件241管理的NVRAM 23中设置的引导信息的情况下,经由系统监测机构12,通过远程控制来从应用程序244或者外部计算机31指定临时引导。然而,尽管引导固件241可以通过在NVRAM 23中设置具体的引导信息来根据系统结构灵活地设置引导信息,但是存在如下问题,即:由于当经由系统监测机构12指定引导目标设备时不能参考在NVRAM 23中灵活设置的信息,所以只能从特定的HDD、CDROM/DVDROM驱动器和网络装置来指定引导。换言之,当在NVRAM 23中存储引导信息时,因为可以将引导目标装置的设备路径信息自由地设置为引导信息,并且可根据系统结构灵活地定义引导路径,所以甚至一个通过并不作为目标计算机系统1的板上(on-board)接口而提供的接口连接的装置也可以被自由设置。然而,该引导路径不能以这种方式经由系统监测机构12而自由地指定。
发明内容
因此,本发明的总体目的是提供其中消除了上述问题的新颖且有用的远程引导方法和机构,以及计算机可读存储介质。
本发明的另一个更具体的目的是提供一种远程引导方法、远程引导机构以及计算机可读存储介质,其能够从管理整个计算机系统的系统管理机构远程地指定作为引导目标的操作系统(OS)的镜像。
本发明的又一个目的是提供一种远程引导方法,该方法包括以下步骤:将操作系统的镜像从与计算机系统相连的文件装置载入该计算机系统的主存储器,并启动该操作系统,其特征在于包括从监测整个计算机系统的系统监测机构远程指定作为引导目标的文件装置的步骤以及根据由引导固件管理的包括NVRAM变量在内的所述文件装置的引导信息和由所述系统监测机构管理的远程引导控制变量指定的文件装置的引导信息,来引导作为引导目标的所述文件装置的步骤。按照本发明的远程引导方法,有可能从管理整个计算机系统的系统管理机构远程指定作为引导目标的操作系统的镜像。
本发明的又一个目的是提供一种远程引导机构,该机构将操作系统的镜像从与计算机系统相连的文件装置载入该计算机系统的主存储器,并启动该操作系统,其特征在于包括:装置,该装置用于从监测整个计算机系统的系统监测机构来远程指定作为引导目标的文件装置;和装置,该装置用于根据由引导固件管理的包括NVRAM变量在内的所述文件装置的引导信息和由所述系统监测机构管理的远程引导控制变量指定的文件装置的引导信息,来引导作为引导目标的所述文件装置。按照本发明的远程引导机构,有可能从管理整个计算机系统的系统管理机构来远程指定作为引导目标的操作系统的镜像。
通过结合附图阅读下面的详细说明,将使本发明的其他目的和特征变得明了。
附图说明
图1是示出传统计算机系统的重要部分的图;
图2是用于说明引导固件获取引导信息的路径的图;
图3示出了应用了本发明实施例的计算机系统;
图4是示出本发明实施例的重要部分的系统框图;
图5是用于说明本发明实施例的操作的流程图。
具体实施方式
通过参照图3至5对根据本发明的远程引导方法、远程引导机构和计算机可读存储介质的实施例进行说明。
根据本发明的远程引导方法、远程引导机构和计算机可读存储介质,当在多个文件装置中存在作为引导目标的操作系统(OS)的镜像并且执行控制以引导这些引导目标镜像中的一个时,从管理整个计算机系统的系统管理机构来远程指定这一引导目标镜像。
计算机可读存储介质存储这样的程序,该程序用于使计算机执行这种远程引导方法和/或使计算机用作为这种远程引导机构,并且可以将该程序存储在能够以计算机可读取的方式存储该程序的任何合适的记录介质中。
图3是示出应用了本发明的实施例的计算机系统。在图3中,以相同的标号来表示那些与图1中的对应部分相同的部分,并且省略对其的说明。在图3中,计算机系统1包括主体部分11和监测整个计算机系统1的系统监测机构42。将多个硬盘驱动器2-1、2-2、2-3、…,CDROM/DVDROM驱动器3,以及网络装置4与计算机系统1相连,作为文件装置。主体部分11包括ROM固件21,只读存储器(ROM)或闪存(FMEM)22,非易失性随机存取存储器(NVRAM)23和主存储器24。此外,主存储器24包括引导固件241,操作系统(OS)加载器程序(以下简称为OS加载器)242以及操作系统243。
将ROM固件21写入ROM或FMEM中,并且当接通计算机系统1的电源时启动该ROM固件21,由此执行计算机系统1内的硬件分析和初始化处理。此后,将被压缩并存储在计算机系统1内的ROM或FMEM 22中的引导固件的镜像置入主存储器24中,并且将控制移交给引导固件241。引导固件241包括用于控制由计算机系统支持的引导目标装置(文件装置)的驱动器程序(以下简称为驱动器),并且根据预设引导信息,通过从与计算机系统1相连的多个引导目标装置中选择将实际被引导的目标装置,来执行引导处理。通常,引导固件241引导用于引导目标操作系统243的OS加载器242。引导固件241不需要能够分析操作系统243的文件系统。由于对应于操作系统243的OS加载器242能够分析操作系统243的文件系统,因此引导固件241可以识别出OS加载器242在引导目标装置中的位置,并且如果可以启动该OS加载器242,则此后可以通过此OS加载器242来引导操作系统243。
在图3所示的计算机系统1中,将引导信息存储在NVRAM 23中。根据存储在NVRAM 23中的引导信息,从多个与计算机系统1相连的多个引导目标装置中确定当启动计算机系统1时将被自动引导的引导目标装置。存储在NVRAM 23中的引导信息包括BootXXXX变量、BootOrder变量以及BootNext变量,其中“XXXX”表示从“0000”至“FFFF”的十六进制的数。BootXXXX变量包括:表明将引导目标装置与计算机系统1相连的位置的设备路径信息,以及与OS加载器242的文件位置和文件名有关的信息。BootOrder变量指定由多个BootXXXX变量表示的引导目标装置将被引导的顺序。BootNext变量通常不存在。但是当该BootNext变量存在时,引导由设置在BootNext变量中的数表示的BootXXXX变量所指定的引导目标装置,而不考虑BootOrder变量。当将控制移交给引导固件241时,引导固件241为进行引导初始化各种驱动器,并且针对与计算机系统1相连的HDD 2-1、2-2、2-3、…执行探测处理。此后,根据NVRAM变量的BootOrder变量来指定BootXXXX变量的“XXXX”部分的值,并且引导由BootXXXX变量指定的引导目标装置和OS加载器242。
相应地,通过引导固件241实现以下功能f11)至f13)。
f11)使用其中的驱动器以控制引导目标装置(诸如HDD 2-1、2-2、2-3、…,CDROM/DVDROM驱动器3和网络装置4),并且引导存储在引导目标装置中的OS加载器242的功能;
f12)将引导信息(诸如引导目标装置的设备路径信息和目标OS的镜像的信息)存储在NVRAM 23中的功能;以及
f13)读取存储在NVRAM 23中的引导信息并且基于引导优先顺序来选择引导目标装置的功能。
根据上述功能f11)至f13),可以将通过引导固件241进行的OS 243的引导处理视为基于预设在NVRAM 23中的引导信息来确定引导目标装置并引导OS加载器242的功能。但是此外,通过引导固件241的OS 243的引导处理包括所谓的远程引导功能,即:基于从系统监测机构42接收的信息,仅仅针对下一个引导处理,从与预设在NVRAM 23中的引导信息不同的引导装置来临时执行引导处理。
图4是示出本发明的这一实施例的重要部分的系统框图。如图4中所示,主存储器24包括引导固件241和OS安装程序245。引导固件241包括:远程引导控制模块501(其包括NVRAM变量闪存模块500)、引导管理器502、引导维护工具503和NVRAM变量301。系统监测机构42包括系统监测机构远程引导管理器601、监测程序602、网络接口603和系统监测机构远程引导控制变量302。
系统监测机构42的监测程序602与计算机系统1内的主体部分11的至少一个部件10相连。例如,部件10对应于显示部件的输出功能。可以将通过监测程序602监测的信息输出给该部件10。网络接口603可以经由网络30与其他计算机系统31相连。系统监测机构远程引导管理器601通过使用系统监测机构远程引导控制变量302来指定(或指示)远程引导,并且还响应于从部件10或其他计算机系统31接收的请求或指令来管理远程引导。
引导固件241的远程引导控制模块501控制从系统监测机构42指定的(或指示的)远程引导,并且当更新了NVRAM变量301时,NVRAM变量闪存模块500将NVRAM变量301复制到系统监测机构42内的系统监测机构远程引导控制变量302。引导管理器502通过引导固件241管理该引导(包括远程引导)。引导维护工具503执行包括更新NVRAM变量301的引导维护处理。OS安装程序245将OS的镜像安装到HDD 2-1、2-2、2-3、…等,并更新NVRAM变量301。
在本实施例中,不仅在由引导固件241管理的NVRAM变量301中包括BootXXXX变量、BootOrder变量和BootNext变量,而且由系统监测机构42管理的系统监测机构远程引导控制变量302中也包括BootXXXX变量、BootOrder变量和BootNext变量,从而也可以通过从系统检测机构(或远程监测机构)42指定的远程引导来指定由引导固件241管理的引导目标装置。进行下列控制c 1)至c7),以保持存储在NVRAM 23中的引导信息和存储在系统监测机构42中的引导信息的一致性。
c1)使BootXXXX变量仅在NVRAM变量301处通过引导维护工具503或者OS安装程序245可修改,而在系统监测机构远程引导控制变量302处不可修改。
c2)远程引导控制模块501确认当引导固件241启动时,NVRAM变量301的所有BootXXXX变量与系统监测机构远程引导控制变量302的所有BootXXXX变量是否完全匹配,并且仅在BootXXXX变量完全匹配时,使能进行依赖于所指定的远程引导的引导。如果BootXXXX变量不完全匹配,则即使由系统监测机构42的系统监测机构远程引导管理器601指定了远程引导,远程引导控制模块501也使所指定的远程引导无效,并将错误信息通知系统监测机构42(该错误信息指出由于引导信息已被修改所以所指定的远程引导已被无效),并且执行借助于引导固件241的通常的引导处理。
c3)使BootOrder变量在NVRAM变量301处和系统监测机构远程引导控制变量302处都可修改。当从系统监测机构42指定了远程引导并且远程引导控制模块501确认了BootXXXX变量的一致性被维持时,将系统监测机构远程引导控制变量302的BootOrder变量和BootNext变量复制到NVRAM变量301。此外,对于BootNext变量,在确定了引导目标装置的BootXXXX变量之后,如果在NVRAM变量301中存在BootNext变量,则删除该BootNext变量,无论在系统监测机构远程引导控制变量302中是否存在BootNext变量(图5中所示的步骤S11,稍后将说明)。因此,在这种情况下,在指定远程引导的时候BootOrder变量变成有效,并且有可能从系统监测机构42(即,系统监测机构远程引导管理器601)通过引导管理器502修改引导的优先顺序。
c4)在NVRAM变量301处和系统监测机构远程引导控制变量302处都可以产生BootNext变量。当从系统监测机构42指定了远程引导并且远程引导控制模块501确认了BootXXXX变量的一致性被维持时,将系统监测机构远程引导控制变量302的BootOrder变量和BootNext变量复制到NVRAM变量301。此外,对于BootNext变量,如果在NVRAM变量301中存在BootNext变量则删除该BootNext变量,无论在系统监测机构远程引导控制变量302中是否存在BootNext变量。因此,在这种情况下,在指定远程引导时BootNext变量变成有效,并且有可能从系统监测机构42(即,系统监测机构远程引导管理器601)临时指定引导目标装置。
c5)在从系统监测机构42指定和不指定远程引导的两种情况下,类似于传统的控制,引导固件241都根据NVRAM变量301的BootXXXX变量、BootOrder变量和BootNext变量来执行引导处理。当指定了远程引导并且BootXXXX变量的一致性被维持时,BootOrder变量和BootNext变量被远程引导指定的那些变量所取代,并且依赖于所指定的远程引导来执行引导处理。
c6)通常,当指定远程引导时,往往只设定BootNext变量。由此,可以临时指定下一个引导处理的引导目标装置,无需修改由引导固件241管理的NVRAM变量301的引导信息。
c7)当确定了引导目标装置时,如果在NVRAM变量301中存在BootNext变量,则引导固件241删除该BootNext变量。在作为内存变量BootCurrent变量中设定表示所确定的引导目标装置的BootXXXX变量的数,并且将该BootCurrent变量通知系统监测机构42。BootCurrent变量由引导固件241管理,但它不是一个NVRAM变量301,因此当切断计算机系统1的电源时该BootCurrent变量丢失。
图5是用于说明本发明的该实施例的操作的流程图。通过引导固件241的远程引导控制模块501执行图5中所示的处理。在图5中,当在步骤S1中启动远程引导控制模块501的处理时,步骤S2从系统监测机构42读取系统监测机构远程引导控制变量302。步骤S3从NVRAM 23中读取NVRAM变量301。步骤S4判断该NVRAM变量301的引导变量(BootXXXX变量、BootOrder变量和BootNext变量)是否已被更新。如果步骤S4中的判断结果为否,则步骤S5判断是否从系统监测机构42指定了远程引导。
如果步骤S5中的判断结果为是,则步骤S6删除BootNext变量(如果该BootNext变量包含在NVRAM变量301中)。步骤S7将包含在系统监测机构远程引导控制变量302中的BootOrder变量和BootNext变量复制到NVRAM变量301。步骤S8基于NVRAM变量301的BootXXXX变量、BootOrder变量和BootNext变量来确定引导目标装置的BootXXXX变量。如果步骤S5中的判断结果为否,则处理进入步骤S8。
在步骤S5中,当通过OS安装程序245安装OS 243或者通过引导维护工具503执行引导维护,并且在NVRAM变量301的引导变量被更新的状态下未执行重新引导并指定远程引导时,在这种情况下远程引导无效,并且步骤S5中的判断结果变为否。
另一方面,如果步骤S4中的判断结果为是,则步骤S9通过闪存处理将NVRAM变量301复制到系统监测机构42内的系统监测机构远程引导控制变量302,并且处理进入步骤S8。
在步骤S8之后,步骤S10将BootCurrent变量告知系统监测机构42。步骤S11删除BootNext变量(如果该BootNext变量包含在NVRAM变量301中)。步骤S12引导由在步骤S8中确定的BootXXXX变量指定的OS加载器242,并且在步骤S 13中处理结束。
在上述实施例中,当BootXXXX变量、BootOrder变量和BootNext变量作为NVRAM变量301存在,并且指定了远程引导时,将系统监测机构远程引导控制变量302的BootOrder变量和BootNext变量复制到NVRAM变量301,从而在随后的处理中,根据NVRAM变量301的BootXXXX变量、BootOrder变量和BootNext变量确定BootXXXX变量,而无需了解从系统监测机构42指定的远程引导。但是替代地,可以通过远程引导控制模块501执行控制,如以下各个实施例中所述。
在第一种改进中,当指定远程引导时,只有当系统监测机构远程引导控制变量302的BootOrder变量与NVRAM变量301的BootOrder变量不同时,才将该系统监测机构远程引导控制变量302的BootOrder变量复制到NVRAM变量301。关于BootNext变量,新生成BootNextMemory变量,作为内存变量,而不是NVRAM变量301,如果在系统监测机构远程引导控制变量302中存在BootNext变量,则将系统监测机构远程引导控制变量302的BootNext变量的值复制到BootNextMemory变量。
在其后执行的引导处理中,检查BootNextMemory变量的存在,并且如果该BootNextMemory变量存在,则将通过在BootNextMemory变量中设定的值指定的NVRAM变量301的BootXXXX变量视为引导目标装置的BootXXXX变量。在将NVRAM 301存储在具有有限更新次数的存储装置中的情况下(诸如闪存),必须最小化关于NVRAM变量301的不必要的更新处理。根据该第一改进,如果仅由于BootNext变量引起使用系统监测机构远程引导控制参数302指定的引导,那么使用计算机系统1的主存储器24作为存储装置来生成BootNextMemory变量就足够,而不是系统监测机构远程引导控制变量302的BootNext变量,从而可以减少关于NVRAM变量301的更新。
在第二种改进中,所指定的远程引导仅限于下一次引导时的处理,以便保证减小关于NVRAM变量301的不必要的更新处理。在这种情况下,系统监测机构远程引导控制变量302无需包括BootOrder变量,而只需包括BootNext变量。与上述第一种改进的情况相同,新生成BootNextMemory变量作为内存变量,而不是NVRAM变量301,如果在系统监测机构远程引导控制变量302中存在BootNext变量,则将系统监测机构远程引导控制变量302的BootNext变量的值复制到BootNextMemory变量。然后,在其后执行的引导处理中,检查BootNextMemory变量的存在,并且如果BootNextMemory变量存在,则将通过在BootNextMemory变量中设定的值指定的NVRAM变量301的BootXXXX变量视为引导目标装置的BootXXXX变量。由于仅使用BootNext变量来指定远程引导,因此当通过本改进的处理来指定远程引导时,可以减少关于NVRAM变量301的更新。
在上述实施例中,BootXXXX变量在NVRAM变量301处是可修改的,并且仅当确定了NVRAM变量301的BootXXXX变量与系统监测机构远程控制变量302的BootXXXX变量的一致性时,所指定的远程引导有效。但是根据第三种改进,在仅使用BootNext变量指定远程引导的计算机系统1中,对于特定的引导目标装置固定设置特定的BootXXXX变量的值。因此,当BootNext变量指定了以这种方式在计算机系统1中固定设置的BootXXXX变量时,该第三种改进使在远程引导中指定的BootNext变量有效,而不管BootXXXX变量的一致性是否被维持。
在第四种改进中,在远程引导中可通过BootNext变量指定的BootXXXX变量限于在计算机系统1中固定设置的BootNext变量,从而无需检查或确定NVRAM变量301的BootXXXX变量与系统监测机构远程控制变量302的BootXXXX变量的一致性。在这种情况下,尽管难以灵活地处理NVRAM变量301中的BootXXXX变量的修改,但是可以根据环境有效地减少处理时间,例如在与计算机系统1相连的引导目标装置在某种程度上受限的环境下。
因此,本发明适合应用于执行所谓的引导处理的计算机系统,在该计算机系统中将操作系统的镜像从与计算机系统相连的文件装置载入计算机系统的主存储器中,并且启动操作系统。
此外,本发明并不限于这些实施例,而可以在不脱离本发明的范围内进行各种变型和修改。
Claims (18)
1.一种远程引导方法,该方法包括以下步骤:将操作系统的镜像从与计算机系统相连的文件装置载入该计算机系统的主存储器,并启动该操作系统,其特征在于,所述方法包括:
从监测整个计算机系统的系统监测机构远程指定文件装置的步骤,其中所述文件装置作为引导目标;以及
根据由引导固件管理的包括NVRAM变量在内的所述文件装置的引导信息和由所述系统监测机构管理的远程引导控制变量指定的所述文件装置的引导信息,来引导作为引导目标的所述文件装置。
2.根据权利要求1所述的远程引导方法,其特征还在于,所述方法还包括以下步骤:
将包含在由所述系统监测机构管理的所述远程引导控制变量中的所述引导信息全部或部分地复制到由所述引导固件管理的NVRAM变量中,从而通过从系统监测机构指定的远程引导来指定作为所述引导目标并且由所述引导固件来管理的文件装置。
3.根据权利要求2所述的远程引导方法,其特征在于:
所述引导信息包括BootXXXX变量、BootOrder变量和BootNext变量,其中“XXXX”代表从“0000”至“FFFF”的十六进制的数,
所述BootXXXX变量包括:表明作为所述引导目标的文件装置与计算机系统连接的位置的设备路径信息,以及与操作系统加载器的文件位置和文件名有关的信息,
所述BootOrder变量指定作为所述引导目标并由多个所述BootXXXX变量表示的文件装置将被引导的顺序,以及
当所述BootNext变量存在时,其表示将引导作为所述引导目标并由设置在所述BootNext变量中的数所表示的所述BootXXXX变量指定的文件装置,而不考虑所述BootOrder变量。
4.根据权利要求3所述的远程引导方法,其特征在于:
所述BootXXXX变量仅在所述NVRAM变量处通过引导固件的引导维护工具可修改,而在所述远程引导控制变量处不可修改。
5.根据权利要求3所述的远程引导方法,其特征在于,还包括以下步骤:
仅当所述NVRAM变量的所有BootXXXX变量与所述远程引导控制变量的所有BootXXXX变量完全匹配时,使能进行指定远程引导的引导。
6.根据权利要求3所述的远程引导方法,其特征在于:
所述BootOrder变量在所述NVRAM变量处和所述远程引导控制变量处都可修改,
当从所述系统监测机构指定了远程引导并且确认了BootXXXX变量的一致性被维持时,将所述远程引导控制变量的BootOrder变量和BootNext变量复制到所述NVRAM变量,以及
删除在所述NVRAM变量中存在的BootNext变量,而不考虑在所述远程引导控制变量中是否存在BootNext变量,从而在指定了所述远程引导时使所述远程引导控制变量中的所述BootNext变量有效,并使得可以从所述系统监测机构临时指定所述引导目标。
7.根据权利要求3所述的远程引导方法,其特征在于:
所述BootNext变量在所述NVRAM变量处和所述远程引导控制变量处都是可生成的,
当从所述系统监测机构指定了远程引导并且确认了BootXXXX变量的一致性被维持时,将所述远程引导控制变量的BootOrder变量和BootNext变量复制到所述NVRAM变量,以及
删除在所述NVRAM变量中存在的BootNext变量,而不考虑在所述远程引导控制变量中是否存在BootNext变量,从而在指定了所述远程引导时可以使所述远程引导控制变量中的所述BootNext变量有效,并使得可以从所述系统监测机构临时指定所述引导目标。
8.根据权利要求3所述的远程引导方法,其特征在于,仅通过在所述远程引导控制变量中设置BootNext变量来指定远程引导,并且在不修改由引导固件管理的所述NVRAM变量的引导信息的情况下临时指定作为下一个引导处理的引导目标的文件装置。
9.根据权利要求3所述的远程引导方法,其特征在于还包括以下步骤:
在通过引导固件确定了作为引导目标的文件装置之后,删除在所述NVRAM变量中存在的BootNext变量;以及
将表示所确定的作为引导目标的文件装置的BootXXXX变量的数设定为作为内在变量的BootCurrent变量。
10.一种远程引导机构,其将操作系统的镜像从与计算机系统相连的文件装置载入该计算机系统的主存储器,并启动该操作系统,其特征在于,所述远程引导机构包括:
这样的装置,该装置用于从监测整个计算机系统的系统监测机构远程指定文件装置,其中所述文件装置作为引导目标;以及
这样的装置,该装置根据由引导固件管理的包括NVRAM变量在内的所述文件装置的引导信息和由所述系统监测机构管理的远程引导控制变量指定的文件装置的引导信息,来引导作为引导目标的所述文件装置。
11.根据权利要求10所述的远程引导机构,其特征在于:将包含在由所述系统监测机构管理的所述远程引导控制变量中的引导信息部分或全部地复制到在由所述引导固件管理的NVRAM变量中,从而通过从所述系统监测机构指定的远程引导来指定作为引导目标并由引导固件管理的所述文件装置。
12.根据权利要求11所述的远程引导机构,其特征在于:
所述引导信息包括BootXXXX变量、BootOrder变量和BootNext变量,其中“XXXX”代表从“0000”至“FFFF”的十六进制的数,
所述BootXXXX变量包括:表明作为引导目标的文件装置与所术计算机系统连接的位置的设备路径信息,以及与操作系统加载器的文件位置和文件名有关的信息,
所述BootOrder变量指定作为引导目标并由多个BootXXXX变量表示的文件装置将被引导的顺序,并且
当所述BootNext变量存在时,其表示将引导作为引导目标并由设置在BootNext变量中的数表示的BootXXXX变量所指定的文件装置,而不考虑所述BootOrder变量。
13.根据权利要求12所述的远程引导机构,其特征在于:所述BootXXXX变量仅在所述NVRAM变量处通过所述引导固件的引导维护工具可修改,而在所述远程引导控制变量处不可修改。
14.根据权利要求12所述的远程引导机构,其特征在于,还包括:
用于在所述NVRAM变量的所有BootXXXX变量与远程引导控制变量的所有BootXXXX变量完全匹配时,使能进行指定远程引导的引导的装置。
15.根据权利要求12所述的远程引导机构,其特征在于:
所述BootOrder变量在所述NVRAM变量处和所述远程引导控制变量处都可修改,
当从所述系统监测机构指定了远程引导并且确认了所述BootXXXX变量的一致性被维持时,将所述远程引导控制变量的BootOrder变量和BootNext变量复制到所述NVRAM变量,并且
删除在所述NVRAM变量中存在的BootNext变量,而不考虑在所述远程引导控制变量中是否存在BootNext变量,从而在指定了所述远程引导时可以使所述远程引导控制变量中的所述BootNext变量有效,并使得可以从所述系统监测机构临时指定所述引导目标。
16.根据权利要求12所述的远程引导机构,其特征在于:
所述BootNext变量在所述NVRAM变量处和所述远程引导控制变量处都是可生成的,
当从所述系统监测机构指定了远程引导并且确认了所述BootXXXX变量的一致性被维持时,所述将远程引导控制变量的BootOrder变量和BootNext变量复制到所述NVRAM变量,并且
删除在所述NVRAM变量中存在的BootNext变量,而不考虑在所述远程引导控制变量中是否存在BootNext变量,从而在指定了所述远程引导时可以使所述远程引导控制变量中的所述BootNext变量有效,并使得可以从所述系统监测机构临时指定所述引导目标。
17.根据权利要求12所述的远程引导机构,其特征在于:
仅通过在所述远程引导控制变量中设置BootNext变量来指定远程引导,并且在不修改由所述引导固件管理的所述NVRAM变量的引导信息的情况下临时指定作为下一个引导处理的引导目标的文件装置。
18.根据权利要求12所述的远程引导机构,其特征在于还包括:
用于在通过所述引导固件确定了作为引导目标的文件装置之后,删除在所述NVRAM变量中存在的BootNext变量的装置;以及
用于将表示所确定的作为引导目标的文件装置的BootXXXX变量的数设定为作为内存变量的BootCurrent变量的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005078011 | 2005-03-17 | ||
JP2005078011A JP4778247B2 (ja) | 2005-03-17 | 2005-03-17 | リモートブート方法、機構及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1834917A CN1834917A (zh) | 2006-09-20 |
CN100437486C true CN100437486C (zh) | 2008-11-26 |
Family
ID=36616999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100939415A Expired - Fee Related CN100437486C (zh) | 2005-03-17 | 2005-08-22 | 远程引导方法和机构 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7590838B2 (zh) |
EP (1) | EP1703384A3 (zh) |
JP (1) | JP4778247B2 (zh) |
KR (1) | KR100739911B1 (zh) |
CN (1) | CN100437486C (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050010811A1 (en) * | 2003-06-16 | 2005-01-13 | Zimmer Vincent J. | Method and system to support network port authentication from out-of-band firmware |
US8316123B2 (en) * | 2007-02-19 | 2012-11-20 | Toshiba Global Commerce Solutions Holdings Corporation | Managing boot images in a retail store environment |
JP5066946B2 (ja) * | 2007-03-05 | 2012-11-07 | 日本電気株式会社 | Os種別自動特定装置、os自動起動装置、プロセッサシステム、os種別自動特定方法、os自動起動方法、プログラム、及び記憶媒体 |
CN101339511B (zh) * | 2007-07-02 | 2011-06-15 | 国际商业机器公司 | 用于监控和自适应地预载入关键动态连接库的方法和系统 |
US8185727B2 (en) | 2008-04-24 | 2012-05-22 | Dell Products, Lp | Method of using an information handling system having a boot file, and an information handling system and machine-executable code for carrying out the method |
US8631186B2 (en) * | 2008-09-30 | 2014-01-14 | Intel Corporation | Hardware and file system agnostic mechanism for achieving capsule support |
KR101658485B1 (ko) * | 2009-06-18 | 2016-09-22 | 삼성전자주식회사 | 휴대용 단말기에서 디버깅을 위한 부팅 방법 및 장치 |
US8775781B2 (en) * | 2010-03-25 | 2014-07-08 | Microsoft Corporation | Intelligent boot device selection and recovery |
JP5621912B2 (ja) * | 2011-03-18 | 2014-11-12 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
US8990806B2 (en) | 2012-07-31 | 2015-03-24 | Hewlett-Packard Development Company, L.P. | Customized virtual machine creation |
US11036422B2 (en) * | 2017-08-07 | 2021-06-15 | Datto, Inc. | Prioritization and source-nonspecific based virtual machine recovery apparatuses, methods and systems |
US10664288B2 (en) * | 2018-03-15 | 2020-05-26 | Oracle International Corporation | Obtaining environment information in a computing environment |
CN110908701B (zh) * | 2018-09-14 | 2024-01-30 | 北京小米松果电子有限公司 | 固件版本切换方法、装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6317826B1 (en) * | 1998-02-13 | 2001-11-13 | International Business Machines Corporation | Booting a computer system from a network |
US20020083315A1 (en) * | 2000-12-22 | 2002-06-27 | Patel Chinmay S. | System for storing optional modules in non-volatile memory for expansion ROM |
US6446203B1 (en) * | 1999-05-24 | 2002-09-03 | International Business Machines Corporation | Method and system for selecting from multiple boot code images to be loaded in a data processing system |
CN1409224A (zh) * | 2002-09-06 | 2003-04-09 | 上海金诺网络安全技术发展股份有限公司 | 利用光盘和移动存储介质构建计算机应用系统的方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0476195A1 (en) | 1990-09-19 | 1992-03-25 | International Business Machines Corporation | Initial program load for computer workstation |
JP3438823B2 (ja) | 1993-03-03 | 2003-08-18 | 株式会社日立製作所 | システムの遠隔制御方法 |
JPH09146651A (ja) * | 1995-11-28 | 1997-06-06 | Nec Software Ltd | コンピュータ遠隔起動システム |
JPH1165996A (ja) * | 1997-08-11 | 1999-03-09 | Toshiba Corp | ネットワークコンピュータおよびその初期化処理方法 |
US6101601A (en) * | 1998-04-20 | 2000-08-08 | International Business Machines Corporation | Method and apparatus for hibernation within a distributed data processing system |
JP3001537B1 (ja) * | 1998-10-08 | 2000-01-24 | 九州日本電気ソフトウェア株式会社 | リモートコンピュータのブートシステムのブート方法 |
US6421777B1 (en) * | 1999-04-26 | 2002-07-16 | International Business Machines Corporation | Method and apparatus for managing boot images in a distributed data processing system |
JP2001101002A (ja) * | 1999-09-29 | 2001-04-13 | Ricoh Co Ltd | パーソナルコンピュータ |
US6691160B1 (en) * | 2000-04-19 | 2004-02-10 | Adaptec, Inc. | Input/output communication networks and booting protocols |
US6735692B1 (en) * | 2000-07-11 | 2004-05-11 | International Business Machines Corporation | Redirected network boot to multiple remote file servers |
US8126959B2 (en) * | 2001-06-28 | 2012-02-28 | International Business Machines Corporation | Method and system for dynamic redistribution of remote computer boot service in a network containing multiple boot servers |
US20030126242A1 (en) * | 2001-12-28 | 2003-07-03 | Chang Albert H. | Network boot system and method using remotely-stored, client-specific boot images created from shared, base snapshot image |
JP4199678B2 (ja) | 2002-04-18 | 2008-12-17 | アーデンス・インコーポレイテッド | ハイバネーションを使用したクライアントコンピューターのオペレーティングシステムのネットワークブーティングのためのシステム及び方法 |
US20040193867A1 (en) * | 2003-03-31 | 2004-09-30 | Zimmer Vincent J | Configurabel network boot management for hetergenous boot options |
JP4528144B2 (ja) * | 2005-01-26 | 2010-08-18 | 富士通株式会社 | メモリダンププログラムのブート方法、機構及びプログラム |
-
2005
- 2005-03-17 JP JP2005078011A patent/JP4778247B2/ja not_active Expired - Fee Related
- 2005-07-28 EP EP05254738A patent/EP1703384A3/en not_active Withdrawn
- 2005-07-28 US US11/190,970 patent/US7590838B2/en not_active Expired - Fee Related
- 2005-08-19 KR KR1020050076040A patent/KR100739911B1/ko not_active IP Right Cessation
- 2005-08-22 CN CNB2005100939415A patent/CN100437486C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6317826B1 (en) * | 1998-02-13 | 2001-11-13 | International Business Machines Corporation | Booting a computer system from a network |
US6446203B1 (en) * | 1999-05-24 | 2002-09-03 | International Business Machines Corporation | Method and system for selecting from multiple boot code images to be loaded in a data processing system |
US20020083315A1 (en) * | 2000-12-22 | 2002-06-27 | Patel Chinmay S. | System for storing optional modules in non-volatile memory for expansion ROM |
CN1409224A (zh) * | 2002-09-06 | 2003-04-09 | 上海金诺网络安全技术发展股份有限公司 | 利用光盘和移动存储介质构建计算机应用系统的方法 |
Non-Patent Citations (2)
Title |
---|
详细解析Win NT/2000/XP的多启动. 凡若.电脑,第2期. 2003 |
详细解析Win NT/2000/XP的多启动. 凡若.电脑,第2期. 2003 * |
Also Published As
Publication number | Publication date |
---|---|
KR20060101173A (ko) | 2006-09-22 |
KR100739911B1 (ko) | 2007-07-16 |
US7590838B2 (en) | 2009-09-15 |
JP4778247B2 (ja) | 2011-09-21 |
EP1703384A2 (en) | 2006-09-20 |
US20060212695A1 (en) | 2006-09-21 |
CN1834917A (zh) | 2006-09-20 |
EP1703384A3 (en) | 2009-01-07 |
JP2006260290A (ja) | 2006-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100437486C (zh) | 远程引导方法和机构 | |
US7415586B2 (en) | Data backup method and system | |
US6557073B1 (en) | Storage apparatus having a virtual storage area | |
US6539461B2 (en) | Data saving method and external storage device | |
US20060161605A1 (en) | Data management system, a data management apparatus, a data management method, a data supplying system, and a computer-readable recording medium with a program recorded therein | |
EP1160654A1 (en) | Method for on-line, real time, data migration | |
US20080195826A1 (en) | Hierarchical storage management system, hierarchical control device, interhierarchical file migration method, and recording medium | |
US7631156B2 (en) | Storage system issuing optimum I/O command to allocation-on-use enabled volume and controlling method therefor | |
JP2002278819A (ja) | スナップショットイメージの世代管理方法、記憶媒体、及び世代管理装置 | |
US7007129B2 (en) | Tape management method by which a virtual tape file emulated on a disk drive is copied between disk drives | |
CN102193817A (zh) | 简化物理和虚拟部署的管理 | |
US5958062A (en) | Client/server system and computer system | |
US5828820A (en) | Mirror disk control method and mirror disk device | |
US9086938B2 (en) | Information processing apparatus, control method thereof, and storage medium | |
US20090063797A1 (en) | Backup data erasure method | |
US7680983B2 (en) | Method of restoring data by CDP utilizing file system information | |
JP4074442B2 (ja) | データのバックアップのための方法、装置、システム、プログラム及び記憶媒体 | |
US7191197B2 (en) | Method and apparatus for detecting and transferring data of different formats | |
US20070271311A1 (en) | Disk array device and data management method for managing master data and replication data replicated from master data | |
JPH1124896A (ja) | ソフトウェアインストール方法 | |
KR101072056B1 (ko) | 데이터 스토리지 시스템의 서비스 워크로드 식별자 | |
US20060143423A1 (en) | Storage device, data processing method thereof, data processing program thereof, and data processing system | |
JP2008084327A (ja) | データのバックアップのための方法、装置、システム、プログラム及び記憶媒体 | |
JPH10260859A (ja) | コンピュータシステム | |
JP2021047806A (ja) | 情報処理システム、情報処理装置および情報処理プログラム |
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: 20081126 Termination date: 20130822 |