CN102331958A - Linux系统下硬盘启动的方法 - Google Patents

Linux系统下硬盘启动的方法 Download PDF

Info

Publication number
CN102331958A
CN102331958A CN201110341271A CN201110341271A CN102331958A CN 102331958 A CN102331958 A CN 102331958A CN 201110341271 A CN201110341271 A CN 201110341271A CN 201110341271 A CN201110341271 A CN 201110341271A CN 102331958 A CN102331958 A CN 102331958A
Authority
CN
China
Prior art keywords
hard disk
linux
subregion
state
boot
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.)
Pending
Application number
CN201110341271A
Other languages
English (en)
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201110341271A priority Critical patent/CN102331958A/zh
Publication of CN102331958A publication Critical patent/CN102331958A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供了一种Linux系统下硬盘启动的方法,包括如下步骤:A.安装Linux时,对第一硬盘和第二硬盘进行分区,每块硬盘的分区数量至少为两个,所述第一硬盘有一个分区作为boot分区,所述第二硬盘有一个分区作为boot分区,所述两块硬盘的分区数量、以及分区容量均相同;B.分区完毕之后,首先使用Linux软RAID配置工具把两块硬盘上的非boot分区的分区配置为软RAID分区,然后把Linux安装在第一硬盘的软RAID分区内;C.Linux安装完毕之后,将第一硬盘的boot分区里的数据镜像至第二硬盘的boot分区内;所述第一硬盘的boot分区里存储有内核镜像以及启动程序和文件;D.BIOS引导Linux时,若发现第一块硬盘成功启动标识为是状态,则从第一块硬盘启动,否则从第二块硬盘启动分别设置第一硬盘和第二硬盘成功启动的标识为是状态。

Description

Linux系统下硬盘启动的方法
技术领域
本发明涉及计算机的系统启动,尤其涉及Linux系统下硬盘启动的方法。
背景技术
目前在常见的PC以及单板通常只有一块硬盘,在这块硬盘上需要安装OS,当然用户数据也是保存在这块硬盘上;可是若是这块硬盘损坏,则OS无法启动并且用户数据会丢失。PC是指计算机,OS是指计算机的操作系统。
目前为了提高OS以及数据的可靠性,可以采用专用硬件RAID控制器来挂载两块硬盘来实现RAID1的方法,也就是采用专用的硬件RAID控制器(比如采用LSI1064E)来挂载两块硬盘来实现RAID1的方法,这样可以做到一块硬盘损坏,OS可以正常启动,用户数据亦不会丢失;可是这种办法需要采用专用的芯片,成本较高且若是芯片出现问题很难得到有效的服务,而且这类芯片厂家不提供相关源代码,很难在厂家源代码的基础上做增强开发。
 针对这个问题,可以不采用硬件RAID控制器,而是采用软件实现增强的RAID1的方案;这样增强的软件RAID1方案需要硬件设计时利用CPU桥片自带的存储接口外挂两块硬盘。软件实现RAID1可以采用Linux自带的软RAID,但是使用Linux提供的软RAID1技术可以把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时,执行第一硬盘引导步骤:
