一种UEFI BIOS架构下虚拟DOS实现的方法、系统及介质技术方案

技术编号:19857055 阅读:136 留言:0更新日期:2018-12-22 11:36
本发明专利技术提供的一种UEFI BIOS架构下虚拟DOS实现的方法,采用在UEFI BIOS里集成虚拟DOS系统文件,用EFI Application的方式直接进行引导的方案,解决现有技术中效率低和不易用的技术问题,实现DOS可在无盘无网络的单机流线状态下,直接启动DOS,提高效率,简单易用的技术效果。

【技术实现步骤摘要】
一种UEFIBIOS架构下虚拟DOS实现的方法、系统及介质
本专利技术涉及BIOS系统领域,具体而言,涉及一种UEFIBIOS架构下虚拟DOS实现的方法、系统及介质。
技术介绍
通常传统的DOS启动技术,需要使用工具将硬盘或者usb盘在已有系统下进行格式化制作,形成DOS启动系统盘,进而引导到DOS下。或者在有网络的环境下,有PXE服务器的情况下,使用网络PXE来引导到DOS。不管是有盘或者有网络环境,上述这样操作的步骤专业和烦琐,耗时耗力,如果中间某个环节出错了(比如磁盘容量的约束条件或者网络服务没有启动等等),就都会直接导致引导错误,引导失败。非专业人士使用起来非常不方便。
技术实现思路
本专利技术提供一种UEFIBIOS架构下虚拟DOS实现的方法,采用在UEFIBIOS里集成虚拟DOS系统文件,用EFIApplication的方式直接进行引导的方案,解决现有技术中效率低和不易用的技术问题。本专利技术为解决上述技术问题而提供的UEFIBIOS架构下虚拟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模型,编写VirtualDOS的EFIApplication,实现所述DOS启动加载功能;C.生产VIRTUALDOS.EFI:在所述EDK的编译环境编译,生成VIRTUALDOS.EFI的EFI驱动应用文件;D.修改BIOS源码,增加BCV,以及GUIDVDOS.EFI文件模块:修改所述BIOS,在BBS列表里,增加Build-InVDOS的BCV,以及所述GUIDVDOS.EFI文件模块;E.将BCV增加到BBS列表里,以EFIApplication的方式加载VDOS.DFI:在BDS阶段,将所述BCV添加到所述BBS启动列表里,以所述EFIApplication的方式加载所述VDOS.EFI文件;F.编译输出带VDOS的BIOS:编译生成带虚拟所述VDOS功能的所述BIOS;G.BIOS开机:所述BIOSPOST开机;H.从BBS列表里选择引导设备或应用:在所述BDS阶段,按热键,显示所述BBS列表,并从所述BBS列表中选择引导设备或应用;I.判断是否选择Build-InVIRTUALDOS系统进行引导:判断是否选择Build-InVIRTUALDOS系统进行引导,如果没有选择所述Build-InVIRTUALDOS系统引导,则跳过走正常的Boot流程,如果有选择所述Build-InVIRTUALDOS系统引导,则进行步骤K;K.加载VDOS.EFIApplication:通过找到所述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为DOSBOOTRecord。所述步骤D中所述BCV为BootConnectVector,所述BCV指向VIRTUALDOS.EFI的GUID和VIRTUALDOS.EFI应用文件。所述步骤H中所述BBS列表包括Build-InShell、Build-InvDos、HardDisk、Other。一种UEFIBIOS架构下虚拟DOS实现的系统,其特征在于:所述UEFIBIOS架构下虚拟DOS实现的系统包括存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现任一项所述的方法的步骤。一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现任一项所述的方法的步骤。本专利技术所具有的有益效果:使用本方案后,DOS启动技术可以在无盘无网络的单机离线状态下,直接启动到DOS,省去了进系统,制作DOS系统等繁琐的步骤,大大节省了时间。附图说明图1是本专利技术所述UEFIBIOS架构下虚拟DOS实现的方法流程图。图2是本专利技术所述UEFIBIOS架构下虚拟DOS的流程图。图3是本专利技术所述UEFIBIOS架构下虚拟DOS的启动方式的流程图。图4是本专利技术所述1.2M软驱DOS系统扇区内容示意图。具体实施方式结合上述附图说明本专利技术的具体实施例。由图1可知,本专利技术提供一种UEFIBIOS架构下虚拟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,EFIDriver模型编码:定义GUID,按照EFIDriver模型,编写VirtualDOS的EFIApplication,实现所述DOS启动加载功能;C.生产VIRTUALDOS.EFI:在所述EDK的编译环境编译,生成VIRTUALDOS.EFI的EFI驱动应用文件;D.修改BIOS源码,增加BCV,以及GUIDVDOS.EFI文件模块:修改所述BIOS,在BBS列表里,增加Build-InVDOS的BCV,以及所述GUIDVDOS.EFI文件模块;E.将BCV增加到BBS列表里,以EFIApplication的方式加载VDOS.DFI:在BDS阶段,将所述BCV添加到所述BBS启动列表里,以所述EFIApplication的方式加载所述VDOS.EFI文件;F.编译输出带VDOS的BIOS:编译生成带虚拟所述VDOS功能的所述BIOS;由图3可知,G.BIOS开机:所述BIOSPOST开机;H.从BBS列表里选择引导设备或应用:在所述BDS阶段,按热键,显示所述BBS列表,并从所述BBS列表中选择引导设备或应用;I.判断是否选择Build-InVIRTUALDOS系统进行引导:判断是否选择Build-InVIRTUALDOS系统进行引导,如果没有选择所述Build-InVIRTUALDOS系统引导,则跳过走正常的Boot流程,如果有选择所述Build-InVIRTUALDOS系统引导,则进行步骤K;K.加载VDOS.EFIApplication:通过找到所述VDOS.EFI的所述GUID,加载所述VDOS.EFI应用;L.加载DBR.BIN到0:7c00的内存位置,并转到内存0:7c00:调用所述VDOS.EFI应用后,执行所述DOS的启动流程本文档来自技高网...

