Linux/Centos7系统管理之引导过程与服务控制
-
<李> Linux系统引导的过程李>
<李>解决常见的启动类故障李>
<李>控制Linux中的系统服务(核心)李>
<李>优化Linux中的启动任务李>
一、引导过程总览(重要)——流程必要掌握
-
<李>
开机自检的BIOS(基本输入/输出系统),先加电,检查硬件(CPU、内存,显卡,键盘等设备)是否没有问题,没有问题加载驱动
李> <李>MBR引导——微代码找启动盘
CPU首先读取位于CMOS中的BIOS程序,按照BIOS中设定的启动次序(引导顺序)逐一查找可启动设备,找到可启动的设备后,去该设备的第一个扇区中读取MBR(主引导记录,主引导记录)。
MBR存在于可启动磁盘的0磁道0扇区,占用512字节,它主要用来告诉计算机从选定的可启动设备的哪个分区来加载引导加载程序(引导加载程序),MBR中存在如下内容:
(1)引导加载程序占用446字节,存储有操作系统(OS)相关信息,如操作系统名称,操作系统内核位置等,它的主要功能是加载内核到内存中运行。
(2)分区表分区表,占用64字节,每个主分区占用16个字节(这就是为啥一块硬盘只能有4个主分区
(3)分区表有效性标记占用2字节,CPU将MBR读取至内存,运行GRUB(引导加载程序常用的有GRUB和LILO两种,现在常用的是GRUB), GRUB会把内核加载到内存去执行。
如上所示,我们可查看/boot/grub2 grub.cfg文件的第100行的内容,就能看到是在该配置文件中对内核文件进行操作了。
李> <李>GRUB菜单——使用广泛的多系统引导器程序,系统控制权传递给GRUB以后,将会显示启动菜单提供给用户选择,根据选择或者默认项加载内核文件,然后将系统控制权转交给内核。
李> <李>加载内核(内核)/boot目录下,Linux内核是预先编译好的特殊二进制文件,介于各种硬件资源和系统程序之间,负责资源分配与调度。
补充:下面的vmlinuz - 3.10.0 - 693. - el7.x86_64就是我们的内核文件了。在/boot目录下
<代码类=" language-shell "> [root@lokott ~] #我/boot | grep“vmlinuz *” -rwxr-xr-x。1根根5877760 10月23日12:20 vmlinuz-0-rescue-f18b1b17cb2b477f8cb451fffad48550 -rwxr-xr-x。1根5877760根2017年8月23日vmlinuz - 3.10.0 - 693. - el7.x86_64 代码>
<代码类=" language-shell "> (root@lokott ~) # -100头/boot/grub grub2。尾巴cfg | 1 linux16/vmlinuz - 3.10.0 el7——693.。根=UUID=d0f8b702 - 0 - x86_64 aa9 - 4857 - 9551 - 2 - e1283d2f5f9 ro crashkernel=汽车LANG=zh_CN.UTF-8 rhgb安静 代码>李> <李>
init进程初始化——原来的缓存全部清空,加载必要进程之后,加载外部的第三方进程(应用软件)(延时启动)
内核初始化作为PID1从initramfs执行/sbin/init。在Centos7中将其复制为systemd, systemd启动initrd。中目标的所有单元,并且挂载根文件系统/sysroot
李>1.1 init进程
由Linux内核加载运行/sbin/init程序,是系统中的第一个进程,PID号永远为1
Systemd单元类型
运行级别所对应的systemd目标
其中。服务——/lib/sysytemd/系统
文件存储两个部分——元信息(状态的信息)和内容
===========================================================================================
1.2修复MBR扇区故障
1。故障原因
病毒,* * *等造成的破坏
不正确的分区操作,磁盘读写误操作
2。故障现象
找不到引导程序,启动中断
无法加载操作系统,开机后黑屏
3。解决思路
提前做好备份文件
以安装光盘引导进入急救模式
从部分文件中恢复
实验一——模拟修复MBR扇区故障实验
流程如下
-
<李>
备份MBR扇区数据,加一块硬盘做备份(一定需要先备份)
(1)分区,格式化,挂载
(2)备份mbr引导扇区到其它磁盘
备份=dd if=/dev/sda=/abc/sda.mbr。贝克b=512数=1 (/abc是另一块磁盘的挂载点)