Linux操作体系引导进程

引导进程总览

开机自检(bios)→MBR引导→GRUB菜单→加载内核(kernel)→init进程初始化

Linux操作系统引导过程和以及排除启动类故障

  1. 开机自检(bios) 检测出第一个能够引导体系的设备,比方硬盘或许光驱

  2. 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,来获取内核和镜像文件体系的设置和途径方位

Linux操作系统引导过程和以及排除启动类故障
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单元类型

Linux操作系统引导过程和以及排除启动类故障

运转级别所对应的Systemd目标

Linux操作系统引导过程和以及排除启动类故障

排除发动类毛病

修复MBR扇区毛病

毛病原因

病毒、木马等造成的损坏

不正确的分区操作、磁盘读写误操作

毛病现象

找不到引导程序,发动中断

无法加载操作体系,开机后黑屏

处理思路

应提前做好备份文件

以装置光盘引导进入急救形式

毛病模仿

实验步骤

1.创建新硬盘,然后格式化,并挂载

Linux操作系统引导过程和以及排除启动类故障

Linux操作系统引导过程和以及排除启动类故障

2.备份MBR文件(存到其他硬盘)

Linux操作系统引导过程和以及排除启动类故障

3.模仿损坏MBR引导区

Linux操作系统引导过程和以及排除启动类故障

4.重启进入急救形式

4.1看到载入画面按一次ESC进入boot菜单

Linux操作系统引导过程和以及排除启动类故障

4.2挑选3.CD-ROM Drive光盘驱动

Linux操作系统引导过程和以及排除启动类故障

5.进入体系急救

Linux操作系统引导过程和以及排除启动类故障

Linux操作系统引导过程和以及排除启动类故障

6.从备份文件中康复MBR数据

Linux操作系统引导过程和以及排除启动类故障

7.康复成功

Linux操作系统引导过程和以及排除启动类故障

另一种办法scp长途网络修复

注:只能在同一网段内运用此办法

1.用scp指令将已备份好的mbr文件传输到另一台同网段主机

Linux操作系统引导过程和以及排除启动类故障

2.同意传输

Linux操作系统引导过程和以及排除启动类故障

3.输入另一台主机的暗码后,进行发送文件

Linux操作系统引导过程和以及排除启动类故障

另一台主机收到文件

Linux操作系统引导过程和以及排除启动类故障

4.模仿损坏mbr文件

Linux操作系统引导过程和以及排除启动类故障

5.进入急救形式

5.1进入boot菜单挑选CD-ROM Drive

Linux操作系统引导过程和以及排除启动类故障

5.2挑选急救形式

Linux操作系统引导过程和以及排除启动类故障

Linux操作系统引导过程和以及排除启动类故障

5.3挑选跳转到Shell

Linux操作系统引导过程和以及排除启动类故障

5.4装备IP地址(本地IP需求手动设置),并测试连通性

Linux操作系统引导过程和以及排除启动类故障

5.5运用scp指令将文件考入本地

Linux操作系统引导过程和以及排除启动类故障

5.6 dd if指令替换mbr文件

Linux操作系统引导过程和以及排除启动类故障

5.7重启

Linux操作系统引导过程和以及排除启动类故障

6.成功发动

Linux操作系统引导过程和以及排除启动类故障

修复GRUB引导毛病

毛病原因

  • MBR中的GRUB引导程序遭到损坏
  • grub.conf文件丢失、引导装备有误

毛病现象

  • 体系引导阻滞,显现‘grub>’提示符

处理思路

  • 测验手动输入引导指令
  • 进入急救形式,重写或许从备份中康复grub.conf
  • 向MBR扇区中重建grub程序

毛病模仿

进入急救形式,重建GRUB菜单装备文件

1.删去grub.cfg文件以模仿毛病

Linux操作系统引导过程和以及排除启动类故障

2.急救形式下重建grub装备文件

Linux操作系统引导过程和以及排除启动类故障

3.重建成功,成功登录

Linux操作系统引导过程和以及排除启动类故障

忘记root用户暗码

毛病原因

  • 忘记root用户暗码

毛病现象

  • 无法进行需求root权限的管理操作
  • 若没有其他账号可用,将无法登陆体系

处理思路

  • 进入急救形式,重设暗码

实例

进入急救形式更改暗码,最终exit退出,reboot重启(此实验运用CentOS7)

Linux操作系统引导过程和以及排除启动类故障

注:CentOS6:esc进入boot菜单→按a进入指令框

Linux操作系统引导过程和以及排除启动类故障

进入直接输入空格+S后回车,输入passwd进行修改暗码

Linux操作系统引导过程和以及排除启动类故障

Linux操作系统引导过程和以及排除启动类故障

总结

1.Systemd是一款根据init进程的优化调集看护进程,它会将主要进程优先运转,并多线程运转翻开,加快体系发动;

2.康复mbr可以运用本地硬盘数据复原,也可以长途网络数据传输(scp)复原;

3.如果开机显现,

error : unknow filesystem

grub rescue>

体系进不去,这表明你的grub2的装备文件坏了,需求修复grub2文件