一种通过initramfs修复文件系统的方法及装置制造方法及图纸

技术编号:19856909 阅读:41 留言:0更新日期:2018-12-22 11:34
本发明专利技术提供一种通过initramfs修复文件系统的方法及装置,包括如下步骤:在系统下建立临时文件夹;重新编译生成initramfs并将文件系统修复工具编译进initramfs;设置中断断点进行新编译生成的initramfs;查询根目录文件系统格式;根据分区系统文件格式执行文件系统的修复指令。重新编译initramfs,并将fsck.ext3、fsck.ext4、xfs_repair文件系统修复工具安装进initramfs;将编译后的initramfs放入/boot目录。

【技术实现步骤摘要】
一种通过initramfs修复文件系统的方法及装置
本专利技术涉及系统文件修复
,具体涉及一种通过initramfs修复文件系统的方法及装置。
技术介绍
当Linux系统磁盘读写过程中出现问题,如异常终止、接口松动、异常掉电、或应用进程读写错误等情况时,会导致文件系统损坏,需要进行文件系统修复操作;如果是非系统所在磁盘,如数据盘文件系统损坏,可以在系统下使用fsck、xfs_repair等工具对文件系统进行修复;但若是系统所在磁盘上的文件系统出现问题,系统将无法正常启动,系统根目录无法正常挂载,启动停留在initramfs界面,无法进行文件系统修复现有的对该问题的解决方案,需要从光盘介质,或搭载有和当前系统相同的系统安装镜像启动盘启动,进入Rescue救援模式的bashshell中进行修复,操作较为复杂并需要系统盘等介质工具。
技术实现思路
为了克服上述现有技术中的不足,本专利技术提供一种通过initramfs修复文件系统的方法及装置,以解决上述技术问题。本专利技术的技术方案:一种通过initramfs修复文件系统的方法,包括如下步骤:重新编译生成initramfs并将文件系统修复工具编译进initramfs;设置中断断点进行新编译生成的initramfs;查询根目录文件系统格式;根据分区系统文件格式执行文件系统的修复指令。进一步的,步骤重新编译生成initramfs并将文件系统修复工具编译进initramfs之前包括:在系统下建立临时文件夹。进一步的,步骤重新编译生成initramfs并将文件系统修复工具编译进initramfs,包括:重新编译initramfs,并将fsck.ext3、fsck.ext4、xfs_repair文件系统修复工具安装进initramfs;将编译后的initramfs放入/boot目录。进一步的,步骤设置中断断点进行新编译生成的initramfs,包括:系统启动时在grub界面进行grub参数的编辑;在kernel行增加rdbreak=[断点];系统自动启动到initramfs时根据设置的断点中断,从断点处进入initramfs系统。进一步的,步骤系统自动启动到initramfs时根据设置的断点中断,从断点处进入initramfs系统,包括:修改initrd行,修改为从/initramfs-rapairfs.img文件引导,按‘b’启动进入initramfs系统。进一步的,步骤查询根目录文件系统格式,包括:执行blkid命令,确定根目录文件系统格式。本专利技术技术方案还提供一种通过initramfs修复文件系统的装置,包括编译模块、中断设置模块、查询模块和执行模块;编译模块,用于重新编译生成initramfs并将文件系统修复工具编译进initramfs;中断设置模块,用于设置中断断点进入新编译生成的initramfs;查询模块,用于查询根目录文件系统格式;执行模块,用于根据分区系统文件格式执行文件系统的修复指令。进一步的,该系统还包括创建模块,所述创建模块,用于在系统下建立临时文件夹。进一步的,步骤重新编译生成initramfs并将文件系统修复工具编译进initramfs,包括:编译模块,用于重新编译initramfs,并将fsck.ext3、fsck.ext4、xfs_repair文件系统修复工具安装进initramfs,并将编译后的initramfs放入/boot目录。进一步的,中断设置模块包括参数编译单元、断点设置单元和断点接口单元;参数编译单元,用于系统启动时在grub界面进行grub参数的编辑;断点设置单元,用于在kernel行增加rdbreak=[断点];断点接口单元,用于系统自动启动到initramfs时根据设置的断点中断,从断点接口单元处进入initramfs系统。中断设置模块还包括断点接口触发单元;所述断点接口触发单元,用于用过修改initrd行,修改为从/initramfs-rapairfs.img文件引导,按触发按键‘b’启动进入initramfs系统。作为断点进入initramfs的阶段包括cmdline、pre-udev、pre-trigger、initqueue、pre-mount、mount、pre-pivot、cleanup;其中,cmdline阶段执行的内容为解析kernelcmdline的参数;pre-udev阶段执行的内容为udev启动之前,写入udev规则;pre-trigger阶段执行的内容为udev启动之后,设置udev环境变量;initqueue阶段执行的内容为udev时间监控/等待超时/结束;pre-mount阶段执行的时间点为mount根分区之前的时间点;mount阶段执行的内容为将真实的根文件系统mount到/sysroot;pre-pivot阶段执行的时间点为切换到真实根文件系统的systemd之前的时间点;cleanup阶段执行的内容为切换到真实根文件系统的systemd之前,最后的清理工作。从以上技术方案可以看出,本专利技术具有以下优点:在无需光盘镜像进入应急模式的情况下,可以将fsck.ext3、fsck.ext4、xfs_repair等文件系统修复工具,重新编译进initramfs镜像中,并通过initramfs的断点,在mount/sysroot根目录前进入断点,在initramfs中,对系统根目录所在磁盘的文件系统完成修复,保证系统磁盘恢复正常运行状态。此外,本专利技术设计原理可靠,结构简单,具有非常广泛的应用前景。由此可见,本专利技术与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。附图说明图1为一种通过initramfs修复文件系统的方法流程示意图;图2为设置中断断点进行新编译生成的initramfs流程示意图。具体实施方式下面结合附图并通过具体实施例对本专利技术进行详细阐述,以下实施例是对本专利技术的解释,而本专利技术并不局限于以下实施方式。本专利技术的技术方案:实施例一如图1所示,一种通过initramfs修复文件系统的方法,包括如下步骤:S1:重新编译生成initramfs并将文件系统修复工具编译进initramfs;S2:设置中断断点进行新编译生成的initramfs;S3:查询根目录文件系统格式;S4:根据分区系统文件格式执行文件系统的修复指令。步骤S1之前包括:S0:在系统下建立临时文件夹。步骤S1包括:S11:重新编译initramfs,并将fsck.ext3、fsck.ext4、xfs_repair文件系统修复工具安装进initramfs;S12:将编译后的initramfs放入/boot目录。如图2所示,步骤S2包括:S21:系统启动时在grub界面进行grub参数的编辑;S22:在kernel行增加rdbreak=[断点];S23:系统自动启动到initramfs时根据设置的断点中断,从断点处进入initramfs系统。步骤S23包括:修改initrd行,修改为从/initramfs-rapairfs.img文件引导,按‘b’启动进入initramfs系统。步骤S3包括:执行blkid命令,确定根目录文件系统格式。实施例二一种通过initramfs修复文件系统的方法,包括如下步骤本文档来自技高网...