A1. 判断第一硬盘成功启动的标识的状态,如为是状态、那么执行A2步骤,如为否状态,那么跳转执行第二硬盘引导步骤;
A2. 从第一硬盘引导Linux;
A3. 将第一硬盘成功启动的标识设为否状态;
A4. Linux正常启动以后,将第一硬盘成功启动的标识设为是状态;
第二硬盘引导步骤:
B1. 判断第二硬盘成功启动的标识的状态,如为是状态、那么执行B2步骤,如为否状态,那么结束引导;
B2. 从第二硬盘引导Linux;
B3. 将第二硬盘成功启动的标识设为否状态;
B4. Linux正常启动以后,将第二硬盘成功启动的标识设为是状态。
作为本发明的进一步改进,在所述A3步骤中,启动硬件看门狗;在所述A4步骤中,启动软件看门狗;在所述B3步骤中,启动硬件看门狗;在所述B4步骤中,启动软件看门狗。
本发明的有益效果是:本发明通过软件实现RAID1,当一块硬盘出现故障时,可以从另一块硬盘启动Linux,而且可以大大降低硬件成本,并且可以获得同采用硬RAID方案同样的可靠性。
附图说明
图1是本发明的方法流程图。
图2是本发明的Linux启动时的方法流程图。
具体实施方式
如图1所示,本发明公开了一种Linux系统下硬盘启动的方法,包括如下步骤S1至步骤S4:在步骤S1中,安装Linux时, 对第一硬盘和第二硬盘进行分区,每块硬盘的分区数量至少为两个,所述第一硬盘有一个分区作为boot分区,所述第二硬盘有一个分区作为boot分区,所述两块硬盘的分区数量、以及分区容量均相同。在步骤S2中,分区完毕之后,首先使用Linux软RAID配置工具把两块硬盘上的非boot分区的分区配置为软RAID分区,然后把Linux安装在第一硬盘的软RAID分区内。在步骤S3中,Linux安装完毕之后, 将第一硬盘的boot分区里的数据镜像至第二硬盘的boot分区内;所述第一硬盘的boot分区里存储有内核镜像以及启动程序和文件;分别设置第一硬盘和第二硬盘成功启动的标识为是状态。在步骤S4中,BIOS引导Linux时,若发现第一块硬盘成功启动标识为是状态,则从第一块硬盘启动,否则从第二块硬盘启动。
为了描述方便,将第一硬盘用SDA表示,第二硬盘用SDB表示,将第一硬盘成功启动的标识用StartupOK_A表示,将第一硬盘成功启动的标识用StartupOK_B表示。标识的是状态用0表示,标识的否状态用非0表示;例如,第一硬盘成功启动的标识为是状态便用StartupOK_A为0表示,同理,第二硬盘成功启动的标识为是状态便用StartupOK_B为0表示。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时,执行第一硬盘引导步骤,第一硬盘引导步骤包括步骤W1至步骤W4,在步骤W1中,判断第一硬盘成功启动的标识的状态,如为是状态、那么执行W2步骤,如为否状态,那么跳转执行第二硬盘引导步骤。在步骤W2中,从第一硬盘引导Linux。在步骤W3中,将第一硬盘成功启动的标识设为否状态。在步骤W4中,Linux正常启动以后,将第一硬盘成功启动的标识设为是状态。第二硬盘引导步骤包括步骤Q1至步骤Q4,在步骤Q1中,判断第二硬盘成功启动的标识的状态,如为是状态、那么执行Q2步骤,如为否状态,那么结束引导。在步骤Q2中,从第二硬盘引导Linux。在步骤Q3中,将第二硬盘成功启动的标识设为否状态。在步骤Q4中,Linux正常启动以后,将第二硬盘成功启动的标识设为是状态。
BIOS进行硬件初始化时,首先扫描SDA,并检查StartupOK_A是否为0,若StartupOK_A为0,那么便从SDA引导Linux;若StartupOK_A不为0,则标识无法从SDA引导Linux,则从SDB引导Linux,由于SDA/SDB boot分区都包含有相同的数据,则无论从那块硬盘引导Linux,都是可以正常引导;当没有扫描到SDA时,StartupOK_A不为0。
因为在步骤Q3中,StartupOK_B不为0;在步骤Q4中,Linux正常启动以后,将StartupOK_B设为0,所以说只有通过SDB使得Linux正常启动以后,StartupOK_B为0,否则StartupOK_B不为0。也就是说,在第一次SDB引导Linux,并使Linux正常启动以后;在第二次中,SDB才可以引导Linux,否则SDB没有引导Linux的机会;同样,步骤W3和步骤W4的作用与步骤Q3和步骤Q4的作用是相同的。
作为本发明的一个实施例,在步骤W3中,启动硬件看门狗;在步骤W4中,启动软件看门狗;在步骤Q3中,启动硬件看门狗;在步骤Q4中,启动软件看门狗。
硬件看门狗若是在指定时间内没有得到喂狗,则会自动进行复位,这样可以防止Linux启动过程中挂死;Linux正常启动以后,启动软件看门狗,防止Linux运行过程中挂死。
Linux:操作系统,RAID:独立冗余磁盘阵列。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (5)

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时,执行第一硬盘引导步骤:
A1. 判断第一硬盘成功启动的标识的状态,如为是状态、那么执行A2步骤,如为否状态,那么跳转执行第二硬盘引导步骤;
A2. 从第一硬盘引导Linux;
A3. 将第一硬盘成功启动的标识设为否状态;
A4. Linux正常启动以后,将第一硬盘成功启动的标识设为是状态;
第二硬盘引导步骤:
B1. 判断第二硬盘成功启动的标识的状态,如为是状态、那么执行B2步骤,如为否状态,那么结束引导;
B2. 从第二硬盘引导Linux;
B3. 将第二硬盘成功启动的标识设为否状态;
B4. Linux正常启动以后,将第二硬盘成功启动的标识设为是状态。
5. 根据权利要求4所述的方法,其特征在于:在所述A3步骤中,启动硬件看门狗;在所述A4步骤中,启动软件看门狗;在所述B3步骤中,启动硬件看门狗;在所述B4步骤中,启动软件看门狗。
CN201110341271A 2011-11-02 2011-11-02 Linux系统下硬盘启动的方法 Pending CN102331958A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110341271A CN102331958A (zh) 2011-11-02 2011-11-02 Linux系统下硬盘启动的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110341271A CN102331958A (zh) 2011-11-02 2011-11-02 Linux系统下硬盘启动的方法

