Linux视频学习笔记(二十)--启动管理

声明:本系列文章是博主根据 “兄弟连新版Linux视频教程”做的笔记和视频截图,只为学习和教学使用,不适用任何商业用途。

PS:文章基于Linux版本CentOS6.9,如果对Linux感兴趣,建议去看《细说Linux》,沈超老师和李明老师的教学风格我很喜欢:)

 

15.1 CentOS 6.x(CentOS 6.3)启动管理、启动流程

视频15.1.1 系统运行级别

1.运行级别

Linux视频学习笔记(二十)--启动管理_第1张图片

运行级别1:单用户模式,只启动最基本的服务,主要用于系统修复;

 

Linux还有真正的安全模式,从光盘启动;

 

Linux视频学习笔记(二十)--启动管理_第2张图片

 

init 0就是关机命令,但是不同于shutdown命令,他不会保存系统正在运行的服务状态,所以比较不安全;

init 6即重启命令;

 

如果安装系统时选择的是Basic Server,那么不会包含图形界面,init 5命令也就没有效果;

 

使用runlevel 命令可看到当前运行级别和 上次系统的运行级别(分别与上次5级别和本次3级别):

 

Linux视频学习笔记(二十)--启动管理_第3张图片

视频15.1.2 系统启动过程

启动过程:

Linux视频学习笔记(二十)--启动管理_第4张图片

 

1.MBR通过启动引导程序(grub) 进行下一步的启动;

2.相比于Windows系统安装后需要手动安装驱动,Linux在解压缩内核时会自动安装驱动,除非内核中不包含的驱动需要手动安装;

 

3.内核会搜索initramfs,然后创建一个仿真目录,在目录中搜索驱动进行加载

有意思的是,内核安装的驱动一般放在硬盘中,而如果硬盘是SATA接口的,由于读取硬盘的驱动也在硬盘中,就好比需要钥匙才能开门,但钥匙被锁在门内,怎么办呢?

         内核会搜索initramfs,然后创建一个仿真目录,在目录中搜索驱动进行加载;

同时会发现initramfs在boot分区下,而boot分区也在硬盘中,那么是如何读取的呢?其实不是由内核读取,而是有启动引导程序grub在开始时已经加载;

 

Linux视频学习笔记(二十)--启动管理_第5张图片

 

initramfs建立仿真目录过程:

Linux视频学习笔记(二十)--启动管理_第6张图片

file 文件 命令可以查看文件类型,看到initramfs是一个gzip格式的压缩文件:

 

修改文件后缀为 .gz 后,进行gunzip 压缩文件 进行解压缩;

Linux视频学习笔记(二十)--启动管理_第7张图片

 

发现解压后的文件为二进制文件(ASCII)

 

查看、解压缩 二进制文件,使用 cpio –ivcdu < 二进制文件 命令,得到解压后的目录,即仿真目录(类似根目录下的目录结构),其中主要用到的为lib下的文件

Linux视频学习笔记(二十)--启动管理_第8张图片

 

4.加载驱动后读取真正的硬盘根,进行init初始化

调用 /sbin/init 命令(系统启动的第一个命令)

然后调用/etc/init/rcS.conf 配置文件去加载其他的配置文件:

 

这个配置文件其实在/etc/inittab 中也有说明:

Linux视频学习笔记(二十)--启动管理_第9张图片

 

5.调用/etc/init/rcS.conf配置文件

Linux视频学习笔记(二十)--启动管理_第10张图片

 

6.根据/etc/init/rcS.conf配置文件调用/etc/rc.d/rc.sysinit进行系统初始化

Linux视频学习笔记(二十)--启动管理_第11张图片

Linux视频学习笔记(二十)--启动管理_第12张图片

 

7.根据/etc/init/rcS.conf调用/etc/inittab设定系统运行级别并加载附加的配置

Linux视频学习笔记(二十)--启动管理_第13张图片

 

8.根据运行级别调用/etc/rc[0-6]d

Linux视频学习笔记(二十)--启动管理_第14张图片

如上etc/rc[0-6]d/下的K开头的文件在关机时会依次执行,S开头的文件在开机时会依次执行;

Linux视频学习笔记(二十)--启动管理_第15张图片

 

9.根据/etc/rc.d/rc.local文件执行命令

15.2 启动引导程序

视频15.2.1 Grub配置文件

1.grub中分区表示

Linux视频学习笔记(二十)--启动管理_第16张图片

 

在Linux中:

如果是IDE接口接入的硬盘,设备文件名为/dev/hd[a-d] ,

如果是SATA接口或SCSI接口接入的硬盘,设备文件名为/dev/sd[a-p]

