1. 系统运行级别

运行级别

含义

关机

1

单用户模式,可想象为windows的安全模式,主要用于系统修复

2

不完全的命令行模式,不含NFS服务

完全的命令行模式,就是标准字符界面

4

系统保留

图形模式

重启动

(1) 运行级别命令

runlevel #查看运行级别命令 N表示进入3前面的级别

init 运行级别 #改变运行级别命令

(2) 系统默认运行级别

在配置文件/etc/inittab中进行修改即可

id:3:initdefault: #系统开机后直接进入指定的运行级别

2. 启动流程

(1) initramfs内存文件系统,位于/boot中

CentOS 6.x中使用initramfs内存文件系统取代了CentOS 5.x中的initrd RAM Disk。它们的作用类似,可以通过启动引导程序加载到内存中,然后加载启动过程中所需要的内核模块,比如USB、SATA、SCSI硬盘的驱动和LVM、RAID文件系统的驱动。

# 创建initramfs目录
[root@localhost initramfs]# mkdir /tmp/initramfs #拷贝
[root@localhost initramfs]# cp /boot/initramfs-2.6.-.el6.i686.img /tmp/initramfs/ #进入
[root@localhost initramfs]# cd /tmp/initramfs/ #查看文件类型
[root@localhost initramfs]# file initramfs-2.6.-.el6.i686.img #修改后缀
[root@localhost initramfs]# mv initramfs-2.6.-.el6.i686.img initramfs-2.6.-.el6.i686.img.gz #解压缩
[root@localhost initramfs]# gunzip initramfs-2.6.-.el6.i686.img.gz #查看文件类型 [root@localhost initramfs]# file initramfs-2.6.-.el6.i686.img #提取文件
[root@localhost initramfs]# cpio -idvcu < initramfs-2.6.-.el6.i686.img

(2) 调用/etc/init/rcS.conf配置文件

主要功能有两个:

先调用/etc/rc.d/rc.sysinit,然后由/etc/rc.d/rc.sysinit配置文件进行Linux系统的初始化。

然后再调用/ect/inittab,然后由/etc/inittab配置文件确定系统的默认运行级别。

(3) 调用/etc/rc.d/rc文件

运行级别参数传入/etc/rc.d/rc这个脚本之后,由于这个脚本文件按照不用的运行级别启动/etc/rc[0-6].d/目录中的相应的程序。

如:/etc/rc3.d/K??开头的文件(??是数字),会按照数字顺序依次关闭;/etc/rc3.d/S??开头的文件,会按照数字顺序依次启动。

3. 启动引导程序grub

(1) grub中分区表示

硬盘

分区

Linux中设备文件名

Grub中设备文件名

第一个SCSI硬盘

第一个主分区

/dev/sda1

hd(0,0)

第二个主分区

/dev/sda2

hd(0,1)

扩展分区

/dev/sda3

hd(0,2)

第一个逻辑分区

/dev/sda5

hd(0,4)

第二个SCSI硬盘

第一个主分区

/dev/sdb1

hd(1,0)

第二个主分区

/dev/sdb2

hd(1,1)

扩展分区

/dev/sdb3

hd(1,2)

第一个逻辑分区

/dev/sdb5

hd(1,4)

(2) grub配置文件

vi /boot/grub/grub.conf

default=0         默认启动第一个系统

timeout=5        等待时间,默认是5秒

splashimage=(hd0,0)/grub/splash.xpm.gz       指定grub启动时的背景图像文件的保存位置

hidemenu  隐藏菜单

title CentOS(…) title就是标题的意思

root (hd0,0)      是指启动程序的保存分区

kernel /vmlinuz-…. ro 定义内核加载时的选项

initrd /initramfs      指定了initramfs内存文件系统镜像文件的所在位置

(3) VMware中的Linux虚拟机的grub界面

启动时按任意键,可以进入GRUB界面

按e键可进入编辑模式:

4. grub加密与字符界面分辨率调整

(1) grub加密

#设置grub密码
[root@localhost ~]# grub-md5-crypt
Password:
Retype password:
$$C71lN$BHBoOHGIQJ0xYkgn0K9QX0 #将生成的密码写入grub配置文件中的整体设置处
[root@localhost ~]# vi /etc/grub.conf
.......
password --md5 $$C71lN$BHBoOHGIQJ0xYkgn0K9QX0
......

重启后,进入grub界面,可以看到需要输入密码才能进入grub编辑模式

(2) 纯字符界面分辨率调整

#查看内核是否支持分辨率修改

grep "CONFIG_FRAMEBUFFER_CONSLE" /boot/config-2.6.32-279.el6.i686

然后在grub配置文件中的kernel后加入vga=791即可调整。

5. 系统修复模式

(1) 单用户模式

