Linux操作系统及其启动过程中挂载文件系统的方法技术方案

技术编号:8271288 阅读:203 留言:0更新日期:2013-01-31 03:29
本发明专利技术公开了一种Linux操作系统及其启动过程中挂载文件系统的方法,克服目前Linux操作系统启动过程中文件系统挂载失败时无法正常进入操作系统的缺陷,该方法包括:挂载根文件系统;根据内核引导参数中的文件系统挂载点来修复/etc/fatab文件的挂载点位置。本申请的实施例解决了Linux操作系统启动时因文件系统挂载失败而导致无法正常进入操作系统的问题,降低了操作系统的维护成本。

【技术实现步骤摘要】
本专利技术涉及Linux操作系统,尤其涉及一种Linux操作系统及其启动过程中挂载文件系统的方法
技术介绍
Linux内核在启动的时候,能接收某些命令行选项或启动时参数。当内核不能识别某些硬件进而不能设置硬件参数,或为避免内核更改某些参数的值,可以通过这种方式手动将这些参数传递给内核。如果不使用启动管理器,而直接从基本输入输出系统(BIOS)或者将内核文件用“ cp z Image/dev/f d0 ”等方法来启动设备,就不能给内核传递参数或选项。 Linux的内核参数是以空格分开的一个字符串列表,通常具有如下形式name [=value_l] [, value_2]. . . [, value_10]“name”是关键字,内核用它来识别应该把“关键字”后面的值传递给谁,也就是如何处理这个值,是传递给处理例程还是作为环境变量或者抛给“init”。值的个数限制为10,可以通过再次使用该关键字使用超过10个的参数。内核收到内核参数后,首先检查内核参数的关键字是不是'root=/,' nfsroot=','nfsaddrs=, ' ro' , ' rw' , ' debug'或'init',然后内核在bootsetups数组里搜索于该关键字相关联的已注册的处理函数,如果找到相关联的已注册的处理函数,则调用这些处理函数并把关键字后面的值作为参数传递给这些处理函数。比如在启动时设置参数name = a, b, c, d,内核搜索bootsetups数组,如果发现“name”已注册,则调用“name”的设置函数如name_setup O ,并把a, b, c, d传递给name_setup O 执行。ro参数通知内核以只读方式加载根文件系统,以便进行文件系统完整性检查,如运行fsck。rw参数通知内核以读写方式加载根文件系统,这是默认值。root=参数通知内核启动时使用哪个设备作为根文件系统。比如可以指定根文件为 hda8 :root=/dev/hda8。但是,目前Linux操作系统启动过程中文件系统挂载失败时将无法正常启动操作系统。
技术实现思路
本专利技术所要解决的技术问题是克服目前Linux操作系统启动过程中文件系统挂载失败时无法正常进入操作系统的缺陷。为了解决上述技术问题,本专利技术提供了一种Linux操作系统启动过程中挂载文件系统的方法,该方法包括挂载根文件系统;根据内核引导参数中的文件系统挂载点来修复/etc/fatab文件的挂载点位置。优选地,所述挂载根文件系统,包括采用读写方式挂载所述根文件系统。优选地,所述根据内核引导参数中的文件系统挂载点来修复/etc/fatab文件的挂载点位置,包括获取所述内核引导参数中的root=参数;根据所述root=参数来修复所述/etc/fstab文件中的文件系统的挂载点位置。优选地,所述获取所述内核引导参数中的root=参数,包括根据/proc/cmdline文件获取所述内核引导参数中的所述root=参数。`优选地,所述根据所述root=参数来修复所述/etc/fstab文件中的文件系统的挂载点位置,包括根据所述root=参数获取内核启动时作为根文件系统的设备,将该设备对应的设备号替换到所述/etc/fatab文件中挂载文件系统的硬盘分区,修复所述/etc/fstab文件中的文件系统的挂载点位置。优选地,该方法包括修复所述/etc/fatab文件的挂载点位置后,卸载所述根文件系统。本申请还提供了一种Linux操作系统,该系统包括挂载模块,配置为挂载根文件系统;修复模块,配置为根据内核引导参数中的文件系统挂载点来修复/etc/fatab文件的挂载点位置。 优选地,所述修复模块包括获取单元,配置为获取所述内核引导参数中的root=参数;修复单元,配置为根据所述root=参数修复所述/etc/fstab文件中的文件系统的挂载点位置。优选地,所述获取单元配置为根据/proc/cmdline文件获取所述内核引导参数中的所述root=参数。优选地,所述修复单元包括获取子单元,配置为根据所述root=参数获取内核启动时作为根文件系统的设备;替换子单元,配置为将该设备对应的设备号替换到所述/etc/fatab文件中挂载文件系统的硬盘分区,修复所述/etc/fstab文件中的文件系统的挂载点位置。与现有技术相比,本申请的实施例解决了 Linux操作系统启动时因文件系统挂载失败而导致无法正常进入操作系统的问题,降低了操作系统的维护成本。本申请的实施例不限于某种Linux,而是适用于各种Linux操作系统,因此本专利技术具有较好的通用性。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图I为本申请实施例的Linux操作系统启动过程中挂载文件系统的方法的流程示意图。图2为本申请实施例的Linux操作系统的构造示意图。具体实施例方式以下将结合附图及实施例来详细说明本专利技术的实施方式,借此对本专利技术如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征在不相冲突前提下的相互结合,均在本专利技术的保护范围之内。目前,Linux操作系统在启动时,会根据/etc/fstab文件中挂载的文件系统来挂 载硬盘分区。当/etc/fstab文件中挂载的文件系统与内核引导参数中的硬盘分区不一致时,就会造成系统无法启动的问题。如图I所示,本申请实施例的Linux操作系统启动过程中挂载文件系统的方法,主要包括如下内容。S110,挂载根文件系统。本申请的实施例仅可以采用读写方式挂载根文件系统。S120,根据内核引导参数中的文件系统挂载点来修复/etc/fatab文件的挂载点位置。本申请的实施例,是获取内核引导参数中的root=参数,根据root=参数来修复/etc/fstab文件中的文件系统的挂载点位置。根据内核引导参数中的root=参数,获取内核启动时作为根文件系统的设备。将该设备对应的设备号拷贝替换到/etc/fatab文件中挂载文件系统的硬盘分区,即可修复/etc/fstab文件中的文件系统的挂载点位置。内核引导参数中的root=参数,表示了内核启动时使用哪个硬盘分区作为根文件系统。该root=参数可以根据/proc/cmdline文件来获取。本申请的实施例通过内核引导参数中的root=参数来修复/etc/fstab文件的硬盘分区挂载点。如图I所示,本申请的实施例还可以在修复/etc/fatab文件的挂载点位置后,卸载根文件系统(图中以步骤S130不出)。之后完成Linux 呆作系统后续的启动过程。如图2所示,本申请实施例的Linux操作系统,主要包括挂载模块210以及与挂载模块210相连接的修复模块220。挂载模块210配置为挂载根文件系统。修复模块220配置为挂载模块210挂载根文件系统后,根据内核引导参数中的文件系统挂载点来修复/etc/fatab文件的挂载点位置。本文档来自技高网
...

【技术保护点】
一种Linux操作系统启动过程中挂载文件系统的方法,其特征在于,该方法包括:挂载根文件系统;根据内核引导参数中的文件系统挂载点来修复/etc/fatab文件的挂载点位置。

【技术特征摘要】
1.一种Linux操作系统启动过程中挂载文件系统的方法,其特征在于,该方法包括 挂载根文件系统; 根据内核引导参数中的文件系统挂载点来修复/etc/fatab文件的挂载点位置。2.根据权利要求I所述的方法,其特征在于,所述挂载根文件系统,包括 采用读写方式挂载所述根文件系统。3.根据权利要求I所述的方法,其特征在于,所述根据内核引导参数中的文件系统挂载点来修复/etc/fatab文件的挂载点位置,包括 获取所述内核引导参数中的root=参数; 根据所述root=参数来修复所述/etc/fstab文件中的文件系统的挂载点位置。4.根据权利要求3所述的方法,其特征在于,所述获取所述内核引导参数中的root=参数,包括 根据/proc/cmdline文件获取所述内核引导参数中的所述root=参数。5.根据权利要求3所述的方法,其特征在于,所述根据所述root=参数来修复所述/etc/fstab文件中的文件系统的挂载点位置,包括 根据所述root=参数获取内核启动时作为根文件系统的设备,将该设备对应的设备号替换到所述/etc/fatab文件中挂载文件系统的硬盘分区,修复所述/etc/...

【专利技术属性】
技术研发人员:游顺张猛白新奋
申请(专利权)人:中标软件有限公司
类型:发明
国别省市:

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

1