CN103294502B - 一种获得操作系统加载路径的方法及电子设备 - Google Patents
一种获得操作系统加载路径的方法及电子设备 Download PDFInfo
- Publication number
- CN103294502B CN103294502B CN201210056049.XA CN201210056049A CN103294502B CN 103294502 B CN103294502 B CN 103294502B CN 201210056049 A CN201210056049 A CN 201210056049A CN 103294502 B CN103294502 B CN 103294502B
- Authority
- CN
- China
- Prior art keywords
- parameter
- operating system
- module
- firmware
- self
- 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.)
- Active
Links
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种获得操作系统加载路径的方法及电子设备,其中,该方法应用于一电子设备中,包括:启动所述电子设备;加载系统固件;通过所述系统固件获得一参数;通过所述系统固件将所述参数传递给操作系统加载模块;通过所述操作系统加载模块接收所述参数并基于所述参数对所述操作系统执行对应的操作。
Description
技术领域
本发明涉及电子技术领域,特别涉及一种获得操作系统加载路径的方法及电子设备。
背景技术
在操作系统的启动过程中,往往需要经过一系列步骤才能完成,而其启动过程,总的说来,有下面几个步骤:
1,加电——打开电源开关,给主板和内部风扇供电。
2,启动引导程序——CPU开始执行存储在ROM BIOS中的指令。
3,开机自检——电子设备对系统的主要部件进行诊断测试。
4,加载操作系统——电子设备将操作系统文件从磁盘读到RAM中。
5,检查操作系统加载程序,定制操作系统的运行环境——读取操作系统加载程序,根据用户的设置对操作系统进行定制。
6,准备读取命令和数据——电子设备等待用户输入命令和数据。
而在自检过程中,操作系统往往会需要操作系统的加载程序,基于该加载程序,操作系统才能够正常的启动,首先会调用OS Loader(操作系统加载器),而OS Loader一旦被调用,就会直接获取操作系统的加载程序尝试启动操作系统,一旦成功,则只能进入操作系统,别无选择。
发明人在实现本发明实施例中技术方案的过程中发现,当操作系统被损坏或是无法启动时,而OS Loader却仍旧会获取操作系统的加载程序尝试启动操作系统,陷入死循环。
发明内容
本发明提供一种获得操作系统加载路径的方法及电子设备,用以解决现有技术中存在的无法判别被损坏或是无法启动的操作系统,进而导致进入死循环的技术问题。
一方面,本发明通过本申请的一个实施例,提供一种获得操作系统加载路径的方法,应用于一电子设备中,所述方法包括:
启动所述电子设备;
加载系统固件;
通过所述系统固件获得一参数;
通过所述系统固件将所述参数传递给操作系统加载模块;
通过所述操作系统加载模块接收所述参数并基于所述参数对所述操作系统执行对应的操作。
可选的,所述系统固件具体为UEFI或BIOS。
可选的,所述参数具体为提供给一自检程序,以通过所述自检程序测试所述操作系统完整性的参数。
可选的,所述通过所述系统固件获得一参数,具体为:通过所述系统固件提供一交互界面,所述交互界面用于接收用户输入的参数。
可选的,所述通过所述系统固件获得一参数,具体还包括:通过所述系统固件提供一交互界面,所述交互界面用于接收一触发指令,通过所述触发指令调用所述参数,其中,所述参数内置于所述系统固件中。
可选的,所述通过所述系统固件将所述参数传递给操作系统加载模块,具体包括:所述系统固件获得所述参数;基于所述参数,所述系统固件通过传递所述参数调用操作所述系统加载模块,使其运行一自检程序对所述操作系统加载模块及所述操作系统完整性进行测试,并获得自检结果;在所述自检结果显示所述操作系统能正常启动时,所述系统固件将所述操作系统加载模块路径保存为一个启动选项。
另一方面,本发明通过本申请的另一实施例提供一种电子设备,包括:
壳体;
主板,设置于所述壳体内部,包括基于所述主板而安装的系统固件;
至少一个存储模块,与所述主板相连;
启动模块,用于启动所述电子设备;
加载模块,连接于所述主板,用于加载所述系统固件;
获得模块,用于通过所述系统固件获得一参数;
传递模块,用于通过所述系统固件将所述参数传递给操作系统加载模块;
接收模块,通过所述操作系统加载模块接收所述参数并基于所述参数对所述操作系统执行对应的操作。
可选的,所述参数具体为提供给一自检程序,以通过所述自检程序测试所述操作系统完整性的参数。
可选的,所述传递模块具体包括:获得单元,用于所述系统固件获得所述参数;测试单元,用于基于所述参数,所述系统固件通过传递所述参数调用操作所述系统加载模块,使其运行一自检程序对所述操作系统加载模块及所述操作系统完整性进行测试,并获得自检结果;传递单元,用于在所述自检结果显示所述操作系统能正常启动时,所述系统固件将所述操作系统加载模块路径保存为一个启动选项。
上述技术方案中的一个或多个技术方案,具有如下技术效果或优点:
通过本发明的一个或多个技术方案,描述了操作系统加载器加载路径的方法,通过系统固件运行具有能够测试操作系统加载模块及操作系统完整性的参数,来判别操作系统的正常与非正常,避免了现有技术中,操作系统加载器运行不正常的操作系统的技术问题,并进一步提高了电子设备的启动效率。
另一方面,还通过本发明的一个或多个技术方案,描述了一种能够用于测试操作系统加载模块及操作系统完整性的参数的电子设备,通过系统固件运行具有能够测试操作系统完整性的参数,来判别操作系统的正常与非正常,解决了因为运行不正常操作系统而陷入死循环的技术问题。
附图说明
图1为本申请实施例中一种获得操作系统加载路径的方法流程图;
图2为本申请实施例中电子设备的示意图;
图3为本申请实施例中传递模块的模块示意图。
具体实施方式
为了解决现有技术中存在的无法判别被损坏或是无法启动的操作系统,进而导致进入死循环的技术问题,本发明提供一种获得操作系统加载路径的方法及电子设备,下面结合说明书附图对本发明实施例的主要实现原理、具体实施过程及其对应能够达到的有益效果进行详细的阐述。
实施例一:
请参看图1,图1中描述了一种获得操作系统加载路径的方法,该方法应用于一电子设备中,包括:
S101,启动电子设备。
在本发明实施例中,启动电子设备第一步就是通电,通电之后,电子设备中的电扇开始运转,电源指示灯应该变亮。启动电子设备后,则会启动引导程序,即CPU从内存地址FFFF0H处开始执行指令,并跳到系统固件的真正的启动代码处。
S102,加载系统固件。
在本发明实施例中,系统固件可以为UEFI(Unified Extensible FirmwareInterface,统一的可扩展固定接口),也可以为BIOS,其中,UEFI和BIOS都是硬件和操作系统之间的结构层,而相对于BIOS,UEFI拥有更多的功能,更快的速度,更优的图形界面以及更加的操作体验,在操作系统的启动过程中,可以加载UEFI进行启动,也可以加载BIOS进行启动。
在启动引导程序后,电子设备则会进入POST,即加电自检,加电自检的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如内存和显卡等设备,以及一些一些标准硬件设备,包括硬盘、CD-ROM、串口、并口、软驱等设备。
S103,通过系统固件获得一参数。
用户输入的参数可以是多种类型的,而其所起的作用也是不同的,当系统固件提供第一交互界面,第一交互界面用于接收用户输入的参数时,比如,在第一交互界面输入的参数为\C,则代表查找windows的位置,而在第一交互界面输入的参数为\T,则代表搜索安装windows的时间,不同的参数具有不同的含义,而在本发明的实施例中,输入的参数具体为提供给一自检程序,以通过自检程序测试操作系统完整性的参数。
而除此之外,该参数(具体为提供给一自检程序,以通过自检程序测试操作系统完整性的参数)也可能被内置在系统固件中,不需要用户输入参数,仅通过系统固件提供第二交互界面,第二交互界面用于接收一触发指令,通过触发指令调用参数,即可运行。
S104,通过系统固件将参数传递给操作系统加载模块。
在本发明实施例中,当第一交互界面或者第二交互界面获得了上述用于提供给一自检程序,以通过自检程序测试操作系统完整性的参数之后,系统固件就会获得该参数,然后基于该参数,系统固件通过传递参数调用操作系统加载模块,使其运行一自检程序对操作系统加载模块及操作系统完整性进行测试,并获得自检结果。
进一步的,在自检结果显示操作系统能正常启动时,系统固件将操作系统加载模块路径保存为一个启动选项。
比如,当电子设备中具有5个操作系统时,这5个操作系统中有两个操作系统是损坏或是无法启动的,则系统固件获得了上述描述的能够测试操作系统完整性的参数之后,系统固件就会运行自检程序,来测试这5个操作系统的完整性,并获得自检结果。
比如系统固件通过运行自检程序对显示出自检结果为排列顺序为1-3的操作系统都是正常的,而4-5的操作系统是无法启动的。
则当1-3操作系统能正常启动时,将该参数传递给操作系统加载模块。
S105,通过操作系统加载模块接收参数并基于参数对操作系统执行对应的操作。
在本发明实施例中,执行对应的操作可以为加载操作系统,即在自检成功后,系统固件则会根据用户指定的启动顺序从软盘、硬盘或光驱启动,定位并加载操作系统的操作系统加载程序。而在具体到不同的操作系统中,电子设备会需要更多的配置信息来调用所有的设备并创建个性化的运行环境。
上述步骤描述了操作系统加载器加载路径的方法,通过系统固件运行具有能够测试操作系统完整性的参数,如有三个操作系统,参数针对每一个操作系统具有一个测试结果,来判别操作系统的正常与非正常,避免了现有技术中,操作系统加载器运行不正常的操作系统的技术问题,并进一步提高了电子设备的启动效率。
实施例二:
在本发明实施例中,请参看图2,描述了一种电子设备,包括:
壳体201。
主板202,设置于壳体201内部,包括基于主板202而安装的系统固件。
至少一个存储模块203,与主板202相连。
启动模块204,用于启动电子设备。
加载模块205,连接于主板202,用于加载系统固件。
获得模块206,用于通过系统固件获得一参数。
传递模块207,用于通过系统固件将参数传递给操作系统加载模块。
接收模块208,通过操作系统加载模块接收参数并基于参数对操作系统执行对应的操作。
进一步的,参数具体为提供给一自检程序,以通过自检程序测试操作系统完整性的参数。
进一步的,请参看图3,传递模块208具体包括:
获得单元2081,用于系统固件获得参数。
测试单元2082,用于基于参数,系统固件通过传递参数调用操作系统加载模块,使其运行一自检程序对操作系统加载模块及操作系统完整性进行测试,并获得自检结果。
传递单元2083,用于在自检结果显示操作系统能正常启动时,系统固件将操作系统加载模块路径保存为一个启动选项。
通过本发明的一个或多个实施例,描述了操作系统加载器加载路径的方法,通过系统固件运行具有能够测试操作系统完整性的参数,来判别操作系统加载模块及操作系统的正常与非正常,避免了现有技术中,操作系统加载器运行不正常的操作系统的技术问题,并进一步提高了电子设备的启动效率。
另一方面,还通过本发明的一个或多个实施例,描述了一种能够用于测试操作系统加载模块及操作系统完整性的参数的电子设备,通过系统固件运行具有能够测试操作系统完整性的参数,来判别操作系统的正常与非正常,解决了因为运行不正常操作系统而陷入死循环的技术问题。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种获得操作系统加载路径的方法,应用于一电子设备中,其特征在于,所述方法包括:
启动所述电子设备;
加载系统固件;
通过所述系统固件获得一参数;其中,所述参数具体为提供给一自检程序,以通过所述自检程序测试所述操作系统完整性的参数;
通过所述系统固件将所述参数传递给操作系统加载模块;
通过所述操作系统加载模块接收所述参数并基于所述参数对所述操作系统执行对应的操作。
2.如权利要求1所述的方法,其特征在于,所述系统固件具体为UEFI或BIOS。
3.如权利要求1所述的方法,其特征在于,所述通过所述系统固件获得一参数,具体为:
通过所述系统固件提供第一交互界面,所述第一交互界面用于接收用户输入的参数。
4.如权利要求1所述的方法,其特征在于,所述通过所述系统固件获得一参数,具体还包括:
通过所述系统固件提供第二交互界面,所述第二交互界面用于接收一触发指令,通过所述触发指令调用所述参数,其中,所述参数内置于所述系统固件中。
5.如权利要求1所述的方法,其特征在于,所述通过所述系统固件将所述参数传递给操作系统加载模块,具体包括:
所述系统固件获得所述参数;
基于所述参数,所述系统固件通过传递所述参数调用操作所述系统加载模块,使其运行一自检程序对所述操作系统加载模块及所述操作系统完整性进行测试,并获得自检结果;
在所述自检结果显示所述操作系统能正常启动时,所述系统固件将所述操作系统加载模块路径保存为一个启动选项。
6.一种电子设备,其特征在于,包括:
壳体;
主板,设置于所述壳体内部,包括基于所述主板而安装的系统固件;
至少一个存储模块,与所述主板相连;
启动模块,用于启动所述电子设备;
加载模块,连接于所述主板,用于加载所述系统固件;
获得模块,用于通过所述系统固件获得一参数;其中,所述参数具体为提供给一自检程序,以通过所述自检程序测试所述电子设备的操作系统完整性的参数;
传递模块,用于通过所述系统固件将所述参数传递给操作系统加载模块;
接收模块,通过所述操作系统加载模块接收所述参数并基于所述参数对所述操作系统执行对应的操作。
7.如权利要求6所述的电子设备,其特征在于,所述传递模块具体包括:
获得单元,用于所述系统固件获得所述参数;
测试单元,用于基于所述参数,所述系统固件通过传递所述参数调用操作所述系统加载模块,使其运行一自检程序对所述操作系统加载模块及所述操作系统完整性进行测试,并获得自检结果;
传递单元,用于在所述自检结果显示所述操作系统能正常启动时,所述系统固件将所述操作系统加载模块路径保存为一个启动选项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210056049.XA CN103294502B (zh) | 2012-03-05 | 2012-03-05 | 一种获得操作系统加载路径的方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210056049.XA CN103294502B (zh) | 2012-03-05 | 2012-03-05 | 一种获得操作系统加载路径的方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103294502A CN103294502A (zh) | 2013-09-11 |
CN103294502B true CN103294502B (zh) | 2016-10-05 |
Family
ID=49095441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210056049.XA Active CN103294502B (zh) | 2012-03-05 | 2012-03-05 | 一种获得操作系统加载路径的方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103294502B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809398A (zh) * | 2015-04-21 | 2015-07-29 | 深圳怡化电脑股份有限公司 | 密码键盘引导程序固件防篡改方法及装置 |
CN110764828A (zh) * | 2018-07-27 | 2020-02-07 | 龙芯中科技术有限公司 | 终端的关机提示方法、终端及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1703014A (zh) * | 2005-02-28 | 2005-11-30 | 联想(北京)有限公司 | 一种对被管理设备进行监控的方法 |
CN1952885A (zh) * | 2005-10-19 | 2007-04-25 | 联想(北京)有限公司 | 一种可进行完整性检测的计算机系统和方法 |
-
2012
- 2012-03-05 CN CN201210056049.XA patent/CN103294502B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1703014A (zh) * | 2005-02-28 | 2005-11-30 | 联想(北京)有限公司 | 一种对被管理设备进行监控的方法 |
CN1952885A (zh) * | 2005-10-19 | 2007-04-25 | 联想(北京)有限公司 | 一种可进行完整性检测的计算机系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103294502A (zh) | 2013-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103838663A (zh) | 一种应用程序的测试方法及装置 | |
CN102521105A (zh) | 一种开机自检信息输出方法、虚拟机管理器和处理器 | |
KR20060109522A (ko) | 컴퓨터 시스템 진단 방법 및 장치 | |
US20080201610A1 (en) | Integrated test method on multi-operating system platform | |
CN106959927B (zh) | 获取虚拟机中的逻辑分区的位置信息的方法及装置 | |
CN107908539B (zh) | 一种检测应用程序内存泄露的方法、终端及计算机可读存储介质 | |
CN106649098B (zh) | 在终端设备上实现发布版本软件调试的方法和装置 | |
CN101398763A (zh) | 电脑主板及其开机方法 | |
CN103593281A (zh) | 测试系统及测试方法 | |
CN102214133A (zh) | 一种计算机硬件快速诊断测试系统 | |
CN106126206A (zh) | 一种信息处理方法及电子设备 | |
CN103927242A (zh) | 显卡测试系统及显卡测试方法 | |
CN105867579A (zh) | 终端控制方法、装置及终端 | |
CN103294502B (zh) | 一种获得操作系统加载路径的方法及电子设备 | |
CN109542524B (zh) | 一种Linux与安卓相互快速切换方法 | |
CN107544879A (zh) | 服务器的诊断方法、装置及机器可读存储介质 | |
CN106028367A (zh) | 一种基于CMWrun测试平台的自动测试方法及系统 | |
CN107608923B (zh) | 测试的处理方法及相关产品 | |
CN106021024A (zh) | 一种用户终端停止响应提示方法及用户终端 | |
CN109491909A (zh) | 一种cpld刷新验证方法、装置、终端及存储介质 | |
CN101281485B (zh) | 无需硬盘的计算机测试方法 | |
CN104346275A (zh) | 内存测试系统及方法 | |
CN103870295B (zh) | 切换方法和电子设备 | |
CN105159810B (zh) | 对计算机系统的bios进行测试的方法及装置 | |
US20130030786A1 (en) | Emulating input/output components |
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 |