linux 引导过程和服务控制
目录
一、引导分区
二、服务控制
三、运行级别
四、systemd初始化
五、模拟错误
一、引导分区
原理:引导分区是指在开机启动到进入系统这之间的过程
引导分区的过程:1.开机自检
自检顺序:BIOS,cup,内存,显卡,键盘
根据预设的顺序控制权交给硬盘(第一个硬盘或者光驱)
2.mbr引导
机器的硬盘启动系统,从第一个硬盘扇区的mbr主引导分区的位置开始
主引导分区512字节,记录硬盘分区,是进入文件系统,设备,配置文件
硬盘结束交给grub分区
3.grub菜单启动
位置/boot/grub2/grub.cfg
主要是显示系统选择

4.加载内核
目录位置:/boot/vmlinuz-3.10.0-693.e17.x8664
编译好的特殊二进制文件,是硬盘和系统之间的连接,将内核和相关的系统镜像文件加载到内 存中,交给进程初始化
5.进程初始化
目录位置:/sbin/init
将/sbin/init中的程序(内核和硬件文件)加载到内存中,完成初始化
完成初试化后可以进入系统
二、服务控制
使用systemctl命令管理服务类型
服务的目录:/user/lib/systemd
服务命令:systemctl start开启服务
systemctl stop关闭服务
systemctl restart 重启服务
systemctl reload重新加载服务配置文件
systemctl status 查看服务状态
systemctl enable开机自启
systemctl disable 关闭开机自启
systemctl status firewalld.service 查看防火墙的状态

关闭防火墙
命令:systemctl stop firewalld.service
可以看到actice已经是dead了

打开防火墙
可以看到active已经是running了

三、运行级别
原理:是指现在的系统页面是什么类型,可以是单用户,字符型用户
使用runlevel查看当前运行级别和之前运行级别
N代表之前没有改变,3表示当前运行级别是3字符界面

运行级别分类:0:关机(target)
1:单用户,在生产中只有系统维护时会进入单用户模式(rescue.target)
2,3,4相当于字符页面(multi-user.target)
5:图形化界面(graphical.target)
6: 重启(reboot.target)
便捷操作:init +数字
可以看到init 5将当前页面改为5图形化界面

默认级别:表示开机时默认进入哪个级别
查看默认级别:systemctl get-defaults
可以看到当前默认级别时字符界面,所以开机时自动进入字符页面

修改默认级别过程:
1.查看默认级别:systemctl get-default

2.修改默认级别:systemctl set-default
将其默认级别改为图形化界面(在这里必须使用graphical.target格式)

3.关机重启
查看默认级别,可以看到已经修改完成

四、进程初始化
初试化区别:两种init和systemd
init现在已经基本淘汰,init是串行启动,速度较慢
systemd是centos中一种init软件,是并行启动,速度较快
init:目录文件/sbin/init
systemd:目录文件/lib/systemd/systemd
systemd单元类型:
1.service:启动管理系统服务
2.target:系统运行级别状态
3.socket:端口服务,提供网络套接字,为端到端之类的服务提供通信
4.device:硬件管理服务
5.path:管理文件和目录状态
五、模拟错误
前提必须勾选,否则无法进入急救模式

1.主分区引导错误
假设sda主分区丢失或者误删
一、用lsblk看一下磁盘状态

二、计划故意将sda的主分区删除,所以提起将sda的主分区备份给一个正在挂载的sdb1
首先将sdb5挂载

通过dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1
从sda中到backup复制一个mbr.bak文件,大小512次数1次
必须要在文件夹外输入命令,否则不能写入

现在已经备份好,接下来让sda主分区文件损坏
看一下要损坏512大小文件

将一份512空文件写入sda,损坏文件

重启后发现没有系统了,找不到了
选择troubleshooting模式

进入急救模式rescue a centos system

选择continue(继续)
1,回车在回车进入sh-4.2shell模式

创建文件夹backupdir,并将备份文件所在硬盘挂载

可以看到有文件,将这个文件

重新写入sda,exit退出

可以看到grup菜单又出来了,说明sda找到主分区了

2.grup菜单错误
删除grub文件,导致找不到系统

重新进入会发现grup找不到

重新启动,进入梣centos页面就点exc键,一定要速度快,否则无法选中。
选从cd进入

再次进入模式troubleshooting

进入急救模式rescue

切换到光盘映像根目录

重新将grub引导程序文件安装到sda的mrb扇区

重新构建grup的配置文件

退出根目录,重启

可以看到又进入了grup菜单

3.修改root密码
修改之前要关闭安全
setenforce 0关闭安全机制
同样进入sh-4.2#

进入cd根目录,之间passwd ,将123456改为123

直接可以重启,新密码进入

