在UEFIBIOS中实现多种文件系统的方法与流程

文档序号:13072450阅读:1139来源:国知局
在UEFI BIOS中实现多种文件系统的方法与流程

本发明涉及一种在uefibios中实现多种文件系统的方法,属于uefibios的技术领域。



背景技术:

随着cpu及其他计算机硬件设备的革新,传统的legacybios逐渐暴露出其不足之处,例如,开发效率低、性能差、功能扩展性差、升级缓慢、安全性差以及不支持从硬盘2tb以上的地址引导等。legacybios的这些不足逐渐成为计算机系统发展的瓶颈。基于此,uefi(unifiedextensiblefirmwareinterface,统一可扩展固件接口)于20世纪90年代中期被提出,uefi很好的弥补了legacybios的不足,主要得益于uefi系统的以下优点:开发效率更高、可扩展性更强、系统性能更好、安全性更高。

传统的legacybios采用的是legacybios+mbr的启动方式,在bios完成平台自检后,进行启动设备检测,当检测到启动设备后,执行mbr中的启动程序,从而进入操作系统。随着legacybios被uefibios所取代,这种启动方式也会渐渐退出历史舞台(因为兼容性原因,现在还有较多平台采用这种启动方式)。uefibios采用的是uefibios+gpt的启动方式,在uefi系统安装完成之后,系统的启动程序(一般为pe32格式的efi可执行文件)会放在启动设备(如硬盘)的某个路径下,uefibios完成平台自检并检测到启动设备后,开始从启动设备中加载系统启动程序,从而将控制权交给操作系统,uefibios的工作到此完成。由上可见,uefibios需要在启动设备的文件路径下加载系统启动程序,因此,uefibios必须支持文件系统。uefibios的灵活性和开放性给计算机带来了新的发展空间。相比legacybios,uefibios更像一个微操作系统,可在操作系统载入之前操控所有的硬件资源,且具有实现更复杂逻辑运算的能力,这一特点使得在uefibios中加载文件系统驱动成为可能。

uefibios默认支持fat文件系统,由于这个限制,系统的启动文件必须放在启动设备的fat分区中,否则uefibios将无法加载操作系统启动文件。



技术实现要素:

针对现有技术的不足,本发明提供一种在uefibios中实现多种文件系统的方法。

本发明的技术方案为:

一种在uefibios中实现多种文件系统的方法,包括步骤如下:

1)在uefibios中添加多个文件系统驱动;

2)按照uefi驱动模型,为文件系统驱动匹配文件系统接口驱动;本步骤为步骤1)中的多个文件系统匹配一个统一的符合uefi规范的接口驱动;

3)文件系统接口驱动遍历系统中所有的存储设备;

4)针对每个存储设备,加载文件系统接口驱动,遍历所有文件系统,直至得到正确的文件系统驱动;

5)如果遍历所有文件系统后没有得到正确的文件系统驱动,则判定uefibios中没有可启动的设备。

根据本发明优选的,所述文件系统驱动为ext,iso9660和fat。

根据本发明优选的,所述文件系统接口驱动包括blocklo和disklo。

根据本发明优选的,所述步骤4)的具体实现过程如下:

uefibios在运行到bds阶段进行存储设备和文件系统驱动的connect操作时,针对每个存储设备分区,通过文件系统接口驱动遍历所有的文件系统,并进行挂载操作,如果挂载成功,则判定对应的文件系统能够驱动当前的存储设备,则将对应的文件系统驱动安装到当前存储设备并停止遍历过程;如果挂载失败,则继续遍历,直至遍历到对应的文件系统;其中,uefibios为每个存储设备分区分配一个handle。

本发明的有益效果为:

1.本发明所述在uefibios中实现多种文件系统的方法,将多种文件系统做成统一的符合uefi驱动格式的接口,根据检测到的不同存储设备加载相应的文件系统;克服了uefibios系统的启动文件必须放在启动设备的fat分区中的限制,提高了uefibios的灵活性。

附图说明

图1为uefibios中支持多种文件系统的驱动接口示意图;

图2为uefibios遍历存储设备及文件系统流程图。

具体实施方式

下面结合实施例和说明书附图对本发明做进一步说明,但不限于此。

实施例1

如图1-2所示。

一种在uefibios中实现多种文件系统的方法,包括步骤如下:

1)在uefibios中添加三个文件系统驱动;三个文件系统驱动为ext,iso9660和fat;

2)按照uefi驱动模型,为文件系统驱动匹配文件系统接口驱动;本步骤为步骤1)中的多个文件系统匹配一个统一的符合uefi规范的接口驱动;

3)文件系统接口驱动遍历系统中所有的存储设备;

4)针对每个存储设备,加载文件系统接口驱动,遍历所有文件系统,直至得到正确的文件系统驱动;

5)如果遍历所有文件系统后没有得到正确的文件系统驱动,则判定uefibios中没有可启动的设备。

实施例2

如实施例1所述的在uefibios中实现多种文件系统的方法,所不同的是,所述文件系统接口驱动包括blocklo和disklo。

实施例3

如实施例1所述的在uefibios中实现多种文件系统的方法,所不同的是,所述步骤4)的具体实现过程如下:

uefibios在运行到bds阶段进行存储设备和文件系统驱动的connect操作时,针对每个存储设备分区,通过文件系统接口驱动遍历所有的文件系统,并进行挂载操作,如果挂载成功,则判定对应的文件系统能够驱动当前的存储设备,则将对应的文件系统驱动安装到当前存储设备并停止遍历过程;如果挂载失败,则继续遍历,直至遍历到对应的文件系统;其中,uefibios为每个存储设备分区分配一个handle。



技术特征:

技术总结
本发明涉及一种在UEFI BIOS中实现多种文件系统的方法。本发明所述在UEFI BIOS中实现多种文件系统的方法,将多种文件系统做成统一的符合UEFI驱动格式的接口,根据检测到的不同存储设备加载相应的文件系统;克服了UEFI BIOS系统的启动文件必须放在启动设备的FAT分区中的限制,提高了UEFI BIOS的灵活性。

技术研发人员:刘君朋;刘毅枫;陈亮甫;牛玉峰;刘维霞
受保护的技术使用者:山东超越数控电子有限公司
技术研发日:2017.07.31
技术公布日:2017.12.01
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1