Linux系统下硬盘启动的方法

文档序号:6437294阅读:320来源:国知局
专利名称:Linux系统下硬盘启动的方法
技术领域
本发明涉及计算机的系统启动,尤其涉及Linux系统下硬盘启动的方法。
背景技术
目前在常见的PC以及单板通常只有一块硬盘,在这块硬盘上需要安装0S,当然用户数据也是保存在这块硬盘上;可是若是这块硬盘损坏,则OS无法启动并且用户数据会丢失。PC是指计算机,OS是指计算机的操作系统。目前为了提高OS以及数据的可靠性,可以采用专用硬件RAID控制器来挂载两块硬盘来实现RAIDl的方法,也就是采用专用的硬件RAID控制器(比如采用LSI1064E)来挂载两块硬盘来实现RAIDl的方法,这样可以做到一块硬盘损坏,OS可以正常启动,用户数据亦不会丢失;可是这种办法需要采用专用的芯片,成本较高且若是芯片出现问题很难得到有效的服务,而且这类芯片厂家不提供相关源代码,很难在厂家源代码的基础上做增强开发。针对这个问题,可以不采用硬件RAID控制器,而是采用软件实现增强的RAIDl的方案;这样增强的软件RAIDl方案需要硬件设计时利用CPU桥片自带的存储接口外挂两块硬盘。软件实现RAIDl可以采用Linux自带的软RAID,但是使用Linux提供的软RAIDl技术可以把Linux装在RAID分区内,但是由于Linux安装程序无法把Linux内核镜像以及启动程序&文件分别写在两块硬盘对应的boot分区内,而是只能写入一块对应的boot分区内,所以若一块硬盘出现问题,会造成Linux无法启动;boot分区是指引导分区。

发明内容
为了解决现有技术中一块硬盘出现故障,造成Linux无法启动的问题,本发明提供了一种Linux系统下硬盘启动的方法。本发明提供了一种Linux系统下硬盘启动的方法,包括如下步骤
A.安装Linux时,对第一硬盘和第二硬盘进行分区,每块硬盘的分区数量至少为两个,所述第一硬盘有一个分区作为boot分区,所述第二硬盘有一个分区作为boot分区,所述两块硬盘的分区数量、以及分区容量均相同;
B.分区完毕之后,首先使用Linux软RAID配置工具把两块硬盘上的非boot分区的分区配置为软RAID分区,然后把Linux安装在第一硬盘的软RAID分区内;
C.Linux安装完毕之后,将第一硬盘的boot分区里的数据镜像至第二硬盘的boot分区内;所述第一硬盘的boot分区里存储有内核镜像以及启动程序和文件;分别设置第一硬盘和第二硬盘成功启动的标识为是状态;
D.BIOS引导Linux时,若发现第一块硬盘成功启动标识为是状态,则从第一块硬盘启动,否则从第二块硬盘启动。作为本发明的进一步改进,在所述步骤C中,将第一 硬盘的boot分区里的数据镜像至第二硬盘的boot分区内通过使用Linux提供的备份命令,将第一硬盘的boot分区里的数据备份至第二硬盘的boot分区内。作为本发明的进一步改进,在所述步骤C中,将第一硬盘的boot分区里的数据镜像至第二硬盘的boot分区内通过用户态程序,直接读取第一硬盘的boot分区内的数据,然后把数据写入第二硬盘的boot分区内。作为本发明 的进一步改进,在Linux启动,BIOS引导Linux时,执行第一硬盘引导步骤
Al.判断第一硬盘成功启动的标识的状态,如为是状态、那么执行A2步骤,如为否状态,那么跳转执行第二硬盘引导步骤; A2.从第一硬盘引导Linux ; A3.将第一硬盘成功启动的标识设为否状态; A4. Linux正常启动以后,将第一硬盘成功启动的标识设为是状态; 第二硬盘引导步骤
Bi.判断第二硬盘成功启动的标识的状态,如为是状态、那么执行B2步骤,如为否状态,那么结束引导;
B2.从第二硬盘引导Linux;
B3.将第二硬盘成功启动的标识设为否状态;
B4. Linux正常启动以后,将第二硬盘成功启动的标识设为是状态。作为本发明的进一步改进,在所述A3步骤中,启动硬件看门狗;在所述A4步骤中, 启动软件看门狗;在所述B3步骤中,启动硬件看门狗;在所述B4步骤中,启动软件看门狗。本发明的有益效果是本发明通过软件实现RAID1,当一块硬盘出现故障时,可以从另一块硬盘启动Linux,而且可以大大降低硬件成本,并且可以获得同采用硬RAID方案同样的可靠性。


