linux引导过程 ,MBR、GRUB修复实验

引导过程与服务共享

一、linux操作系统的引导过程

引导过程总览:

开机自检
MBR引导
GRUB菜单
加载内核 kernel
inint进程 初始化

1.1开机自检(BIOS)

  • 服务器主机开机以后,将根据主板BIOS(Basic Input/Output System,基本输入输出系统)中的设置对CPU。内存。显卡,键盘等设备进行初步检测,并初始化部分硬件(加电自检)。
  • 检测成功后,根据预设的启动程序移交系统控制权,大多时候会移交给本机硬盘

1.2 MBR引导

  • 当从本机硬盘中启动系统时,首先根据硬盘的第一个扇区中MBR(Master Boot Record,主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区。
  • 或者直接根据MBR记录中的引导信息调用启动菜单(如GRUB)。

1.3 GRUB

  • 对于Linux系统来说,GRUB算是使用最广泛的多系统引导器程序
  • 系统控制权传递给GRUB以后,将会显示启动菜单提供给用户选择,并根据所选项(或采用默认值)加载Linux内核文件,然后将系统控制权转交给内核。

1.4 加载内核

  • 系统引导器程序会从本地硬盘中加载内核以及内存文件系统(CentOS 7 中使用initramfs),
  • Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度
  • 内核接过系统控制权以后,将完全掌控整个Linux操作系统的运行过程
  • 默认的内核文件位于“/boot/vmlinuz-3.10.0-514.el7.x86_64”.
  • 内存文件系统initramfs 是经过gzip 的cpio归档,其中包含启动时所有必要的硬件内核模块,初始化脚本等。
  • 内核放在/boot目录下,/boot目录相当于Windows的system32

1.5 init 进程初始划划

  • 加载硬件驱动以及初始化进程(加载全部驱动),由Linux内核加载运行/sbin/init程序,加载到内存中运行(运行中的程序称为进程),init进程负责完成一系列的系统初始化进程,最后等待用户进行登录。

二、Systemed

  • Systemd 是linux操作系统的一种init软件
  • CentOS7中采用全新的Systemd启动方式,取代传统的SysVinit
  • CentOS7中运行的第一个init进程是/lib/systemd/systemd
单元类型 扩展名 说明
Service .service 描述一个系统服务
Socket .socket 描述一个进程间通信的套接字(通信协议的载体)
Device .device 描述一个内核识别的设备文件
Mount .mount 描述一个文件系统的挂载点
Automount .automount 描述一个文件系统的自动挂载点
Swap .swap 描述一个内存交换设备或目录
Timer .timer 描述一个定时器(用于实现类似cron的调度任务)
Path .path 描述一个文件系统中文件或目录(path 路径)
Snapshot .snapshot 用于保存一个systemd的状态(snapshot 快照)
Scope .scope 使用systemd的总线接口以编程的方式创建外部进程
Slice .slice 描述居于Cgroup的一组通过层次组织的管理系统进程
Target .target 描述一组systemd的单元(target 目标)
  • Init运行级别所对应的Systemd目标
init运行级别 Systemd 的 target 说明
0 target 关机状态,使用该级别时会关闭主机
1 rescue.target 单用户模式,不需要密码验证即可登录系统,多用于系统维护
2 multi-user.target 用户定义/域特定运行级别,默认等同于3
3 multi-user.target 字符界面的完整用户模式,大多数服务器主机运行在此级别
4 multi-user.target 用户定义/域特定运行级别,默认等同于3
5 graphical.target 图形界面的多用户模式,提供了图形桌面操作环境
6 reboot.target 重新启动,使用该级别时将会重启主机

三、修复MBR扇区故障

故障原因:

  • 病毒、木马等造成的破坏
  • 不正确的分区操作、磁盘读写操作
    故障现象:
  • 找不到引导程序,启动中断
  • 无法加载操作系统,开机后黑屏
    解决思路
  • 应提前做好备份文件
  • 以安装光盘引导进入急救模式
  • 从备份文件中恢复

3.1 MBR 故障实验

1、查看硬盘情况
linux引导过程 ,MBR、GRUB修复实验
**2、格式划sdc并修改格式为ext4,并挂载到/opt上 **
linux引导过程 ,MBR、GRUB修复实验
linux引导过程 ,MBR、GRUB修复实验
3、备份扇区数据
linux引导过程 ,MBR、GRUB修复实验
4、删除扇区数据模拟MBR扇区故障
linux引导过程 ,MBR、GRUB修复实验
5、光盘引导,进入急救模式,从备份文件中恢复MBR扇区
linux引导过程 ,MBR、GRUB修复实验
linux引导过程 ,MBR、GRUB修复实验
linux引导过程 ,MBR、GRUB修复实验
挂载sdc到mnt下,发现备份的文件
linux引导过程 ,MBR、GRUB修复实验
还原MBR 扇区文件
linux引导过程 ,MBR、GRUB修复实验
6、reboot重启,测试
linux引导过程 ,MBR、GRUB修复实验
linux引导过程 ,MBR、GRUB修复实验
四、GRUB故障模拟实验
1、故障GRUB模拟:
linux引导过程 ,MBR、GRUB修复实验
2、光盘引导,进入急救模式,提示操作
从备份文件中恢复MBR散区linux引导过程 ,MBR、GRUB修复实验
3、再次重启,按F2 进入BIOS界面,将CD-ROM设置为优先启动,F10 保存退出
linux引导过程 ,MBR、GRUB修复实验
4、进入急救模式
linux引导过程 ,MBR、GRUB修复实验
linux引导过程 ,MBR、GRUB修复实验
5、 按1 在按会车进入sh-4.2
linux引导过程 ,MBR、GRUB修复实验
6、进入救援模式后切根
linux引导过程 ,MBR、GRUB修复实验
7、修复grub.cfg配置文件
linux引导过程 ,MBR、GRUB修复实验
8、exit reboot 重启后,进入BIOS系统,修改启动项,将硬盘改为优先
linux引导过程 ,MBR、GRUB修复实验
9、保存退出,发现修复成功
linux引导过程 ,MBR、GRUB修复实验