Linux操作体系引导进程
引导进程总览
开机自检(bios)→MBR引导→GRUB菜单→加载内核(kernel)→init进程初始化
-
开机自检(bios) 检测出第一个能够引导体系的设备,比方硬盘或许光驱
-
MBR引导(主引导记载) mbr处在第一个扇区,占512字节,446字节作为引导,64作为分区文件,2字节未运用,经过引导程序找到发动体系,首要依据硬盘第一个扇区中MBR (主引导记载)的设置,将体系控制权传递给包含操作体系引导文件的分区;或许直接依据MBR记载中的引导信息调用发动菜单(如GRUB) 。
总结:运转放在MBR扇区里的发动GRUB引导程序
3.GRUB菜单
关于Linux操作体系来说,GRUB (一致发动加载器)是运用最为广泛的多体系引导器程序。体系控制权传递给GRUB以后,将会显现发动菜单给用户挑选,并依据所选项(或选用默认值)加载Linux内核文件,然后将体系控制权转交给内核。
CentOS 7选用的是GRUB2发动引导器。
总结:GRUB引导程序经过读取GRUB装备文件/boot/grub2/grub.cfg,来获取内核和镜像文件体系的设置和途径方位
4、加载Linux内核
Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与体系程序之间,担任资源分配与调度。内核接过体系控制权以后,将完全掌控整个Linux操作体系的运转进程。
CentOS 7体系中,默认的内核文件坐落”/boot/vmlinuz-3.10.0-514.e17.x86_64″
总结:把内核和镜像文件体系加载到内存中
5、init进程初始化
为了完结进一步的体系引导进程,Linux内核首要将体系中的”/sbin/init”程序加载到内存中运转(运转中的程序称为进程),init进程担任完结整个体系的初始化,最终等候用户进行登录。
总结:加载硬件驱动程序,内核把init进程加载到内存中运转
init进程与Systemd
init进程
由Linux内核加载运转/sbin/init程序
init进程是体系中第一个进程,是一切进程的父进程
init进程的PID (进程符号)号永远为1
Systemd(看护进程调集)
Systemd是Linux操作体系的一种init软件
CentOS7中选用全新的Systemd发动办法,取代传统的SysVinit
CentOS7中运转的第一个init进程是/lib/systemd/systemd
传统SysVinit依赖于串行履行Shell脚本发动服务,导致效率低下,体系发动速度较慢
systemd能够将更多的服务进程并行发动,而且具有提供按需发动服务的能力,使得发动更少进程,从而提高体系发动速度。
它会按序同步多线程翻开看护进程,加快体系发动
Systemd单元类型
运转级别所对应的Systemd目标
排除发动类毛病
修复MBR扇区毛病
毛病原因
病毒、木马等造成的损坏
不正确的分区操作、磁盘读写误操作
毛病现象
找不到引导程序,发动中断
无法加载操作体系,开机后黑屏
处理思路
应提前做好备份文件
以装置光盘引导进入急救形式
毛病模仿
实验步骤
1.创建新硬盘,然后格式化,并挂载
2.备份MBR文件(存到其他硬盘)
3.模仿损坏MBR引导区
4.重启进入急救形式
4.1看到载入画面按一次ESC进入boot菜单
4.2挑选3.CD-ROM Drive光盘驱动
5.进入体系急救
6.从备份文件中康复MBR数据
7.康复成功
另一种办法scp长途网络修复
注:只能在同一网段内运用此办法
1.用scp指令将已备份好的mbr文件传输到另一台同网段主机
2.同意传输
3.输入另一台主机的暗码后,进行发送文件
另一台主机收到文件
4.模仿损坏mbr文件
5.进入急救形式
5.1进入boot菜单挑选CD-ROM Drive
5.2挑选急救形式
5.3挑选跳转到Shell
5.4装备IP地址(本地IP需求手动设置),并测试连通性
5.5运用scp指令将文件考入本地
5.6 dd if指令替换mbr文件
5.7重启
6.成功发动
修复GRUB引导毛病
毛病原因
- MBR中的GRUB引导程序遭到损坏
- grub.conf文件丢失、引导装备有误
毛病现象
- 体系引导阻滞,显现‘grub>’提示符
处理思路
- 测验手动输入引导指令
- 进入急救形式,重写或许从备份中康复grub.conf
- 向MBR扇区中重建grub程序
毛病模仿
进入急救形式,重建GRUB菜单装备文件
1.删去grub.cfg文件以模仿毛病
2.急救形式下重建grub装备文件
3.重建成功,成功登录
忘记root用户暗码
毛病原因
- 忘记root用户暗码
毛病现象
- 无法进行需求root权限的管理操作
- 若没有其他账号可用,将无法登陆体系
处理思路
- 进入急救形式,重设暗码
实例
进入急救形式更改暗码,最终exit退出,reboot重启(此实验运用CentOS7)
注:CentOS6:esc进入boot菜单→按a进入指令框
进入直接输入空格+S后回车,输入passwd进行修改暗码
总结
1.Systemd是一款根据init进程的优化调集看护进程,它会将主要进程优先运转,并多线程运转翻开,加快体系发动;
2.康复mbr可以运用本地硬盘数据复原,也可以长途网络数据传输(scp)复原;
3.如果开机显现,
error : unknow filesystem
grub rescue>
体系进不去,这表明你的grub2的装备文件坏了,需求修复grub2文件