但在Grub中设备文件名统一用hd(x,y表示:

         其中x代表第x块硬盘,y代表第y个分区;

 

2.grub配置文件

Linux视频学习笔记(二十)--启动管理_第17张图片

 

进入grub配置文件vi /boot/grub/grub.conf

Linux视频学习笔记(二十)--启动管理_第18张图片

 

如上图,如果还有其他的系统,依次往下排;

在grub中(hd0,0)/grub/splash.xpm.gz 代表第一块硬盘第一个分区下的/grub/splash.xpm.gz文件,即/boot/grub/splash.xpm.gz

 

Linux视频学习笔记(二十)--启动管理_第19张图片

在下面一块内容:

         title是启动界面显示的标题,可以自定义;

         root指定根目录(只在本文件中生效)为(hd0,0) ,也就是/boot;

         kernel 加载内核用到的配置,/vmli… 也就是/boot/vmli…;

         initrd 指定用于创建仿真目录 的文件的位置,在/boot/initramfs-…;

Linux视频学习笔记(二十)--启动管理_第20张图片

视频15.2.2 Grub加密与字符界面分辨率调整

1.grub加密

Linux视频学习笔记(二十)--启动管理_第21张图片

 

在Linux开机时,随便敲击键盘可进入系统选择界面,下面说明中显示点击e可进入编辑界面,进而可以修改系统的启动配置,这是很危险的,可以通过在/boot/grub/grub.conf文件中配置编辑加密来让这个过程更安全;

 

加入我设置密码为123456,输入grub-md5-crypt命令,得到加密后的字串:

然后在/boot/grub/grub.conf开机背景设置上添加一行,password --md5 密码

Linux视频学习笔记(二十)--启动管理_第22张图片

 

Linux视频学习笔记(二十)--启动管理_第23张图片

 

此时,再进入开机等待界面,发现需要输入p来确认密码才能进入编辑界面:

Linux视频学习笔记(二十)--启动管理_第24张图片

Linux视频学习笔记(二十)--启动管理_第25张图片

 

2.纯字符界面分辨率调整

Linux视频学习笔记(二十)--启动管理_第26张图片

 

Linux视频学习笔记(二十)--启动管理_第27张图片

 

将对应的配置加在kernel最后 ,如:vga=791

Linux视频学习笔记(二十)--启动管理_第28张图片

某些版本不支持十进制,需要把上述表格中的数字换算成16进制,redhat和CentOS都支持十进制

视频15.3 系统修复模式

1.单用户模式

Linux视频学习笔记(二十)--启动管理_第29张图片

在选择系统界面,e键进入编辑模式,可以看到在/boot/grub/grub.conf文件中定义的三个系统配置:

Linux视频学习笔记(二十)--启动管理_第30张图片

我们选择第二项内核配置,同样的e键进行编辑,在最后空格追加运行级别 1,表示单用户模式:

Linux视频学习笔记(二十)--启动管理_第31张图片

再enter确认配置后,b键重新启动,此时发现不需要密码可直接进入系统:

此时我们可以使用 passwd root 命令修改root用户密码,也可以防止在/etc/inittab文件中设置运行级别为0或6而开不了机,可以重新设置运行级别:

Linux视频学习笔记(二十)--启动管理_第32张图片

 

Linux视频学习笔记(二十)--启动管理_第33张图片

 

2.光盘修复模式

Linux视频学习笔记(二十)--启动管理_第34张图片

此模式下可以去除grub加密,也可以重新从光盘中复制丢失的系统文件:

 

首先,添加镜像文件:

Linux视频学习笔记(二十)--启动管理_第35张图片

开机F2进入BIOS界面,选择光盘启动:

Linux视频学习笔记(二十)--启动管理_第36张图片

选择修复模式(第一个选项是安装系统选项):

Linux视频学习笔记(二十)--启动管理_第37张图片

一路OK(是否连接网络可以选否):

Linux视频学习笔记(二十)--启动管理_第38张图片

Linux视频学习笔记(二十)--启动管理_第39张图片

Linux视频学习笔记(二十)--启动管理_第40张图片

选择shell命令行模式:

Linux视频学习笔记(二十)--启动管理_第41张图片

发现不需要密码就可以进入系统

根据提示,使用chroot /mnt/sysimage 命令设置根目录为硬盘目录(注意在光盘模式下需要挂载硬盘)

Linux视频学习笔记(二十)--启动管理_第42张图片

 

Linux视频学习笔记(二十)--启动管理_第43张图片

 

rpm2cpio 包全名|cpio  –idv  .文件绝对路径

         .的作用是把文件提取到当前目录下,一般是固定格式;

Linux视频学习笔记(二十)--启动管理_第44张图片

例子:

         假如/etc/inittab文件丢失:

 

执行rpm2cpio /mnt/cdrom/Packages/initscripts-8.45.3-1.i386.rpm\

|cpio  -idv ./etc/inittab命令乱码:

Linux视频学习笔记(二十)--启动管理_第45张图片

原因是忘记输入管道符,重启再次尝试正常提取

Linux视频学习笔记(二十)--启动管理_第46张图片

然后可以复制 当前目录下(/root)的/etc/inittab文件到/etc/inittab文件:

cp etc/inittab /etc/inittab

 

当然也可以修改/etc/grub/grub.conf删除password –md5那一列来去除grub加密

 

3.Linux安全性

Linux视频学习笔记(二十)--启动管理_第47张图片

 

给BIOS加密:

Linux视频学习笔记(二十)--启动管理_第48张图片

 

你可能感兴趣的:(Linux)