CentOS 7开机启动过程,引导和服务,密码的修改

开机启动过程:

引导过程:1.开机自检(BIOS)->2.MBR引导->GRUB菜单->加载内核kernel->systemd进程初始化

程序:执行特定任务的一串代码,静态,存在硬盘中。

进程:运行中的程序叫进程,动态,存在内存中。有生命周期。linux宏内核。

守护进程:init(CentOS6),systemd(CentOS7)。开机后先启动systemd再启动其它程序

开机启动顺序:告诉硬件去哪里找操作系统。BIOS:1.硬件,2.移动设备(光驱CDROM),3.网卡。

BIOS软件:检测硬件,然后指引硬件去找操作系统

MBR(硬盘的第一个扇区)512字节:1.开机引导程序 446字节。2.分区表64字节

GRUB:根据grub.cfg配置文件找到内核文件引导内核文件运行起来

kernel:加载内核,把内核放入内存中运行

运行级别所对应的Systemd目标

运行级别Systemd的target说明
0target关机状态,使用该级别时将会关闭主机
1rescue.target单用户模式,不需要密码验证即可登录系统,多用于系统维护
2multi-user.target用户定义/域特定运行级别。默认等同于3
3multi-user.target字符界面的完整多用户模式,大多数服务器主机运行在此级别
4multi-user.target用户定义/域特定运行级别。默认等同于3
5graphical.target图形界面的多用户模式,提供了图形桌面操作环境
6reboot.target重新启动,使用该级别时将会重启主机

2,3是字符界面,5是图形界面。可通过init 3进入字符界面

输入用户名和密码登录字符界面。说明:密码含有数字的小键盘输入无效!

可以再输入init 5切回图形界面!

解决系统故障问题

1.修复MBR分区

修复MBR扇区故障

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

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

解决思路:应提前做好备份文件;以安装光盘引导进入急救模式;从备份文件中恢复

1.备份mbr引导扇区到其他磁盘。2.模拟破坏mbr引导扇区。3.引导镜像急救模式进入mbr扇区恢复

基本原理:

1.增加一块磁盘sdb(可以重启一下,lsblk就能看到sdb了)

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    4G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
sr0              11:0    1  4.4G  0 rom  /run/media/root/CentOS 7 x86_64 

2.分区格式化挂载到mnt下

3.复制(备份分区表)

dd if=/dev/sda of=/mnt/mbr.bak count=1 bs=512

[root@localhost ~]# dd if=/dev/sda of=/mnt/mbr.bak count=1 bs=512
记录了1+0 的读入
记录了1+0 的写出
512字节(512 B)已复制,0.000643148 秒,796 kB/秒

[root@localhost ~]# ls /mnt                # 备份进来了
mbr.bak

4.破坏sda中第一个扇区

可以先看一下前512字节,是完整的数据

可以看到备份的文件和sda的第一个扇区完全一致

破坏:往sda第一个扇区里面写0:dd if=/dev/zero of=/dev/sda count=1 bs=512

数据被破坏

 重启前保证光驱是连接的

重启!选择第三个进入急救模式!

选择第二个!

 进入光驱的系统中去

ls /mnt        看到当前的mnt下没有任何东西

mount /dev/sdb1 /mnt        将sdb1挂载到mnt下

ls /mnt        看到了我们的备份文件

dd if=/mnt/mbr.bak of=/dev/sda count=1 bs=512        复制回去

reboot重启

重启后就能正常进入操作系统了

总结:

增加一块磁盘sdb 分区sdb1 挂载到/mnt上。

复制(备份分区表):dd if=/dev/sda of=/mnt/mbr.bak count=1 bs=512

hexdump -C -n 512 /dev/sba  查看完整性

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

hexdump -C -n 512 /dev/sda 查看到数据被破坏

reboot 重启进入光驱:选择第三个急救模式,选择第二个进入光驱系统,输入1 continue

mount /dev/sdb1 /mnt 把sdb1挂载到/mnt下

dd if=/mnt/mbr.bak of=/dev/sda count=1 bs=512 备份回去(备份分区表)

hexdump -C -n 512 /dev/sda #能看到数据恢复了

重启:reboot。能正常进入系统了。

2.修复GRUB分区

文件在/boot/grub2/grub.cfg。我们在根下创建个文件夹mkdir /data。把grub.cfg移动到/data中

使得开机启动时找不到grub.cfg

重启!重启时在读条过程中按esc,且只能按一次,读条只有0.5秒。

如果成功了,就进入这个界面,没成功就多试几次。选择CD-ROM

操作

总结:

把grub.cfg从/boot/grub2/grub.cfg移动到/data/下

重启,在读条0.5秒内按esc键,选择第三个进入光驱里面。选第三个急救模式,选择第二个进入光驱模式,输入1 continue