【技术保护点】
1.一种通过initramfs修复文件系统的方法,其特征在于,包括如下步骤:重新编译生成initramfs并将文件系统修复工具编译进initramfs;设置中断断点进行新编译生成的initramfs;查询根目录文件系统格式;根据分区系统文件格式执行文件系统的修复指令。

【技术特征摘要】
1.一种通过initramfs修复文件系统的方法,其特征在于,包括如下步骤:重新编译生成initramfs并将文件系统修复工具编译进initramfs;设置中断断点进行新编译生成的initramfs;查询根目录文件系统格式;根据分区系统文件格式执行文件系统的修复指令。2.根据权利要求1所述的一种通过initramfs修复文件系统的方法,其特征在于,步骤重新编译生成initramfs并将文件系统修复工具编译进initramfs之前包括:在系统下建立临时文件夹。3.根据权利要求1所述的一种通过initramfs修复文件系统的方法,其特征在于,步骤重新编译生成initramfs并将文件系统修复工具编译进initramfs,包括:重新编译initramfs,并将fsck.ext3、fsck.ext4、xfs_repair文件系统修复工具安装进initramfs;将编译后的initramfs放入/boot目录。4.根据权利要求3所述的一种通过initramfs修复文件系统的方法,其特征在于,步骤设置中断断点进行新编译生成的initramfs,包括:系统启动时在grub界面进行grub参数的编辑;在kernel行增加rdbreak=[断点];系统自动启动到initramfs时根据设置的断点中断,从断点处进入initramfs系统。5.根据权利要求4所述的一种通过initramfs修复文件系统的方法,其特征在于,步骤系统自动启动到initramfs时根据设置的断点中断,从断点处进入initramfs系统,包括:修改initrd行,修改为从/initramfs-rapairfs.img文件引导,按‘b’启动进入initram...

【专利技术属性】
技术研发人员:刘骏
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1