Publications (1)

Publication Number Publication Date
CN102331958A true CN102331958A (zh) 2012-01-25

Family

ID=45483742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110341271A Pending CN102331958A (zh) 2011-11-02 2011-11-02 Linux系统下硬盘启动的方法

Country Status (1)

Country Link
CN (1) CN102331958A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841863A (zh) * 2012-07-10 2012-12-26 上海德拓信息技术有限公司 采用双硬盘读写操作的数据备援方法
CN104020965A (zh) * 2014-06-27 2014-09-03 浪潮(北京)电子信息产业有限公司 一种实现软raid多冗余的方法及其小型机系统
CN104156286A (zh) * 2014-08-22 2014-11-19 福建星网视易信息系统有限公司 一种linux操作系统的系统盘切换方法及装置
CN105183512A (zh) * 2015-08-28 2015-12-23 浪潮(北京)电子信息产业有限公司 一种在物理硬盘部署操作系统的方法及系统
CN105279046A (zh) * 2015-11-04 2016-01-27 研华科技(中国)有限公司 一种提高嵌入式系统可靠性的方法
CN106156626A (zh) * 2015-03-27 2016-11-23 阿里巴巴集团控股有限公司 一种系统安全升级的方法和装置
CN103677887B (zh) * 2012-09-26 2017-06-27 联想(北京)有限公司 一种信息处理方法以及一种电子设备
CN107368315A (zh) * 2017-07-20 2017-11-21 郑州云海信息技术有限公司 一种双硬盘双系统的启动方法及装置
CN107544780A (zh) * 2016-06-23 2018-01-05 北京忆恒创源科技有限公司 一种操作系统的安装方法与安装装置
CN109271284A (zh) * 2018-09-26 2019-01-25 郑州云海信息技术有限公司 一种服务器boot分区的故障恢复方法、装置及设备
CN109284135A (zh) * 2018-09-07 2019-01-29 深圳市航顺芯片技术研发有限公司 一种简捷调用微控制器内部启动程序的方法
CN111897676A (zh) * 2020-07-15 2020-11-06 北京天顶星智能信息技术有限公司 一种基于数据库索引的文件备份方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172074A1 (en) * 2004-02-04 2005-08-04 Sandisk Corporation Dual media storage device
CN101038551A (zh) * 2006-03-16 2007-09-19 南京大学 在移动硬盘上实现启动Linux操作系统的方法
CN101866289A (zh) * 2009-04-17 2010-10-20 英业达股份有限公司 多重操作系统启动方法
US20110066881A1 (en) * 2009-09-14 2011-03-17 International Business Machines Corporation Resilient software-controlled redundant array of independent disks (raid)

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172074A1 (en) * 2004-02-04 2005-08-04 Sandisk Corporation Dual media storage device
CN101038551A (zh) * 2006-03-16 2007-09-19 南京大学 在移动硬盘上实现启动Linux操作系统的方法
CN101866289A (zh) * 2009-04-17 2010-10-20 英业达股份有限公司 多重操作系统启动方法
US20110066881A1 (en) * 2009-09-14 2011-03-17 International Business Machines Corporation Resilient software-controlled redundant array of independent disks (raid)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841863A (zh) * 2012-07-10 2012-12-26 上海德拓信息技术有限公司 采用双硬盘读写操作的数据备援方法
CN103677887B (zh) * 2012-09-26 2017-06-27 联想(北京)有限公司 一种信息处理方法以及一种电子设备
CN104020965A (zh) * 2014-06-27 2014-09-03 浪潮(北京)电子信息产业有限公司 一种实现软raid多冗余的方法及其小型机系统
CN104156286A (zh) * 2014-08-22 2014-11-19 福建星网视易信息系统有限公司 一种linux操作系统的系统盘切换方法及装置
CN106156626B (zh) * 2015-03-27 2020-04-10 阿里巴巴集团控股有限公司 一种系统安全升级的方法和装置
CN106156626A (zh) * 2015-03-27 2016-11-23 阿里巴巴集团控股有限公司 一种系统安全升级的方法和装置
CN105183512A (zh) * 2015-08-28 2015-12-23 浪潮(北京)电子信息产业有限公司 一种在物理硬盘部署操作系统的方法及系统
CN105279046A (zh) * 2015-11-04 2016-01-27 研华科技(中国)有限公司 一种提高嵌入式系统可靠性的方法
CN107544780A (zh) * 2016-06-23 2018-01-05 北京忆恒创源科技有限公司 一种操作系统的安装方法与安装装置
CN107544780B (zh) * 2016-06-23 2021-11-30 北京忆恒创源科技股份有限公司 一种操作系统的安装方法与安装装置
CN107368315A (zh) * 2017-07-20 2017-11-21 郑州云海信息技术有限公司 一种双硬盘双系统的启动方法及装置
CN109284135A (zh) * 2018-09-07 2019-01-29 深圳市航顺芯片技术研发有限公司 一种简捷调用微控制器内部启动程序的方法
CN109284135B (zh) * 2018-09-07 2022-02-01 深圳市航顺芯片技术研发有限公司 一种简捷调用微控制器内部启动程序的方法
CN109271284A (zh) * 2018-09-26 2019-01-25 郑州云海信息技术有限公司 一种服务器boot分区的故障恢复方法、装置及设备
CN111897676A (zh) * 2020-07-15 2020-11-06 北京天顶星智能信息技术有限公司 一种基于数据库索引的文件备份方法及装置

