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

news2024/11/24 14:25:19

开机启动过程:

引导过程: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.coloradmin.cn/o/1600739.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第十一章数据仓库和商务智能10分

【数据仓库-后端,商务智能-前端】 基本算法:关联关系(牵手-谈恋爱),集群关系(杭州人爱吃酸甜口),决策树,线性回归,贝叶斯,神经网络,时…

【Linux】磁盘扩容到根目录逻辑卷(LVM)

目录 一、物理卷和逻辑卷 1.物理卷和逻辑卷的区别 2.在Linux系统中查看所有物理卷的信息 3.在Linux系统中查看所有逻辑卷的信息 二、文件系统 三、实操-对root(/)目录进行扩容 1.使用lsblk命令查看新加入的磁盘信息 2.fdisk -l命令查看系统中磁盘…

景区导览系统平台|智能导览|数字人导游|VR游园

随着人工智能、元宇宙等技术的飞速发展,文旅行业正迎来一场前所未有的变革。道可云文旅元宇宙平台以其独特的智慧景区导览系统、元宇宙空间以及数字人导游等创新应用,为景区和游客带来了全新的旅游体验,也标志着文旅行业正式步入了元宇宙时代…

含多种需求响应及电动汽车的微网/虚拟电厂日前优化调度

1 主要内容 程序主要建立一个微网/虚拟电厂的日前优化调度模型,以燃气轮机运行成本、购售电费用、电动汽车电池损耗成本以及需求响应费用之和为目标,在日前经济调度模型中,加入了电动汽车模型,考虑了电动汽车出行规律以及充放电规…

华硕ROG幻16笔记本电脑模式切换管理工具完美替代华硕奥创中心管理工具

文章目录 华硕ROG幻16笔记本电脑模式切换管理工具完美替代华硕奥创中心管理工具1. 介绍2. 下载3. 静音模式、平衡模式、增强模式配置4. 配置电源方案与模式切换绑定5. 启动Ghelper控制面板6. 目前支持的设备型号 华硕ROG幻16笔记本电脑模式切换管理工具完美替代华硕奥创中心管理…

环境搭建创建项目_使用DevEco开发工具进行开发_创建项目_认识项目结构---HarmonyOS4.0+鸿蒙NEXT工作笔记001

首先去下载DevEco Studio然后再去安装就可以了 安装下一步下一步非常简单 首先去安装nodejs,可以看到,有两个安装方法,左边是自己安装的制定文件夹就可以了,然后 右边是使用鸿蒙自带的,我们选择第二个 然后我们看这个ohpm其实就跟npm是一个意思,用来管理鸿蒙的包的. 这里我们…

JavaEE:JVM

基本介绍 JVM:Java虚拟机,用于解释执行Java字节码 jdk:Java开发工具包 jre:Java运行时环境 C语言将写入的程序直接编译成二进制的机器语言,而java不想重新编译,希望能直接执行。Java先通过javac把.java…

【机器学习】贝叶斯算法在机器学习中的应用与实例分析

贝叶斯算法在机器学习中的应用与实例分析 一、贝叶斯算法原理及重要性二、朴素贝叶斯分类器的实现三、贝叶斯网络在自然语言处理中的应用四、总结与展望 在人工智能的浪潮中,机器学习以其独特的魅力引领着科技领域的创新。其中,贝叶斯算法以其概率推理的…

用于密集视觉冲击的紧凑三维高斯散射Compact 3D Gaussian Splatting For Dense Visual SLAM

Compact 3D Gaussian Splatting For Dense Visual SLAM 用于密集视觉冲击的紧凑三维高斯散射 Tianchen Deng 邓天辰11Yaohui Chen 陈耀辉11Leyan Zhang 张乐妍11Jianfei Yang 杨健飞22Shenghai Yuan 圣海元22Danwei Wang 王丹伟22Weidong Chen 陈卫东11 Abstract 摘要 …

通过腾讯云搭建跨境电商demo的详细操作过程(建站系统 保姆级指导,巨详细)

引言: 有许多做跨境电商的朋友,或者为跨境电商服务的小企业,都会面临搭建电商平台V1.0的问题 因此,花了点时间,找了一个开源的项目,让大家可以跑起来,一方面了解平台都有哪些模块,另…

Unity 左右折叠显示与隐藏UI的简单实现

要实现一个简单的UI左右折叠显示与隐藏,可以结合遮罩,通过代码控制UI区块的宽度和位移来实现。 具体可以按以下步骤实现: 1、新建一个Image组件,并添加精灵,调整大小后,复制一份作为该UI的父物体&#xf…

1、MYSQL系列-深入理解Mysql索引底层数据结构与算法

索引的本质 索引是帮助MySQL高效获取数据的排好序的数据结构 索引数据结构 二叉树红黑树Hash表BTree B-Tree B-Tree 叶节点具有相同的深度,叶节点的指针为空,所有索引元素不重复,节点中的数据索引从左到右递增排列 BTree(B-Tree变种) 非叶…

Pytorch搭建GoogleNet神经网络

一、创建卷积模板文件 因为每次使用卷积层都需要调用Con2d和relu激活函数,每次都调用非常麻烦,就将他们打包在一起写成一个类。 in_channels:输入矩阵深度作为参数输入 out_channels: 输出矩阵深度作为参数输入 经过卷积层和relu激活函数…

Qt对象池,单例模式,对象池可以存储其他类的对象指针

代码描述: 写了一个类,命名为对象池(ObjectPool ),里面放个map容器。 3个功能:添加对象,删除对象,查找对象 该类只构建一次,故采用单例模式功能描述:对象池可…

04 MySQL --DQL 专题--Union、exists

1. UNION、UNION ALL UNION 关键字的作用? 合并两个或多个 SELECT 语句的结果。发挥的作用与 or 非常相似 UNION关键字生效的前提? 每个 SELECT 语句必须拥有相同数量的列。每个 SELECT 语句中的列的顺序必须相同。列必须拥有相似的数据类型。 SELEC…

WebRTC直播间搭建记录

考虑到后续增加平台直播的可能性,笔记记录一下WebRTC相关. 让我们分别分析两种情况下的WebRTC连接建立过程: 情况一:AB之间可以直接通信 1.信令交换: 设备A和设备B首先通过信令服务器交换SDP(Session Description Pr…

负载均衡集群——LVS

目录 1.LVS简介 2.LVS体系结构 3.LVS相关术语 4. LVS工作模式 5. LVS调度算法 6.LVS集群介绍 6.1 LVS-DR模式 6.2 LVS – NAT 模式 6.3 LVS – TUN 模式 7.LVS 集群构建 7.1 LVS/NAT 模式配置 实验操作步骤 步骤 1 Nginx1 和 Nginx2 配置 步骤 2 安装和配置 LVS …

R语言使用installr包对R包进行整体迁移

今天分享一个R语言的实用小技巧,如果咱们重新安装了电脑(我重装了电脑)或者因为需要卸载旧版本的R软件,安装新版本的R,那么必然会造成R包的库缺失,需要重新下载,有些还不是官方的R包&#xff0c…

如何从零开始创建React应用:简易指南

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

认识异常(1)

❤️❤️前言~🥳🎉🎉🎉 hellohello~,大家好💕💕,这里是E绵绵呀✋✋ ,如果觉得这篇文章还不错的话还请点赞❤️❤️收藏💞 💞 关注💥&a…