图1是本发明的方法流程图。图2是本发明的Linux启动时的方法流程图。
具体实施例方式如图1所示,本发明公开了一种Linux系统下硬盘启动的方法,包括如下步骤Sl 至步骤S4:在步骤Sl中,安装Linux时,对第一硬盘和第二硬盘进行分区,每块硬盘的分区数量至少为两个,所述第一硬盘有一个分区作为boot分区,所述第二硬盘有一个分区作为boot分区,所述两块硬盘的分区数量、以及分区容量均相同。在步骤S2中,分区完毕之后,首先使用Linux软RAID配置工具把两块硬盘上的非boot分区的分区配置为软RAID分区,然后把Linux安装在第一硬盘的软RAID分区内。在步骤S3中,Linux安装完毕之后, 将第一硬盘的boot分区里的数据镜像至第二硬盘的boot分区内;所述第一硬盘的boot分区里存储有内核镜像以及启动程序和文件;分别设置第一硬盘和第二硬盘成功启动的标识为是状态。在步骤S4中,BIOS引导Linux时,若发现第一块硬盘成功启动标识为是状态, 则从第一块硬盘启动,否则从第二块硬盘启动。为了描述方便,将第一硬盘用SDA表示,第二硬盘用SDB表示,将第一硬盘成功启动的标识用3丨3汁叩01(_4表示,将第一硬盘成功启动的标识用StartupOK_B表示。标识的是状态用O表示,标识的否状态用非O表示;例如,第一硬盘成功启动的标识为是状态便用 StartupOK_A为O表示,同理,第二硬盘成功启动的标识为是状态便用StartupOK_B为O表示。Boot分区是指引导分区。 作为本发明的一个实施例,在所述步骤S3中,将第一硬盘的boot分区里的数据镜像至第二硬盘的boot分区内通过使用Linux提供的备份命令,将第一硬盘的boot分区里的数据备份至第二硬盘的boot分区内;该备份命令为Linux提供的dd命令,该命令如下 dd if=/dev/SDA of=/dev/SDB。作为本发明的另一个实施例,在所述步骤S3中,将第一硬盘的boot分区里的数据镜像至第二硬盘的boot分区内通过用户态程序,直接读取第一硬盘的boot分区内的数据, 然后把数据写入第二硬盘的boot分区内。该用户态程序为用户在Linux下开发的程序。如图2所示,在Linux启动,BIOS引导Linux时,执行第一硬盘引导步骤,第一硬盘引导步骤包括步骤Wl至步骤W4,在步骤Wl中,判断第一硬盘成功启动的标识的状态,如为是状态、那么执行W2步骤,如为否状态,那么跳转执行第二硬盘引导步骤。在步骤W2中, 从第一硬盘引导Linux。在步骤W3中,将第一硬盘成功启动的标识设为否状态。在步骤W4 中,Linux正常启动以后,将第一硬盘成功启动的标识设为是状态。第二硬盘引导步骤包括步骤Ql至步骤Q4,在步骤Ql中,判断第二硬盘成功启动的标识的状态,如为是状态、那么执行Q2步骤,如为否状态,那么结束引导。在步骤Q2中,从第二硬盘引导Linux。在步骤Q3 中,将第二硬盘成功启动的标识设为否状态。在步骤Q4中,Linux正常启动以后,将第二硬盘成功启动的标识设为是状态。BIOS进行硬件初始化时,首先扫描SDA,并检查Startup0K_A是否为0,若 Startup0K_A为0,那么便从SDA引导Linux ;若Startup0K_A不为0,则标识无法从SDA引导Linux,则从SDB引导Linux,由于SDA/SDB boot分区都包含有相同的数据,则无论从那块硬盘引导Linux,都是可以正常引导;当没有扫描到SDA时,Startup0K_A不为0。因为在步骤Q3中,Startup0K_B不为0 ;在步骤Q4中,Linux正常启动以后,将 Startup0K_B设为0,所以说只有通过SDB使得Linux正常启动以后,Startup0K_B为0,否则Startup0K_B不为0。也就是说,在第一次SDB引导Linux,并使Linux正常启动以后;在第二次中,SDB才可以引导Linux,否则SDB没有引导Linux的机会;同样,步骤W3和步骤 W4的作用与步骤Q3和步骤Q4的作用是相同的。作为本发明的一个实施例,在步骤W3中,启动硬件看门狗;在步骤W4中,启动软件看门狗;在步骤Q3中,启动硬件看门狗;在步骤Q4中,启动软件看门狗。硬件看门狗若是在指定时间内没有得到喂狗,则会自动进行复位,这样可以防止 Linux启动过程中挂死;Linux正常启动以后,启动软件看门狗,防止Linux运行过程中挂死。Linux 操作系统,RAID 独立冗余磁盘阵列。以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1.一种Linux系统下硬盘启动的方法,其特征在于,包括如下步骤安装Linux时,对第一硬盘和第二硬盘进行分区,每块硬盘的分区数量至少为两个, 所述第一硬盘有一个分区作为boot分区,所述第二硬盘有一个分区作为boot分区,所述两块硬盘的分区数量、以及分区容量均相同;分区完毕之后,首先使用Linux软RAID配置工具把两块硬盘上的非boot分区的分区配置为软RAID分区,然后把Linux安装在第一硬盘的软RAID分区内;Linux安装完毕之后,将第一硬盘的boot分区里的数据镜像至第二硬盘的boot分区内;所述第一硬盘的boot分区里存储有内核镜像以及启动程序和文件;分别设置第一硬盘和第二硬盘成功启动的标识为是状态;BIOS引导Linux时,若发现第一块硬盘成功启动标识为是状态,则从第一块硬盘启动, 否则从第二块硬盘启动。
2.根据权利要求1所述的方法,其特征在于在所述步骤C中,将第一硬盘的boot分区里的数据镜像至第二硬盘的boot分区内通过使用Linux提供的备份命令,将第一硬盘的 boot分区里的数据备份至第二硬盘的boot分区内。
3.根据权利要求1所述的方法,其特征在于在所述步骤C中,将第一硬盘的boot分区里的数据镜像至第二硬盘的boot分区内通过用户态程序,直接读取第一硬盘的boot分区内的数据,然后把数据写入第二硬盘的boot分区内。
4.根据权利要求1至3任一项所述的方法,其特征在于在Linux启动,BIOS引导 Linux时,执行第一硬盘引导步骤Al.判断第一硬盘成功启动的标识的状态,如为是状态、那么执行A2步骤,如为否状态,那么跳转执行第二硬盘引导步骤; A2.从第一硬盘引导Linux ; A3.将第一硬盘成功启动的标识设为否状态; A4. Linux正常启动以后,将第一硬盘成功启动的标识设为是状态; 第二硬盘引导步骤Bi.判断第二硬盘成功启动的标识的状态,如为是状态、那么执行B2步骤,如为否状态,那么结束引导;B2.从第二硬盘引导Linux ;B3.将第二硬盘成功启动的标识设为否状态;B4. Linux正常启动以后,将第二硬盘成功启动的标识设为是状态。
5.根据权利要求4所述的方法,其特征在于在所述A3步骤中,启动硬件看门狗;在所述A4步骤中,启动软件看门狗;在所述B3步骤中,启动硬件看门狗;在所述B4步骤中,启动软件看门狗。
全文摘要
本发明提供了一种Linux系统下硬盘启动的方法,包括如下步骤A.安装Linux时,对第一硬盘和第二硬盘进行分区,每块硬盘的分区数量至少为两个,所述第一硬盘有一个分区作为boot分区,所述第二硬盘有一个分区作为boot分区,所述两块硬盘的分区数量、以及分区容量均相同;B.分区完毕之后,首先使用Linux软RAID配置工具把两块硬盘上的非boot分区的分区配置为软RAID分区,然后把Linux安装在第一硬盘的软RAID分区内;C.Linux安装完毕之后,将第一硬盘的boot分区里的数据镜像至第二硬盘的boot分区内;所述第一硬盘的boot分区里存储有内核镜像以及启动程序和文件;D.BIOS引导Linux时,若发现第一块硬盘成功启动标识为是状态,则从第一块硬盘启动,否则从第二块硬盘启动分别设置第一硬盘和第二硬盘成功启动的标识为是状态。
文档编号G06F11/14GK102331958SQ20111034127
公开日2012年1月25日 申请日期2011年11月2日 优先权日2011年11月2日
发明者赵玉燕 申请人:赵玉燕
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1