CN109062656B - 一种uefi bios架构下虚拟dos实现的方法、系统及介质 - Google Patents

一种uefi bios架构下虚拟dos实现的方法、系统及介质 Download PDF

Info

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
Application number
CN201810698008.8A
Other languages
English (en)
Other versions
CN109062656A (zh
Inventor
吴建成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tongtaiyi Information Technology Co ltd
Original Assignee
Shenzhen Tongtaiyi Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Tongtaiyi Information Technology Co ltd filed Critical Shenzhen Tongtaiyi Information Technology Co ltd
Priority to CN201810698008.8A priority Critical patent/CN109062656B/zh
Publication of CN109062656A publication Critical patent/CN109062656A/zh
Application granted granted Critical
Publication of CN109062656B publication Critical patent/CN109062656B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, 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

一种UEFI BIOS架构下虚拟DOS实现的方法、系统及介质
技术领域
本发明涉及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中任一项所述的方法的步骤。
CN201810698008.8A 2018-06-29 2018-06-29 一种uefi bios架构下虚拟dos实现的方法、系统及介质 Active CN109062656B (zh)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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