一种调整启动顺序的方法及装置的制造方法

文档序号:9235320阅读:164来源:国知局
一种调整启动顺序的方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别涉及一种调整启动顺序的方法及装置。
【背景技术】
[0002]随着服务器技术的快速发展,服务器系统功能越来越复杂,搭配的设备众多,例如 AHCI (Serial ATA Advanced Host Controller Interface,串行 ATA 高级主控接口)、RAID (Redundant Arrays of Independent Disks,磁盘阵列)、网络设备等。在服务器启动过程中,默认的启动顺序是由硬件设计的时候分配的PCIE (Peripheral ComponentInterface Express,总线和接口标准)BUS(总线)序号决定的。由于用户的业务或配置需求,某些情况下用户指定要让某种类型设备优先启动,例如,RAID - AHCI —网络这样的启动顺序,为了安全,客户将OS (操作系统)安装在RAID卡所挂载的硬盘上,因此要求RAID卡设备作为第一启动设备,默认情况是不符合这种要求的。除此之外,对于某些存储类型的服务器,需要搭配数量众多的硬盘,这些硬盘有些是芯片组直连的AHCI硬盘,有些是通过外置芯片连接和管理的其他类型硬盘,用户的不同需求或配置也决定了此时会存在需要调整启动顺序的问题。
[0003]现有技术中,一般通过在硬件设计时,修改PCIE BUS序号来调整启动顺序,操作比较复杂,不够灵活。

【发明内容】

[0004]有鉴于此,本发明提供了一种调整启动顺序的方法及装置,能够灵活地调整启动顺序。
[0005]一方面,本发明提供了一种调整启动顺序的方法,包括:预先确定启动设备的启动顺序,还包括:
[0006]S1:获取所述启动设备的索引值Index ;
[0007]S2:遍历所有的启动设备选项BootOpt1n,确定每个Index对应的BootOpt1n ;
[0008]S3:根据每个Index对应的启动设备和每个Index对应的BootOpt1n,确定每个启动设备对应的BootOpt1n ;
[0009]S4:根据所述启动顺序,给所述启动设备对应的BootOpt1n中的优先级Pr1rity赋值。
[0010]进一步地,所述S2中,所述确定每个Index对应的BootOpt1n,包括:
[0011]判断当前Index与当前BootOpt1n中的BBSIndex是否相等,如果是,则确定当前Index与当前BootOpt1n相对应,否则,确定当前Index与当前BootOpt1n不相对应。
[0012]进一步地,还包括:
[0013]查询基本输入输出系统B1S中的启动设备选项列表BBS Table,确定所述BBSTable中的所有启动设备的识别信息,其中,所述识别信息包括:总线BUS序号、设备DEV序号、功能FUN序号中的一个或多个;
[0014]根据当前启动设备的识别信息,访问当前启动设备,获取当前启动设备的类型信息,其中,所述类型信息包括:类型Class、子类型SubClass、厂商号VID、设备号DID中的一个或多个;
[0015]根据每个启动设备的类型信息给所有启动设备分类;
[0016]所述预先确定启动设备的启动顺序,包括:
[0017]确定同一类的启动设备的启动顺序相连。
[0018]进一步地,在所述S3之后,还包括:
[0019]获取每个启动设备对应的BootOpt1n中的Pr1rity,将所有的Pr1rity的值按照大小顺序进行排序;
[0020]所述S4,包括:
[0021]根据所述启动顺序和所述排序后的所有的Pr1rity的值,给所述启动设备对应的 BootOpt1n 中的 Pr1rity 赋值。
[0022]进一步地,所述SI,包括:
[0023]遍历B1S中的BBS Table,从所述BBS Table中获取所述启动设备的Index。
[0024]另一方面,本发明提供了一种调整启动顺序的装置,包括:
[0025]启动顺序确定单元,用于确定启动设备的启动顺序;
[0026]第一获取单元,用于获取所述启动设备的索引值Index ;
[0027]第一确定单元,用于遍历所有的启动设备选项BootOpt1n,确定每个Index对应的 BootOpt1n ;
[0028]第二确定单元,用于根据每个Index对应的启动设备和每个Index对应的BootOpt1n,确定每个启动设备对应的BootOpt1n ;
[0029]赋值单元,用于根据所述启动顺序,给所述启动设备对应的BootOpt1n中的优先级Pr1rity赋值。
[0030]进一步地,所述第一确定单元,在执行确定每个Index对应的BootOpt1n时,具体执行:判断当前Index与当前BootOpt1n中的BBSIndex是否相等,当判断结果为是时,确定当前Index与当前BootOpt1n相对应,当判断结果为否时,确定当前Index与当前BootOpt1n不相对应。
[0031]进一步地,还包括:
[0032]查询单元,用于查询基本输入输出系统B1S中的启动设备选项列表BBS Table,确定所述BBS Table中的所有启动设备的识别信息,其中,所述识别信息包括:总线BUS序号、设备DEV序号、功能FUN序号中的一个或多个;
[0033]第二获取单元,用于根据当前启动设备的识别信息,访问当前启动设备,获取当前启动设备的类型信息,其中,所述类型信息包括:类型Class、子类型SubClass、厂商号VID、设备号DID中的一个或多个;
[0034]分类单元,用于根据每个启动设备的类型信息给所有启动设备分类;
[0035]所述启动顺序确定单元,用于确定同一类的启动设备的启动顺序相连。
[0036]进一步地,还包括:
[0037]第三获取单元,用于获取每个启动设备对应的BootOpt1n中的Pr1rity,将所有的Pr1rity的值按照大小顺序进行排序;
[0038]所述赋值单元,用于根据所述启动顺序和所述排序后的所有的Pr1rity的值,给所述启动设备对应的BootOpt1n中的Pr1rity赋值。
[0039]进一步地,所述第一获取单元,用于遍历B1S中的BBS Table,从所述BBS Table中获取所述启动设备的Index。
[0040]本发明提供了一种调整启动顺序的方法及装置,预先确定启动设备的启动顺序,使得后续根据该启动顺序进行调整,获取启动设备的Index,找到每个Index对应的BootOpt1n,以Index为纽带得到每个启动设备对应的BootOpt1n,在BootOpt1n中有Pr1rity,通过修改Pr1rity即可对启动顺序进行调整,无需对现有的硬件设备进行修改,根据预先确定的启动顺序,对各个启动设备对应的BootOpt1n中的Pr1rity进行赋值,实现灵活地调整启动顺序。
【附图说明】
[0041]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042]图1是本发明一实施例提供的一种调整启动顺序的方法;
[0043]图2是本发明一实施例提供的另一种调整启动顺序的方法;
[0044]图3是本发明一实施例提供的一种调整启动顺序的装置;
[0045]图4是本发明一实施例提供的另一种调整启动顺序的装置。
【具体实施方式】
[0046]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047]如图1所示,本发明实施例提供了一种调整启动顺序的方法,该方法可以包括以下步骤:
[0048]SO:预先确定启动设备的启动顺序;
[0049]S1:获取所述启动设备的Index(索引值);
[0050]S2:遍历所有的BootOpt1n (启动设备选项),确定每个Index对应的BootOpt1n ;
[0051]S3:根据每个Index对应的启动设备和每个Index对应的BootOpt1n,确定每个启动设备对应的BootOpt1n ;
[0052]S4:根据所述启动顺序,给所述启动设备
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1