chroot /mnt/sysimage #有提示,根被挂载到mnt下了,切换到自己的根。进入急救模式后,更改环境

ls /data 发现有grub.cfg。可以直接复制过去到/boot/grub2/grub.cfg也可以用命令生成它。这里用以下两条命令生成

grub2-install /dev/sda 重新设置分区。重新建立加载sda分区

grub2-mkconfig -o /boot/grub2/grub.cfg 到这个路径下。只能叫这个名字。重新构建grub菜单配置文件

exit #退出shell环境

重启reboot

3.修改密码

当忘记root密码时可以通过两种方式:1.进入急救模式,通过passwd修改密码。2.启动时任意键暂停启动。按e键进入编辑模式

方式一:比较简单

需要在读条0.5秒中按一次esc键。进入光驱系统中,上面讲了。

选择1继续->2.更改环境->3.passwd更改密码->4.输入密码和确认密码(密码不显示)->5.退出当前环境->重启

方式二:

重启时在这个界面按e键,只有5秒

进入这个界面在linux开头的行的最后,敲一个空格,输入rd.break。按ctrl+x启动。

服务

服务程序:1.本地服务程序,管理本机:systemd,init。2.网络服务程序,接待网络客户

systemd:管家式的程序,管理系统中其他程序;为了方便管理将系统中的程序按照一定的规则进行分类

通过命令pstree -p查看进程树,可见systemd是系统启动的第一个进程。由它来引导其他程序启动。

想被systemd程序管理:系统必要的程序,yum rpm安装的程序,编译安装的程序,需要手写配置文件后才可以。必须在/usr/lib/systemd/system/下.service才会被systemd管理,yum和rpm会自动生成,天生可以被systemd管理,编译需要手写该文件,手写服务名.service的文件。

[root@localhost system]# pwd
/usr/lib/systemd/system
[root@localhost system]# find ./ -name '*.service' | wc -l
338

当一个服务被停掉后,如果有其他用户来访问这个服务时,只有在/usr/lib/systemd/system/下以.service的文件才会被systemd被唤醒。

  • systemctl命令:

    systemctl start 服务名 开启服务

    systemctl stop 服务名 关闭服务

    systemctl status 服务名 查看状态

    systemct restart 服务名 重启服务

    systemctl reload 服务名 重新加载服务不影响使用

    systemctl enable 服务名 开机自启

    systemctl disable 服务名 关闭开机自启

    systemctl enable --now 服务名 开机自启并立即启动

    systemctl disable --now 服务关闭开机自启,并立即关闭

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/311719.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分类损失函数与评估指标

目录 1 评估指标 1.1 准确率 1.2 精确率 1.3 召回率 1.4 F1 score 1.5 ROC曲线 1.6 AUC 1.7 PRC曲线的优势 2 损失函数 1. 负对数似然损失 2. 交叉熵损失 3. 指数损失 3 分类问题为什么用交叉熵损失不用 MSE 损失 1 评估指标 混淆矩阵 TP(True Positive) ---- 正…

AUTOCAD输出或打印PDF文件时,如何将图形居中且布满图纸?

AUTOCAD输出或打印PDF文件时,如何将图形居中且布满图纸? 如下图所示,我们打开一份DWG格式的图纸文件,然后点击上方的“打印“图标, 如下图所示, 打印机/绘图仪这里选择“DWG To PDF“; 图纸尺寸:这里以普通的A4纸为例进行说明; 打印比例选择“布满图纸“; 打印偏移…

【微信小程序之分包】

微信小程序之分包 什么是分包分包的好处分包前的结构图分包后的结构图分包的加载规则分包的体积限制使用分包打包原则引用原则独立分包独立分包的配置方法独立分包的引用原则分包预下载配置分包的预下载分包预下载限制 什么是分包 分包指的是把一个完整小程序项目,…

公园高速公路景区校园IP网络广播音柱SIP音柱

公园高速公路景区校园IP网络广播音柱SIP音柱 适用于学校、车站、教堂、工厂、仓库、公园停车场及露天市场高速公路等场所播放录制语音文件或背景音乐节目,专业一体化音箱设计,高强度防水设计,符合IP54防护等认证,数字化产品&…

酷开系统丨酷开科技打造P9系列智能投影,让智能化更进一步

近些年,随着科技的进步,家用投影仪已经成为家庭娱乐中不可或缺的一部分。尤其对年轻人来说,他们更喜欢在巨幕上看电影、玩游戏或听歌唱歌,投影仪在巨幕上的光影效果确实能带来更好的沉浸感体验,但这也是需要强大的系统…

论文略读:SWE-bench: Can Language Models Resolve Real-world Github Issues?

