Linux操作系统引导过程

1、引导过程总览

Linux操作系统引导过程_第1张图片

1、开机自检
服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测,
检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘。
总结:检测出第一个能够引导系统的设备,比如硬盘或者光驱

 2、MBR引导
当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中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.x8664”
总结:把内核和镜像文件系统加载到内存中

5、init进程初始化
为了完成进一步的系统引导过程, Linux内核首先将系统中的 “/sbin/init” 
程序加载到内存中运行(运行中的程序称为进程) ,init进程负责完成整个系统的初始化,
最后等待用户进行登录。
总结:加载硬件驱动程序,内核把init进程加载到内存中运行

2、系统初始化进程


init进程

Linux内核加载运行lsbin/init程序
init进程是系统中第一个进程
init进程的PID(进程标记)号永远为1


Systemd

Systemd是Linux操作系统的一种init软件
CentOS7中采用全新的Systemd启动方式,取代传统的SysVinit
CentOS7中运行的第一个init进程是/lib/systemd/systemd
查看当前系统下的活跃进程:ps aux

Systemd单元类型

单元类型:0service      扩展名: .service   说明:描述一个系统服务

运行级别所对应的Systemd目标

运行级别:6   Systemd的target:reboottarget      说明:重新启动,使用该级别时将会重启主机
 

运行级别对应的systemd

Linux操作系统引导过程_第2张图片

 服务状态关键字

Linux操作系统引导过程_第3张图片

 

3.系统服务控制

系统服务控制

systemctl 控制类型  服务名称

控制类型

  • start:启动
  • stop:停止
  • restart:重新启动
  • reload:重新加载
  • status:查看服务状态

4、修复MBR扇区故障


1、思路:


MBR  512字节
MBR  是在sda盘的第一个物理扇区中
解决MBR引导程序故障问题,前提要先进行备份
备份:
    首先在/sda中,我只要将512的MB内容,备份到其他盘/sdb

2、问题:


MBR引导文件异常了,重启后无法正常进入

3、解决:


进入急救模式,然后选择进入“安全模式”
创建挂载点,r将之前备份在/sdb中的mbr文件挂载到这个临时挂载点上
dd复制512字节的数据到/ sda中
exit退出重启,检测
 

5、修复GRUB引导故障

1、故障原因

  • MBR中的RGU引导程序遭到破坏
  • grub.conf文件丢失,引导配置有误 

2、故障现象

  • 系统引导停滞,显示grub>提示符

3,解决思路

  • 尝试手动输入引导命令
  • 进入急救模式,重写或者从备份中恢复
  • 向MBR扇区中重建grub程序   

6、root用户的密码重置


进入急救模式,加载系统镜像,c切换到系统根环境 exit选择troubleshooting然后选择急救模式
sh-4.2# chroot /mnt/sysimage
#重设root用户密码
bash-4.2# passwd root
 

你可能感兴趣的:(linux,服务器,运维)