CN109062656B - 一种uefi bios架构下虚拟dos实现的方法、系统及介质 - Google Patents
一种uefi bios架构下虚拟dos实现的方法、系统及介质 Download PDFInfo
- Publication number
- CN109062656B CN109062656B CN201810698008.8A CN201810698008A CN109062656B CN 109062656 B CN109062656 B CN 109062656B CN 201810698008 A CN201810698008 A CN 201810698008A CN 109062656 B CN109062656 B CN 109062656B
- Authority
- CN
- China
- Prior art keywords
- dos
- vdos
- bios
- sys
- efi
- 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
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供的一种UEFI BIOS架构下虚拟DOS实现的方法,采用在UEFI BIOS里集成虚拟DOS系统文件,用EFI Application的方式直接进行引导的方案,解决现有技术中效率低和不易用的技术问题,实现DOS可在无盘无网络的单机流线状态下,直接启动DOS,提高效率,简单易用的技术效果。
Description
技术领域
本发明涉及BIOS系统领域,具体而言,涉及一种UEFI BIOS架构下虚拟DOS实现的方法、系统及介质。
背景技术
通常传统的DOS启动技术,需要使用工具将硬盘或者usb盘在已有系统下进行格式化制作,形成DOS启动系统盘,进而引导到DOS下。
或者在有网络的环境下,有PXE服务器的情况下,使用网络PXE来引导到DOS。
不管是有盘或者有网络环境,上述这样操作的步骤专业和烦琐,耗时耗力,如果中间某个环节出错了(比如磁盘容量的约束条件或者网络服务没有启动等等),就都会直接导致引导错误,引导失败。非专业人士使用起来非常不方便。
发明内容
本发明提供一种UEFI BIOS架构下虚拟DOS实现的方法,采用在UEFI BIOS里集成虚拟DOS系统文件,用EFI Application的方式直接进行引导的方案,解决现有技术中效率低和不易用的技术问题。
本发明为解决上述技术问题而提供的UEFI BIOS架构下虚拟DOS实现的方法,包括以下步骤:
A.提取DBR.BIN、IO.SYS、MSDOS.SYS、COMMAND.COM文件:提取软驱DBR数据,形成DBR.BIN文件,提取DOS系统盘中IO.SYS、MSDOS.SYS、COMMAND.COM三个文件,然后虚拟DOS文件集合,在EDK的编译环境编译;
B.定义GUID,EFI Driver模型编码:定义GUID,按照EFI Driver模型,编写VirtualDOS的EFI Application,实现所述DOS启动加载功能;
C.生产VIRTUALDOS.EFI:在所述EDK的编译环境编译,生成VIRTUALDOS.EFI的EFI驱动应用文件;
D.修改BIOS源码,增加BCV,以及GUID VDOS.EFI文件模块:修改所述BIOS,在BBS列表里,增加Build-In VDOS的BCV,以及所述GUID VDOS.EFI文件模块;
E.将BCV增加到BBS列表里,以EFI Application的方式加载VDOS.EFI:在BDS阶段,将所述BCV添加到所述BBS启动列表里,以所述EFI Application的方式加载所述VDOS.EFI文件;
F.编译输出带VDOS的BIOS:编译生成带虚拟所述VDOS功能的所述BIOS;
G.BIOS开机:所述BIOS POST开机;
H.从BBS列表里选择引导设备或应用:在所述BDS阶段,按热键,显示所述BBS列表,并从所述BBS列表中选择引导设备或应用;
I.判断是否选择Build-In VIRTUALDOS系统进行引导:判断是否选择Build-InVIRTUALDOS系统进行引导,如果没有选择所述Build-In VIRTUALDOS系统引导,则跳过走正常的Boot流程,如果有选择所述Build-In VIRTUALDOS系统引导,则进行步骤K;K.加载VDOS.EFI Application:通过找到所述VDOS.EFI的所述GUID,加载所述VDOS.EFI应用;
L.加载DBR.BIN到0:7c00的内存位置,并转到内存0:7c00:调用所述VDOS.EFI应用后,执行所述DOS的启动流程,将所述DBR.BIN复制到0:7c00的内存地址空间,并跳转到所述内存0:7c00执行内存代码;
M.依次加载IO.SYS、MSDOS.SYS、COMMAND.COM文件:检查所述DOS系统文件,依次加载所述IO.SYS、所述MSDOS.SYS、所述COMMAND.COM,并执行三个文件;
N.进入DOS提示符:所述DOS系统加载启动完成,回到所述DOS提示符。
所述步骤A中所述DBR为DOS BOOT Record。
所述步骤D中所述BCV为Boot Connect Vector,所述BCV指向VIRTUALDOS.EFI的GUID和VIRTUALDOS.EFI的EFI驱动应用文件。
所述步骤H中所述BBS列表包括Build-In Shell、Build-In vDos、HardDisk、Other。
一种UEFI BIOS架构下虚拟DOS实现的系统,其特征在于:所述UEFI BIOS架构下虚拟DOS实现的系统包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现任一项所述的方法的步骤。
一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现任一项所述的方法的步骤。
本发明所具有的有益效果:使用本方案后,DOS启动技术可以在无盘无网络的单机离线状态下,直接启动到DOS,省去了进系统,制作DOS系统等繁琐的步骤,大大节省了时间。
附图说明
图1是本发明所述UEFI BIOS架构下虚拟DOS实现的方法流程图。
图2是本发明所述UEFI BIOS架构下虚拟DOS的流程图。
图3是本发明所述UEFI BIOS架构下虚拟DOS的启动方式的流程图。
图4是本发明所述1.2M软驱DOS系统扇区内容示意图。
具体实施方式
结合上述附图说明本发明的具体实施例。
由图1可知,本发明提供一种UEFI BIOS架构下虚拟DOS实现的方法,包括以下步骤:
由图2可知,
A.提取DBR.BIN、IO.SYS、MSDOS.SYS、COMMAND.COM文件:提取软驱DBR数据,形成DBR.BIN文件,提取DOS系统盘中IO.SYS、MSDOS.SYS、COMMAND.COM三个文件,然后虚拟DOS文件集合,在EDK的编译环境编译;
B.定义GUID,EFI Driver模型编码:定义GUID,按照EFI Driver模型,编写VirtualDOS的EFI Application,实现所述DOS启动加载功能;
C.生产VIRTUALDOS.EFI:在所述EDK的编译环境编译,生成VIRTUALDOS.EFI的EFI驱动应用文件;
D.修改BIOS源码,增加BCV,以及GUID VDOS.EFI文件模块:修改所述BIOS,在BBS列表里,增加Build-In VDOS的BCV,以及所述GUID VDOS.EFI文件模块;
E.将BCV增加到BBS列表里,以EFI Application的方式加载VDOS.EFI:在BDS阶段,将所述BCV添加到所述BBS启动列表里,以所述EFI Application的方式加载所述VDOS.EFI文件;
F.编译输出带VDOS的BIOS:编译生成带虚拟所述VDOS功能的所述BIOS;
由图3可知,
G.BIOS开机:所述BIOS POST开机;
H.从BBS列表里选择引导设备或应用:在所述BDS阶段,按热键,显示所述BBS列表,并从所述BBS列表中选择引导设备或应用;
I.判断是否选择Build-In VIRTUALDOS系统进行引导:判断是否选择Build-InVIRTUALDOS系统进行引导,如果没有选择所述Build-In VIRTUALDOS系统引导,则跳过走正常的Boot流程,如果有选择所述Build-In VIRTUALDOS系统引导,则进行步骤K;K.加载VDOS.EFI Application:通过找到所述VDOS.EFI的所述GUID,加载所述VDOS.EFI应用;
L.加载DBR.BIN到0:7c00的内存位置,并转到内存0:7c00:调用所述VDOS.EFI应用后,执行所述DOS的启动流程,将所述DBR.BIN复制到0:7c00的内存地址空间,并跳转到所述内存0:7c00执行内存代码;
M.依次加载IO.SYS、MSDOS.SYS、COMMAND.COM文件:检查所述DOS系统文件,依次加载所述IO.SYS、所述MSDOS.SYS、所述COMMAND.COM,并执行三个文件;
N.进入DOS提示符:所述DOS系统加载启动完成,回到所述DOS提示符。
所述步骤A中所述DBR为DOS BOOT Record。
所述步骤D中所述BCV为Boot Connect Vector,所述BCV指向VIRTUALDOS.EFI的GUID和VIRTUALDOS.EFI的EFI驱动应用文件。
所述步骤H中所述BBS列表包括Build-In Shell、Build-In vDos、HardDisk、Other。
一种UEFI BIOS架构下虚拟DOS实现的系统,其特征在于:所述UEFI BIOS架构下虚拟DOS实现的系统包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现任一项所述的方法的步骤。
一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现任一项所述的方法的步骤。
随着BIOS技术架构的进步,在UEFI BIOS架构下,将DOS启动部分集成到BIOS里,实现一种免盘免格式化免网络的方案,提供了可能性和可行性。
本发明提出一种方案,在所述UEFI BIOS里集成虚拟所述DOS系统文件,由图4可知,在所述1.2M软驱DOS系统扇区内,用所述EFI Application的方式直接进行引导;采用这样的方案实现以后,可以大大提高了使用DOS启动技术的效率,解决了效率低和不易用的痛点。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于发明的保护范围。
Claims (6)
1.一种UEFI BIOS架构下虚拟DOS实现的方法,其特征在于:该方法包括以下步骤:
A.提取DBR.BIN、IO.SYS、MSDOS.SYS、COMMAND.COM文件:提取软驱DBR数据,形成DBR.BIN文件,提取DOS系统盘中IO.SYS、MSDOS.SYS、COMMAND.COM三个文件,然后虚拟DOS文件集合,在EDK的编译环境编译;
B.定义GUID,EFIDriver模型编码:定义GUID,按照EFIDriver模型,编写Virtual DOS的EFI Application,实现所述DOS启动加载功能;
C.生成VIRTUALDOS.EFI:在所述EDK的编译环境编译,生成VIRTUALDOS.EFI的EFI驱动应用文件;
D.修改BIOS源码,增加BCV,以及GUID VDOS.EFI文件模块:修改所述BIOS,在BBS列表里,增加Build-In VDOS的BCV,以及所述GUID VDOS.EFI文件模块;
E.将BCV增加到BBS列表里,以EFI Application的方式加载VDOS.EFI:在BDS阶段,将所述BCV添加到所述BBS启动列表里,以所述EFIApplication的方式加载所述VDOS.EFI文件;
F.编译输出带VDOS的BIOS:编译生成带虚拟所述VDOS功能的所述BIOS;
G.BIOS开机:所述BIOS POST开机;
H.从BBS列表里选择引导设备或应用:在所述BDS阶段,按热键,显示所述BBS列表,并从所述BBS列表中选择引导设备或应用;
I.判断是否选择Build-In VIRTUALDOS系统进行引导:判断是否选择Build-InVIRTUALDOS系统进行引导,如果没有选择所述Build-In VIRTUALDOS系统引导,则跳过走正常的Boot流程,如果有选择所述Build-In VIRTUALDOS系统引导,则进行步骤K;
K.加载VDOS.EFI Application:通过找到所述VDOS.EFI的所述GUID,加载所述VDOS.EFI应用;
L.加载DBR.BIN到0:7c00的内存位置,并转到内存0:7c00:调用所述VDOS.EFI应用后,执行所述DOS的启动流程,将所述DBR.BIN复制到0:7c00的内存地址空间,并跳转到所述内存0:7c00执行内存代码;
M.依次加载IO.SYS、MSDOS.SYS、COMMAND.COM文件:检查所述DOS系统文件,依次加载所述IO.SYS、所述MSDOS.SYS、所述COMMAND.COM,并执行三个文件;
N.进入DOS提示符:所述DOS系统加载启动完成,回到所述DOS提示符。
2.根据权利要求1所述的UEFI BIOS架构下虚拟DOS实现的方法,其特征在于:所述步骤A中所述DBR为DOS BOOT Record。
3.根据权利要求1所述的UEFI BIOS架构下虚拟DOS实现的方法,其特征在于:所述步骤D中所述BCV为Boot Connect Vector,所述BCV指向VIRTUALDOS.EFI的GUID和VIRTUALDOS.EFI的EFI驱动应用文件。
4.根据权利要求1所述的UEFI BIOS架构下虚拟DOS实现的方法,其特征在于:所述步骤H中所述BBS列表包括Build-In Shell、Build-In vDos、HardDisk、Other。
5.一种UEFI BIOS架构下虚拟DOS实现的系统,其特征在于:所述UEFI BIOS架构下虚拟DOS实现的系统包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现权利要求1-4中任一项所述的方法的步骤。
6.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现权利要求1-4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810698008.8A CN109062656B (zh) | 2018-06-29 | 2018-06-29 | 一种uefi bios架构下虚拟dos实现的方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810698008.8A CN109062656B (zh) | 2018-06-29 | 2018-06-29 | 一种uefi bios架构下虚拟dos实现的方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109062656A CN109062656A (zh) | 2018-12-21 |
CN109062656B true CN109062656B (zh) | 2021-07-20 |
Family
ID=64818429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810698008.8A Active CN109062656B (zh) | 2018-06-29 | 2018-06-29 | 一种uefi bios架构下虚拟dos实现的方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062656B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1916854A (zh) * | 2005-08-19 | 2007-02-21 | 联想(北京)有限公司 | 一种管理与配置虚拟机的系统和方法 |
CN101025689A (zh) * | 2006-02-20 | 2007-08-29 | 联想(北京)有限公司 | 一种自动安装操作系统的方法 |
US8312259B1 (en) * | 2008-05-06 | 2012-11-13 | Acronis International Gmbh | System and method for booting a computer from backup |
-
2018
- 2018-06-29 CN CN201810698008.8A patent/CN109062656B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1916854A (zh) * | 2005-08-19 | 2007-02-21 | 联想(北京)有限公司 | 一种管理与配置虚拟机的系统和方法 |
CN101025689A (zh) * | 2006-02-20 | 2007-08-29 | 联想(北京)有限公司 | 一种自动安装操作系统的方法 |
US8312259B1 (en) * | 2008-05-06 | 2012-11-13 | Acronis International Gmbh | System and method for booting a computer from backup |
Also Published As
Publication number | Publication date |
---|---|
CN109062656A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10613773B2 (en) | Backing up firmware during initialization of device | |
EP1634170B1 (en) | Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan | |
US8751783B2 (en) | Booting computing devices with EFI aware operating systems | |
US7103641B2 (en) | Method and apparatus for distributing computer platform firmware across a network | |
US10732963B2 (en) | System and method for automatically managing updated UEFI variables | |
US20040172578A1 (en) | Method and system of operating system recovery | |
WO2007045133A1 (fr) | Systeme informatique et procede pouvant realiser une verification d’integrite | |
CN109426613B (zh) | 在uefi中检索调试数据的方法及其电脑系统 | |
CN103699372A (zh) | 从中央存储装置引导计算机系统 | |
US20150154033A1 (en) | Computer system and boot method thereof | |
US20200210203A1 (en) | Systems and methods for handling firmware driver dependencies in host operating systems while applying updates from bootable image file | |
CN102135893A (zh) | 将操作系统集成到bios芯片及启动服务器上操作系统的方法 | |
US20130007438A1 (en) | Storage medium storing master boot record, computer system having the same and booting method of the computer system | |
US7191328B2 (en) | System and method for using an extensible firmware interface (EFI) utility to build an EFI layer between an operating system and a legacy basic input/output system during a boot process | |
US20100049961A1 (en) | Update method for basic input/output system and update system thereof | |
CN113760306B (zh) | 安装软件的方法、装置、电子设备及存储介质 | |
US20110113227A1 (en) | Electronic equipment and boot method, storage medium thereof | |
US7849300B2 (en) | Method for changing booting sources of a computer system and a related backup/restore method thereof | |
US20130097412A1 (en) | Performing A Boot Sequence In A Multi-Processor System | |
US9158550B2 (en) | Caching based operating system installation | |
US10540151B1 (en) | Graphical customization of a firmware-provided user interface (UI) | |
US11221842B2 (en) | Systems and methods for executing and verifying system firmware update before committing firmware update to motherboard | |
CN109062656B (zh) | 一种uefi bios架构下虚拟dos实现的方法、系统及介质 | |
US20150212866A1 (en) | Management system for service of multiple operating environments, and methods thereof | |
US20120005464A1 (en) | Start up processing method, information processing apparatus, and computer-readable storage medium storing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |