理论+实验:Linux 引导过程与服务控制

一、操作系统引导过程

1.1 引导过程总览

理论+实验:Linux 引导过程与服务控制

  • 开机自检(BIOS)
    自检基本的硬盘,找到第一块能够引引导的设备

  • MBR引导
    找到硬盘MBR引导分区,读取GRUB信息(grub.conf在哪里?)

  • GRUB菜单
    读取grub.conf信息,里面包含内核信息 ( 在/boot里)、等待时间等

  • 加载内核(kernel)
    加载内核和镜像文件

  • init进程初始化
    加载初始化进程1 PID1
    init 0 关机
    init 6 重启

1.2 系统初始化进程

■ init进程

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

■ init进程

  • Systemd是Linux操作系统的一种init软件
  • CentOS7中采用全新的Systemd启动方式,取代传统的SysVinit
  • CentOS7中运行的第一个init进程是/lib/systemd/systemd

1.3 Systemd单元类型

理论+实验:Linux 引导过程与服务控制

1.4 运行级别所对应的Systemd 目标

理论+实验:Linux 引导过程与服务控制

二、修复MBR扇区故障

■故障原因

  • 病毒、木马等造成的破坏
  • 不正确的区分操作、磁盘读写误操作

■故障现象

  • 找不到引导程序,启动中断
  • 无法加载操作系统,开机后黑屏

■解决思路

  • 应提前作好备份文件
  • 以安装光盘引导进入急救模式
  • 从备份文件中恢复

三、备份MBR扇区数据、模拟故障、恢复数据实验

1、给虚拟机添加一个20G的硬盘
理论+实验:Linux 引导过程与服务控制
2、用df - Th查看一下刚刚添加的进去的磁盘情况理论+实验:Linux 引导过程与服务控制
3、格式化sdb,并把类型改成xfs理论+实验:Linux 引导过程与服务控制
4、备份MBR扇区数据
理论+实验:Linux 引导过程与服务控制
5、模拟MBR扇区故障并重启
理论+实验:Linux 引导过程与服务控制
6、挂掉了理论+实验:Linux 引导过程与服务控制
7、把虚拟机镜像和连接勾选上理论+实验:Linux 引导过程与服务控制
8、重启后快速按F2进入BIOS,选择Boot ,把CD-ROM调到第一个,然后F10保存重启理论+实验:Linux 引导过程与服务控制
9、在光盘引导界面选择troubleshooting理论+实验:Linux 引导过程与服务控制
10、进入troubleshooting菜单 选择Rescue a centos system理论+实验:Linux 引导过程与服务控制
11、进入引导可以按回车,或者等待按1 在按会车进入sh-4.2#
理论+实验:Linux 引导过程与服务控制
12、将备份sdb备份的文件挂到mnt下,在把数据恢复到sda里
理论+实验:Linux 引导过程与服务控制
13、再输入reboot重启,启动后就恢复正常了理论+实验:Linux 引导过程与服务控制