fstab、init文件创建,内核启动管理

/etc/下的fstab文件和/sbin/下的init文件的创建,内核启动列表管理简述

fstab、init文件创建,内核启动管理

17

一、/etc/fstab文件创建

某些时候当Linux系统下划分了新的分区后,需要将这些分区设置为开机自动挂载,否则,Linux是无法使用新建的分区的。 /etc/fstab 文件负责配置Linux开机时自动挂载的分区。根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁盘分区。假如我们把/etc/fstab文件删除了,或者该文件里的分区名和挂载点出现了错误,导致系统无法正常启动,那么下面介绍了我们可以怎么将其恢复。

1、/etc/fstab文件错误,系统救援模式下会提醒:系统将尝试去寻找相关的挂载点,但是提示我们没有找到任何LINUX分区。

1

2

2、救援模式进入系统后,我们发现根目录不知道是挂载到哪个分区下了,我们用分区工具查询一下我们现有的linux分区,如下图所示:没有显示根目录的位置,所以我们来尝试的挂载一下根目录,创建/mnt/rootfs挂载点,我们试着把分区都挂载一下,基于平时的经验,我们确认/dev/sda2是根目录的挂载点。

3

4

4.5

3、查看一下/etc/fstab文件,显示没有该文件。那我们就创建该文件,用vim打开编辑也可以,用cat将文件内容重定向到文件里也可以,这里我们采用第二种方法。把我们需要挂载的分区都写到文件里去。第一列到最后一列依次是:分区名,挂载点,文件系统类型,挂载参数,dump备份设置,fsck磁盘检查设置。

5

6

4、编辑完后我们可以查看一下/etc/fstab文件,内容都有了,blkid可以看到我们挂载的分区UUID和文件系统类型都有了。现在我们重启,系统就可以启动成功了。

 

二、/sbin/init文件创建

1、在系统启动过程中,加载Kernel之后,紧接着系统会调用/sbin/init程序。如果该程序文件不存在将是灾难性的。现在我们尝试恢复该文件。下图是该文件丢失后,系统启动后的反应,无法进入shell。

7

2、/sbin/init程序丢失我们可以查看一下init文件是依赖于哪个包文件,rpm  -qf  init ,可以看到init程序是出自于upstart程序包,那现在我们来安装此程序包,如下图所示:安装upstart包中为/sbin/init的文件。安装好以后查看sbin目录下,init程序文件已经恢复出来了。重启系统。

8

 

三、内核管理(删除不用的内核启动项、更改默认启动内核)

1、如果我们在系统中安装了多个内核,而后续有的内核不想要了,然后内核启动时启动列表里仍然显示着不需要的内核,我们可以将其删除。

9

2、我的系统中有3版本的内核和4版本的内核,现在我把4版本的内核删除,对应的我们需要找到内核相关的文件。/boot/目录下,执行rm  -f  *4.16*,这样/boot/下关于内核4版本的文件就没了,然后还需要进入/lib/modules文件夹下,把4版本的文件删除,接着,我们需要进入/etc/grub2.cfg文件(CentOS6中是/etc/grub.conf),把关于内核4版本的项全部删除,如下图中选中的内容所示。这样我们重启后会发现,我们不想要的系统内核版本已经不在启动列表里了。

10

3、查看系统内核的个数为2个,分别是内核3版本和救援模式内核

13

4、查看内核默认启动项为saved

11

5、查看saved的参数设定为内核3版本。因此系统启动时默认启动内核3版本。

14

6、如果我们内核启动列表里有多个内核版本,默认启动的内核不是自己想要启动的内核,那么我们可以更改/etc/default/grub文件中的GRUB_DEFAULT项为你想要的启动内核,这里需要注意的是,系统启动内核列表里,从上到下第一个内核的标识为0,第二个为1,以此类推。因此如果你需要启动的内核为第二个,我们就把GRUB_DEFAULT项设定为1,这样系统启动时默认加载第二个内核。

16

7、/etc/default/grub文件修改完后,我们需要让其生效,而系统在加载内核时会读取/etc/grub2.cfg文件来确认加载哪一个内核,而/etc/grub2.cfg文件是来自/etc/default/grub文件的生成,因此我们需要用到GRUB2-MKCONFIG命令来生成新的/etc/grub2.cfg文件。完成后,我们查看一下/etc/grub2.cfg文件,默认的启动项saved_entry已经被改为1了,此时可以重启系统。修改完成。

15

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/98571

(0)
JllbcJllbc
上一篇 2018-05-15
下一篇 2018-05-15

相关推荐

  • 一次完整的http请求处理过程+MPM工作模式

     1、建立连接:接收或拒绝连接请求 2、接收请求:接收客户端请求报文中对某资源的一次请求的过程 Web访问响应模型(Web I/O)单进程I/O模型:启动一个进程处理用户请求,而且一次只处理一个,多个请求被串行响应多进程I/O模型:并行启动多个进程,每个进程响应一个连接请求复用I/O结构:启动一个进程,同时响应N个连接请求实现方法:多线程模型和事件驱动…

    2018-06-24
  • cobbler自动化安装系统相关实验

    cobbler用来快速建立 Linux 网络安装环境,基于PXE的二次封装,将多种安装参数封装到一个菜单,相较于PXE更加方便,自动化

    2018-05-26
  • Linux系统磁盘及文件系统管理

    本节索引: 一、磁盘基本概念 二、磁盘分区管理 三、文件系统管理 四、设备挂载管理     一、磁盘基本概念 设备文件: Linux中一切皆文件:open(),read(),write(),close() 设备类型: 块设备:block,存储单位“块”,磁盘 字符设备:char,存储单位“字符”,键盘 设备文件:关联至一个设备驱动程序,进…

    2018-04-24
  • route命令

    1.   使用背景         需要接入两个网络,一个是部署环境所在内网环境,这个环境是上不了外网, 外网环境很可能是一个无线网络。如果两者都连接上,很可能导致有一方不能起作用,即外网或内网上不了,常常需要使用繁琐的“禁用网络连接”、“启用网络连接”的操作来进行内外网的切换,甚是麻烦。         为了解决这个问题,可以使用route命令来使得同时内…

    Linux笔记 2018-05-01
  • 小白加薪升职记第二篇–Linux长征开始

    记录文件管理命令及Linux命令行扩展功能

    Linux笔记 2018-05-19
  • 网络模型和iproute家族命令

    1、简述osi七层模型和TCP/IP五层模型
    2、简述iproute家族命令
    3、详细说明进行管理工具htop、vmstat等相关命令,并举例
    4、使用until和while分别实现192.168.0.0/24 网段内,地址是否能够ping通,若ping通则输出”success!”,若ping不通则输出”fail!”

    2018-06-19