学无先后,达者为师

网站首页 编程语言 正文

linux引导和服务过程

作者:花生味花生米 更新时间: 2022-07-18 编程语言

目录

前言

一.linux系统引导过程

二.系统初始化进程

三.Systemd单元类型

四.修复MBR扇区故障

 五.修复GRUB菜单

六.遗忘密码并重置

总结


前言

引导过程能以两种方式之一初始化。其一,如果系统处于关机状态,那么打开电源按钮将开启系统引导过程。其二,如果操作系统已经运行在一个本地用户(该用户可以是 root 或其他非特权用户),那么用户可以借助图形界面或命令行界面通过编程方式发起一个重启操作,从而触发系统引导过程。重启包括了一个关机和重新开始的操作。

一.linux系统引导过程

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

开机自检:         检测硬件有没有问题
MBR引导:        加载系统所需要的内核
GRUB菜单:      开启文件或引导程序的列表,全加载出来
加载内核:         把内核相关的文件加载到内存中
init进程初始化:把系统需要的服务开启,并加载到内存里

开机自检
服务器主机开机以后,将根据主板BIOS中的设置对CPU(Central Processing Unit,中央处理器)、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘。

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

GRUB菜单
对与Linux操作系统来说,GRUB(GRand Unified Bootloader,统一启动加载器)是使用最为广
泛的多系统引导器程序。系统控制权传递给GRUB以后,将会显示启动菜单给用户选择,并根据所
选项(或采用默认值)加载Linux内核文件,然后将系统控制权转交给内核。需要注意的CentOS 7

加载内核
Linux 内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分
配与调度。内核接过系统控制权以后,将完全等控整个 Linux 操作系统的运行过程。

init进程初始化
为了完成进一步的系统引导过程,Linux 内核首先将系统中的 “/sbin/init”程序加载到内存中运行(运行中的程序称为进程),init 进程负责完成一系列的系统初始化过程,最后等待用户进行登录。

二.系统初始化进程

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

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

三.Systemd单元类型

单元类型                 扩展名             说明
Service                  .service           描述一个系统服务
Socket                   .socket            描述一个进程间通信的套接字
Device                   .device            描述一个内核识别的设备文件
Mount                    .mount            描述一个文件系统的挂载点
Automoun             .automount    描述一个文件系统的自动挂载点
Swap                      .swap             描述一个内存交换设备或交换文件
Path                       .path               描述一个文件系统中文件或目录
Timer                     .timer              描述一个定时器(用于实现类似cron的调度任务
Snapshot              .snapshot       用于保存一个systemd的状态
Scope                    .scope            使用systemd的总线接口以编程的方式创建外部进程
Slice                      .slice               描述居于Cgroup的一组通过层次组织的管理系统进程
Target                   .target              描述一组systemd的单元

四.修复MBR扇区故障

MBR位于第一块硬盘(/dev/sda)的第一个物理扇区处,总共512字节
1.备份MBR扇区数据到其他磁盘(/dev/sdb1)
mkdir /backup
mount /dev/sdb1 /backup
dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1
(把sda512的引导程序复制到指定地点)

模拟破坏

dd if=/dev/zero of=/dev/sda bs=512 count=1

进入急救模式


修复MBR引导

mkdir /backupdir
mount /dev/sdb1 /bak
dd if=/backupdir/grub.bak of=/dev/sda
exit

 五.修复GRUB菜单

mkdir /bak
mount /dev/sdb1 /bak
dd if=/dev/sda of=/bak/grub.bak bs=446 count=1
(把sda446的GRUB复制到指定地点)

模拟破坏

dd if=/dev/zero of=/dev/sda bs=446 count=1

修复GRUB菜单

mkdir /backupdir
mount /dev/sdb1 /bak
dd if=/backupdir/grub.bak of=/dev/sda
exit

六.遗忘密码并重置

重置root密码
chroot /mnt/sysimage
passwd root
exit
reboot

总结

MBR引导512字节,是sda的第一个物理扇区,恢复时首先把sda备份到sdb在进急救模式,在进安全模式,创建挂载点,把备份在sdb中的mbr文件挂载到这个临时挂载点上,在复制到sda,最后检测查看。

原文链接:https://blog.csdn.net/qq_59161414/article/details/125708492

栏目分类
最近更新