0
点赞
收藏
分享

微信扫一扫

Linux——操作系统引导过程

boom莎卡拉卡 2022-04-07 阅读 73
linux

目录

Linux操作系统引导过程

引导过程总览

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

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

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

加载Linux内核:Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。内核接过系统控制权以后,将完全掌控整个 Linux操作系统的运行过程。在Centos 系统中,默认的内核文件位于"/boot/vmlinuz-3.10.0-514.e17.x86_64"

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

init进程(CentOS 6)

由Linux内核加载运行/sbin/init程序

init进程是系统中第一个进程,是所有进程的父进程

init进程的PID(进程标记)号永远为1

systemd 进程(GentOS 7)

Systemd是Linux操作系统的一种init软件
从CentOS 7 版本的系统开始systemd成为PID恒为1的初始化进程,是内核第一个加载的程序
systemd进程是不允许轻易终止的,需要切换到不同的系统运行状态时可以向systemd进程发送正确的执行命令,由systemd自身来完成相关操作
在这里插入图片描述

Systemd 单元

单元是不同类型的systemd对象
使用systemctl管理
查看系统中有效的单元可以使用命令∶systemctl -t help
在这里插入图片描述

systemd单元类型

在这里插入图片描述

运行级别对应的systemd

在这里插入图片描述
回到字符界面
在这里插入图片描述
在这里插入图片描述
进入图形界面
在这里插入图片描述
在这里插入图片描述

查看target单元类型

systemctl list-unit-files --type target
在这里插入图片描述

查看当前系统默认启动target

systemctl get-default
在这里插入图片描述

设置默认启动target

set-default TARGET类型
在这里插入图片描述

systemd服务管理

查看服务状态命令

1.systemctl status name.type
如果不加type,默认是.service单元
2.systemctl {is-active | is-failed } service
在这里插入图片描述
在这里插入图片描述

服务状态关键字

在这里插入图片描述

启动与停止服务

systemctl {start | stop | restart reload} service

开机自动启用与停用服务

systemctl {enable | disable} service

屏蔽与取消屏蔽服务

systemctl {mask | unmask} service

服务配置文件

/usr/lib/systemd/system/NAME.service
[Unit]定义systemd单元的元数据
​[Service]服务的配置,只有systemd单元是服务类型时才有这一段信息
​[Install]定义是否是开机启动

systemd其他命令

修改永久使用的系统主机名:hostnamectl set-hostname www.yxp.cn
查看主机名状态:hostnamectl status
输出本次启动后的所有日志信息:journalctl -b
查看2022年4月4日21点之后的日志信息:journalctl --since=“2022-4-4 21:00:00”
可以查看与设置系统的语言:localectl=localectl status
可以列出当前系统支持的语言:localectl list-locales
设置系统日期:set-time YYYY-MM-DD
设置系统时间:HH:MM:SS
设置系统时区:set-timezone time_zone
查看登录系统的用户信息:loginctl
列出当前的登录用户:loginctl list-users
查看系统启动耗时:systemd-analyze

排除启动类故障

MBR扇区故障

故障原因:
病毒、木马的等造成的破坏;
不正确的分区操作、磁盘读写误操作等。

故障现象:
找不到引导程序,启动中断;
无法加载操作系统,开机后黑屏。

解决思路:
准备添加另一块硬盘作为备份;
应提前做好备份文件;(MBR位于第一块硬盘的第一个物理扇区处,总共512字节)
以安装光盘引导进入急救模式;
从备份文件中恢复
mkdir / backup
mount /dev / sdb1 / backup
dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1

GRUB引导故障

故障原因:
MBR中的GRUB引导程序(1-446字节)遭到破坏 grub.cfg文件丢失,引导配置有误,文件位置/boot/grub2/grup.cfg

故障现象:
系统引导停滞,显示grub >提示符

解决思路:
1.尝试手动输入引导命令修复(不推荐)
2.进入急救模式,重写或者从备份中恢复grub.cfg

遗忘root用户密码

故障原因:
遗忘root用户的密码

故障现象:
无法进行需要root权限的管理操作
若没有其他可用账号,将无法登陆操作系统

解决思路:
进入急救模式,重设密码即可

举报

相关推荐

0 条评论