Similar Documents

Publication Publication Date Title
CN102331958A (zh) Linux系统下硬盘启动的方法
US7574627B2 (en) Memory dump method, memory dump program and computer system
US9158628B2 (en) Bios failover update with service processor having direct serial peripheral interface (SPI) access
US9239725B2 (en) System and method for installing an OS via a network card supporting PXE
US7877639B2 (en) Systems and methods to provide failover support for booting embedded hypervisor from an internal non-volatile memory card
EP2798491B1 (en) Method and device for managing hardware errors in a multi-core environment
US9367400B2 (en) System reset
US9448889B2 (en) BIOS failover update with service processor
US8219851B2 (en) System RAS protection for UMA style memory
US20130067137A1 (en) Systems and methods for using reserved solid state nonvolatile memory storage capacity for system reduced power state
US10025670B2 (en) Information processing apparatus, memory dump method, and storage medium
CN1700171A (zh) 提供从虚拟环境对硬件的直接访问
CN102591675A (zh) 使用共享存储块管理多软件镜像的方法和系统
US20060036832A1 (en) Virtual computer system and firmware updating method in virtual computer system
US20130339780A1 (en) Computing device and method for processing system events of computing device
CN104077167A (zh) 基于nand flash的启动加载方法和装置
JP2007133544A (ja) 障害情報解析方法及びその実施装置
CN115981685A (zh) 应用升级方法、装置、计算设备和芯片系统
WO2011114476A1 (ja) マルチコアプロセッサシステム、通知プログラム、および通知方法
US10491736B2 (en) Computer system and method thereof for bluetooth data sharing between UEFI firmware and OS
WO2018059565A1 (zh) 闪存数据的备份方法及系统
KR20180023784A (ko) 사전 부팅 환경에서 raid 볼륨에 접근하는 데이터 저장 시스템 및 방법
US7506115B2 (en) Incremental provisioning of software
US20060047927A1 (en) Incremental provisioning of software
US20190250994A1 (en) Backup control method and backup control system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120125