linux 引导过程和服务控制的更多相关文章
- Linux引导过程与服务控制
一:系统引导流程: 开机自检(BIOS)-->MBR引导-->GRUB菜单-->加载内核(kernel)-->init进程初始化 二:系统引导级别: 0 poweroff.t ...
- Linux引导过程和服务过程
目录 一.Linux操作系统引导过程 1.1.开机自检 1.2.MBR引导 1.3.GRUB菜单 1.4.加载Linux内核 1.5.init进程初始化 二.系统初始化进程 2.1.init进程 2. ...
- Linux系统——引导过程与服务控制
一.Linux开机启动原理(十步) (1)开机自检BIOS 开机检测,主板检测 (2)MBR引导 硬盘512字节 (3)GRUB菜单 操作系统菜单 (4)加载内核(kernel) 启动操作系统核心,根 ...
- Linux 系统管理——引导过程与服务控制
一. 系统引导流程 1.开机自检(BIOS)(基本的输入输出系统) 2.MBR引导1.2. MBRIS 当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR (Master Boot Record ...
- Linux 引导过程内幕
转载:http://www.ibm.com/developerworks/cn/linux/l-linuxboot/index.html 从主引导记录到第一个用户空间应用程序的指导 引导 Linu ...
- 【转】Linux 高级的视角来查看Linux引导过程
[原文]https://www.toutiao.com/i6594210975480545800/ 1.概述 图 1 是我们在20,000 英尺的高度看到的视图. 当系统首次引导时,或系统被重置时,处 ...
- Linux引导过程
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行 ...
- Linux引导过程!(重点)
1.开机自检:服务器开机后,将根据主板BIOS (基本输入系统),中的设置对CPU .内存.显卡.键盘等设备进行初步检测,并初始化部分硬件. 2.MBR 引导:当从本机硬盘中启动系统时,首先根据硬盘中 ...
- Linux学习笔记之Linux启动引导过程
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行 ...
- Linux学习笔记:系统启动引导过程
Linux系统启动引导过程 近期发现自己在仅仅是掌握上有几个比較硬的伤: 一.知识体系碎片,比方Linux,这学点那学点,结果没有成体系,串不起来: 二.记忆时间短暂,非常多的内容学了就忘,最后的结果 ...
随机推荐
- SpringBoot笔记--配置->profile的配置
profile--动态配置切换 profile配置方式: 使用spring.profile.active=进行激活.properties文件 直接使用一个.yml文件代替多文件配置 使用---分隔符分 ...
- Spring------bean基础配置
Bean基础配置 Bean的别名配置: 在执勤已经定义好id的基础上,如果对该名称并不是很满意,但是又不是很想要去修改许多又利用到它的地方,可以选择在ApplicationContext.xml中配置 ...
- 使用cmd命令行安装 windows系统
条件:Microsoft WindowsPE 或其他第三方 WindowsPE 1. 使用 diskpart 分区: list disk:列出所有磁盘 select disk 编号:选择某块磁盘 c ...
- Cesium近地天空盒,解决图片旋转问题
前言 当我们使用官网的例子设置天空盒后,会发现天空云彩是斜的,比如下边这张图:通过查阅网上资料,需要修改cesium的源码,以下是修改后skybox的源码,在自己的项目中引入即可: 实现代码 cons ...
- Python中,类的特殊方法与内置函数的关联
目录 Python类 Python类的设计原则 特殊方法[Special methods] Duck typing 内置函数 English Version The key design princi ...
- 创建用户认证授权的 kubeconfig 文件
创建用户认证授权的 kubeconfig 文件 当我们安装好集群后,如果想要把 kubectl 命令交给用户使用,就不得不对用户的身份进行认证和对其权限做出限制. 下面以创建一个 cby 用户并将其绑 ...
- 【python基础】五大数据类型及常用方法
1. 数据类型概述 python中的字符串,列表,元组,字典,集合这五种数据类型均是可迭代的,可以使用for循环访问,涵盖了三类数据结构分别为序列.散列.集合. 序列: 字符串 str 列表 list ...
- ES_ChatGPT问答
Q1:springboot项目,如何使用elasticsearch的api增删改查?查询中有哪些方式,如果模糊查询.排序查询.分页查询?分别阐述下这些查询方式的用法?最后举一个完整的例子 答: 在Sp ...
- Activity中的setContentView(R.layout.xxx)源码分析
点进去会看到下图: 其中getWindow()是获取到Window类的唯一子类PhoneWindow的对象 找到PhoneWindow的setContentView()方法点进去: 1 @Overri ...
- nginx自定义负载均衡及根据cpu运行自定义负载均衡
转载请注明出处: 1.nginx如何自定义负载均衡 在Nginx中,可以通过配置文件自定义负载均衡策略.具体步骤如下: 首先,在Nginx配置文件中定义一个upstream模块,并设置负载均衡策略和后 ...