Linux:引导过程与服务控制

目录

绪论:

1、 linux操作系统引导

1.1 开机自检(BIOS):

1.2 MBR引导:

1.3 grub菜单:

1.4 加载linux内核:

1.5 系统初始化:

1.6 核心总结

2、初始化

2.1 centos 7之前的初始化方式:

2.2 centos 7

2.3 systemd

2.4 系统控制命令:systemctl

2.5 运行级别

3 实验,可以检测虚拟机环境配置是否有问题

3.1 实验1:模拟MRB扇区故障并修复

3.2 实验2修复grub引导故障

3.3  实验3:修改root密码


绪论:

linux操作系统引导过程:

1、 linux操作系统引导

1.1 开机自检(BIOS):

· 服务器开机之后,根据主板bios中的设置:对cpu、内存、显卡、硬盘等一系列设备进行初步的检测(初步检测就是检测设备是否正常运行,正常运行,这里指的是硬盘,因为所有的引导程序都在硬盘,系统就开始移交控制权,把控制权交给硬盘/dev/sda)

1.2 MBR引导:

主引导记录,第一个扇区的MBR,引导系统找到boot分区,就找到系统的启动程序,根据MBR记录调用启动菜单(启动菜单:grub),系统的控制权移交给grub/

1.3 grub菜单:

统一启动加载器

grub作用:多系统的引导器程序。控制权到了grub菜单显示启动菜单给用户来进行选择,选择了之后(默认值)--加载所选择的操作系统的linux内核文件,系统控制权的移交到加载的内核(centos 7采用的是grub2的启动引导器,文件位置:/boot/grub2/grub.cfg)/

1.4 加载linux内核:

内核也是一个文件,这个文件是一个已经编译好的二进制文件,介于硬件资源和系统程序之间,负责资源的分配,调度给这些系统程序来进行使用。这个时候内核文件将控制整个系统的运行过程。(驱动程序,用户自定义的开机自启程序,以及系统启动必要的环境程序,这个时候只是在分配资源,程序还没有真正运行,提前分配好了资源。统统加载到内存当中,系统控制权的移交---系统的初始化程序

1.5 系统初始化:

加载到了内存中,在内存中开始运行,老版本存在/sbin/init开启运行上述程序,驱动、用户自定义、系统必要的环境程序全部启动,等待用户的登录

1.6 核心总结

开机自检(BIOS):检测出第一个能够引导系统的设备,要么是硬盘,要么是光驱

MBR主引导程序:引导包含操作系统的引导文件

grub菜单:获取用户选择的操作系统指定内核以及镜像文件

加载内核:就是来给驱动程序、系统依赖项、用户自定义程序, 调度、分配资源,放到内存中

init初始化:启动上述程序,等待用户登录

systemd 通过单元[unit]来进行控制,并行启动,速度快

2、初始化

2.1 centos 7之前的初始化方式:

init:初始化进程是串行,一个一个执行,速度比较慢。init进程是系统的第一个进程,是所有进程的父进程,进程号永远为1

2.2 centos 7

现在的是systemd

systemd:进化的init初始化程序,初始化进程是并行,速度快

在centos 7:第一个init是systemd pid也是1,也是所有进程的父进程

systemd:

· 并行处理

· 支持自动重启服务,确保进程的可靠性和稳定性

· 动态的调整服务的参数和资源控制,提高灵活性以及可管理性

· 支持启动依赖关系,而且可以控制依赖关系,可以确保进程的正确启动和运行

· 既可以支持命令行,也可以支持图形化工具

2.3 systemd

systemd:用于管理系统进程的管理器,通过单元[unit]来描述和控制系统的进程以及资源。提供服务进行控制

通过单元类型来进行控制(system单元类型):

service:启动、管理一个系统的进程,firewalld、httpd、mysql 可以指定服务的启动、关闭、重启、查看状态、依赖关系、日志记录

socket(通信套接字):监听网络套接字,管理网络服务,提供网络接口进行通信

target:一组服务的集合,主要作用是用于描述系统在不同运行级别下的状态。你以什么状态来进行系统运行

· 图形化模式

· 字符模式

· mult-user.target:多用户模式

2.4 系统控制命令:systemctl

systemctl 控制类型 进程名称

控制类型:

start 开启

stop 停止

restart 重启,只要是修改了配置文件必须要重启,否则不生效

重启得先stop在重启

reload 重新加载,也可以用reload 没有stop的过程。如果在运行的程序不能restart,需要reload

status 查看状态

对指定的进程进行控制:

yum安装会直接写在systemctl配置文件中

看状态:

开启:systemctl start httpd.service

看状态:systemctl staus httpd.service

2.5 运行级别

2,3,4都是字符界面

查看运行级别:runlevel 回车出来N 5 N表示之前还没切换过运行级别,5表示当前的运行级别

init 3 切换运行级别

运行级别的几种状态:

0 关机

1 单用户模式,一般用于维护

2 字符界面

3 字符界面

4 字符界面

5 图形化界面

6 重启

systemctl get-default 查看系统的默认运行级别

永久固定运行级别:systemctl set-default 加上multi-user.target 此时不能用数字,必须得用命令代码

systemctl set-default multi-user.target 再修改回来

init 0和shutdown和poweroff也表示关机关闭服务器

init 6和reboot都表示重启服务器

3 实验,可以检测虚拟机环境配置是否有问题

3.1 实验1:模拟MRB扇区故障并修复

MBR被删除导致系统无法启动,怎么修复?

虚拟机设置cd/dvd打钩,下面的找到镜像文件

添加一个硬盘

lsblk

partprobe刷新一下

lsblk

分区sdb5G

格式化:mkfs.xfs /dev/sdb1

mkdir /data

mount /dev/sdb1 /data

cd

/data

df -h

把老的文件拿出来备份:文件MBR在sda里面dd if=/dev/sda of=/data/mbr.bak

bs=512 count=1 从sda里面把mbr这个文件放到data目录下

破坏掉:dd if=/dev/zero of=/dev/sda bs=512 count=1 用空字符塞满就会故障

然后reboot

此时进不去虚拟机

如下图:选择trouble那一行

 

回车进去之后选择第二行回车

输入:1

shell回车进入急救环境

 在急救模式建立一个目录,把sdb1挂载上backup:

 此时reboot重启就行了

3.2 实验2修复grub引导故障

模拟故障:rm -rf /boot/grub2/grub.cfg 先删除掉

reboot

在读条界面鼠标点进去虚拟机然后快速按esc,选择第三个CD

 

trouble修理回车选择第二个

按1

3.3  实验3:修改root密码

1、卡在普通用户切换不回去root,在普通用户切换到root时候忘记密码了

先关安全机制

关防火墙

reboot

在读条界面鼠标点进虚拟机然后快速esc

选择第三个CD,回车,选择trouble然后回车选择第二个

按 1

加载光盘映像切换到根目录:

2. 在root账户下直接passwd直接改

passwd root

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曦雨天梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值