启动单用户模式:在grub界面中修改kernel的选项,在grub命令行末尾加上1,然后启动即可进入单用户模式。

单用户模式常见的错误修复:遗忘root密码和修改系统默认运行级别

(2) 光盘修复模式

如果忘记grub密码,可以通过光盘修复模式来进行修改。

如何进入光盘修复模式:

放入光盘:

按F2进入BIOS,设置为光盘启动。按F10保存并启动,可以看到如下图:

重要系统文件丢失,导致系统无法启动,如inittab。可以通过如下命令进行修复:

(3) Linux的安全性

Linux学习笔记(22) Linux启动管理的更多相关文章

  1. [转帖]Linux学习笔记之rpm包管理功能全解

    Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...

  2. linux学习笔记2 - linux常用命令

    转载请标注原链接:http://www.cnblogs.com/xczyd/p/5543731.html 第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装lin ...

  3. Linux学习笔记之Linux启动级别

    对于绝大多数Linux程序员来说,进入Linux系统后一般看到的是黑乎乎的界面(开发模式),因为系统如果启动选择开发模式,会减少启动时间,优化内存等.但是通常我们刚安装完Linux系统,然后进去以后是 ...

  4. linux学习笔记--程序与进程管理

    .工作管理 1.前台程序放后台程序  命令后 加  & 2.任务执行时将前台任务任务放到后台中并[暂停]  ctr + z 3.jobs 观察后台工作状态 及多少任务在执行,可以通过 help ...

  5. Linux学习笔记之Linux启动引导过程

    早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行 ...

  6. Linux学习笔记之Linux相关知识

    [想成为某一方面的大神,没有捷径可走,只能不断的记录.练习.总结.coding……] notes:主要从网上摘录了一些关于Linux的历史以及一些相关内容,以便对Linux系统有一定的了解.这不但可以 ...

  7. Linux学习笔记之Linux系统启动过程

    Linux系统的启动过程可以分为五个阶段: 内核的引导 运行init 系统初始化 建立终端 用户登录系统 1.内核引导: 当计算机打开电源后,首先进行BIOS开机自检,按照BIOS中设置的启动设备(一 ...

  8. Linux学习笔记之Linux第一课-基本介绍

    Linux简介 Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基 ...

  9. Linux学习笔记(21) Linux日志管理

    1. 简介 (1) 日志服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式 ...

随机推荐

  1. 使用swift 中的注意,不断完善中

    1. 应该充分利用swfit的新特性 比如如果按照oc里的习惯,调用一个delegate中都optional函数应该这样写 if delegate != nil && delegate ...

  2. MPlayer-2016 最新版本

    MPlayer 和 FFmpeg 最新版本 运行 Install.cmd 添加右键播放功能 mplayer\outformat.conf 配置视频分割命令参数 ; 往前0.05秒 大概10多个帧 ' ...

  3. js验证手机号

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  4. 【processing】小代码2

    函数: 绘制直线自由图形: beginShape(), vertex(), endShape() 分别是绘制图形开始,连接图形的节点,绘制结束 endShape(CLOSE)表示闭合图形. 绘制曲线边 ...

  5. struts 拦截器 Interceptor

         拦截器是AOP中的概念,它本身是一段代码,可以通过定义“织入点”,来指定拦截器的代码在“织入点”的前后执行,从而起到拦截的作用.正如上面 Struts2的Reference中讲述的,Stru ...

  6. 启动Eclipse弹出:Failed to load JavaHL Library 错误框的解决办法

    一.问题背景描述: eclipse安装完svn插件以后,在启动时出现:Failed to load JavaHL Library.  These are the errors that were en ...

  7. iOS应用架构谈(三):View层的组织和调用方案(下)

    iOS客户端应用架构看似简单,但实际上要考虑的事情不少.本文作者将以系列文章的形式来回答iOS应用架构中的种种问题,本文是其中的第二篇,主要讲View层的组织和调用方案.下篇主要讨论做View层架构的 ...

  8. 模拟赛1101d1

    完美的序列(sequence)Time Limit:1000ms Memory Limit:64MB题目描述LYK 认为一个完美的序列要满足这样的条件:对于任意两个位置上的数都不相同.然而并不是所有的 ...

  9. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十) 之 自定义系统消息和总结

    前言 本篇主要讲解一个东西,就是我们自定义系统消息.效果如下: 首先我们要做的准备工作就是改写 layim 的消息模板,如果不改的话就成为某个用户发送的消息了,那么体验就稍微差一些.找到模板我们看一下 ...

  10. 阿里云服务器出现Warning: Cannot modify header information - headers already sent by (output started at 问题的解决方法

    阿里云服务器出现Warning: Cannot modify header information - headers already sent by (output started at 问题的解决 ...