iclr 2024 oral reviewer评分 5668 现有的语言模型(LMs)的基准测试已经饱和,无法捕捉到最先进的语言模型能做什么和不能做什么的前沿。 ——>要具有挑战性的基准测试论文引入了SWE-bench 在现实软件工程环境中评估语言模型的基准测试 ​​…

word文件的创建时间和修改时间可以更改吗?答案是肯定的 文件属性修改的方法

一,引言 在日常生活和工作中,我们经常需要处理各种Word文件。有时,由于某些原因,我们可能需要更改Word文件的创建时间和修改时间。虽然这听起来可能有些复杂,但实际上,通过一些简单的方法和工具&#xff0…

数据库语言实战(三)

删除操作 本篇文章重点在于SQL中的各种删除操作 题目一 删除表中的学号不全是数字的那些错误数据,学号应该是数字组成,不能够包含字母空格等非数字字符。方法之一:用substr函数,例如Substr(sid,1,1)返回学号的第一位&#xff0…

java版数字藏品深色UI仿鲸探数藏盲盒合成短视频卡牌模式支持高并发

Java版数字藏品深色UI仿鲸探数藏盲盒合成短视频卡牌模式支持高并发,是一种结合了Java技术、深色用户界面(UI)设计、数字藏品概念、盲盒合成玩法以及短视频卡牌模式的综合性应用。该模式旨在为用户提供一种新颖、有趣的数字藏品体验&#xff0…

电脑怎么设置静态ip地址

在互联网连接中,IP地址扮演着至关重要的角色。它不仅是设备在网络世界中的唯一标识,还决定了设备如何与其他计算机通信。静态IP地址是一种固定不变的IP配置方式,与动态IP地址相比,它更加稳定,适用于需要长期、稳定网络…

Mysql的事务隔离级别以及事务的四大特性。

MySQL 的事务隔离级别是数据库管理系统中的一个重要概念,它决定了事务如何隔离和影响其他并发事务。MySQL 支持四种事务隔离级别,分别是:读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)…

RK3568 学习笔记 : 更改 u-boot spl 中的 emmc 的启动次序

环境 开发板: 【正点原子】 的 RK3568 开发板 ATK-DLRK3568 u-boot 版本:来自 【正点原子】 的 RK3568 开发板 Linux SDK,单独复制出来一份,手动编译 编译环境:VMware 虚拟机 ubuntu 20.04 问题描述 RK3568 默认 …

啤酒厂要开发一个SCADA系统,我是这样考虑的

需求分析 在啤酒生产过程中,技术与自动化的应用对确保产品质量的稳定、提高生产效率以及保障生产安全起着至关重要的作用。因此,构建一套全面、高效的SCADA(监督控制与数据采集)系统总体规划框架对于啤酒厂来说具有重大意义。 SCA…

SSL证书添加与ICP备案,对于SpringBoot的要求

配置了SSL证书之后,在SpringBoot的resources文件夹里的application.properties会添加以下代码: server.port443 不需要添加server.address。不然会报错。 https类型的请求默认在Postman里面不可请求。 经过SSL证书处理的网页,链接中使默认…

jinja2常用基本语法

变量 {{变量名称}} 循环 {%for i in range(100)%}代码块{%endfor%} 条件判断 {%if true%}代码块1{%elif true%}代码块2{%else%}代码块3{%endif%} include导入其他模板 {%include "sub.tpl"%} 过滤器 {{vendor_list|filter()}} 继承母版 {%extends base.co…

Android JetPack Compose+Room----实现搜索记录功能

文章目录 需求概述功能展示实现搜索功能使用的技术1.Android Jetpack room2.Android JetPack Compose 代码实现编写搜索界面接入Room实现搜索功能的管理引入依赖定义包结构定义操作表的Dao类定义数据库的基础配置定义数据库的Dao管理类使用数据库升级 源码地址 需求概述 搜索功…

Java反序列化基础-类的动态加载

类加载器&双亲委派 什么是类加载器 类加载器是一个负责加载器类的对象,用于实现类加载的过程中的加载这一步。每个Java类都有一个引用指向加载它的ClassLoader。而数组类是由JVM直接生成的(数组类没有对应的二进制字节流) 类加载器有哪…

Java 类加载过程

Java 类加载过程 类的生命周期类的加载过程加载验证准备解析初始化 类的生命周期 类的生命周期: 加载(Loading)— 验证(Verification)— 准备(Preparation)— 解析(Resolution&#…

CSS基础:width,height尺寸属性详解

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。云桃桃,大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web…

【文件系统】 F2FS文件系统学习

一、基本介绍 1、F2FS History F2FS(Flash Friendly File System)是专门为Nand Flash设计的一个日志型文件系统,于2012年12月合入Linux3.8内核,Google也在2018年(Android P)将其吸收到安卓原生版本中&…