【技术保护点】
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,EFI Driver模型编码:定义GUID,按照EFI Driver模型,编写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.DFI:在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‑In VIRTUALDOS系统进行引导,如果没有选择所述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提示符。...

【技术特征摘要】
1.一种UEFIBIOS架构下虚拟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模型,编写VirtualDOS的EFIApplication,实现所述DOS启动加载功能;C.生成VIRTUALDOS.EFI:在所述EDK的编译环境编译,生成VIRTUALDOS.EFI的EFI驱动应用文件;D.修改BIOS源码,增加BCV,以及GUIDVDOS.EFI文件模块:修改所述BIOS,在BBS列表里,增加Build-InVDOS的BCV,以及所述GUIDVDOS.EFI文件模块;E.将BCV增加到BBS列表里,以EFIApplication的方式加载VDOS.DFI:在BDS阶段,将所述BCV添加到所述BBS启动列表里,以所述EFIApplication的方式加载所述VDOS.EFI文件;F.编译输出带VDOS的BIOS:编译生成带虚拟所述VDOS功能的所述BIOS;G.BIOS开机:所述BIOSPOST开机;H.从BBS列表里选择引导设备或应用:在所述BDS阶段,按热键,显示所述BBS列表,并从所述BBS列表中选择引导设备或应用;I.判断是否选择Build-InVIRTUALDOS系统进行引导:判断是否选择Build-InVIRTUALDOS系统进行引导,如果没有选择所述Build-InVIRTUALDOS系统引导,则跳过走正常的Boot流程,如果有选择所述Build-InVIRTUALDOS系统引导,则进行步骤K...

【专利技术属性】
技术研发人员:吴建成
申请(专利权)人:深圳市同泰怡信息技术有限公司
类型:发明
国别省市:广东,44

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

1