Linux的引导过程与服务控制

news2024/11/17 7:40:35

一.开机启动的完整过程

引导过程:

1.bios加电自检

检测硬件是否正常,然后根据bios中的启动项设置,去找内核文件

服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘灯设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘。

2.mbr

因为grup太大,第一个扇区存不下所有的grub程序,所以分为2部分指引硬件找到内核文件

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

3.grub

根据grub配置文件(grub.cfg)中记录的位置,去找到内核文件

对于Linux操作系统来说,GRBU(统一启动加载器)是使用最为广泛的多系统引导程序。系统控制权传递给GRUB以后,将会显示启动菜单给用户选择,并根据所选项(或采用默认值)加载Linux内核文件,然后将系统控制权转交给内核,需要注意的是,Centos7 采用的是GRUB2启动引导器。
注意:GRUB引导程序通过读取GRUB配置文件/boot/grub2/grub.cfg ,来获取内核和镜像文件系统的设置和路径位置

4.加载内核文件

把内核运行在内存中

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

5.启动第一个进程

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

概述:

加电后bios程序会自检硬件,硬件无故障后,会根据第一启动项去找内核,一般来说第一启动项是硬盘,找到硬盘后,会根据mbr的指引找到完整的grub程序,再根据grub的配置文件找到内核文件的具体位置,然后将内核文件加载到内存中运行,内存加载好后会启动第一个程序。

二.系统初始化进程

1. init进程

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

init进程是系统中第一个进程

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

2. systemd进程

systemd是linux操作系统的一种init软件

centos7中采用全新的systemd启动方式,取代传统的sysvinit

centos7中运行的第一个init进程是/lib/systemd/system

区别:

init  串行启动后续的程序  一个一个按顺序启动

systemd   是并行启动程序  全部一起启动

概括:

路径:/lib/systemd/system/*.service为结尾的文件

systemd能够识别并管理这些以.service为结尾的程序

2.1 systemd单元进程

2.2 运行级别所对应的systemd目标

查看当前运行级别  runlevel  

各个级别的作用:

0  关机

1  单用户   类似于windows的急救模式

2  字符界面   少些功能(nfs)

3  字符界面

4  字符界面  从来没用

5  图形界面

6  重启

init  0  关机

init   3  切换到字符界面

注意:

yum及rpm安装的软件可以直接使用systemctl去启动 关闭 重启 开机自启等功能

编译安装 不可以直接使用systemctl命令去管理程序 需要手写一个配置文件

systemd unit(单元) ,systemd方便管理程序,将程序按照特定的功能分成了很多单元

三.修复mbr扇区故障

1.故障原因

病毒、木马等造成的破坏

不正的分区操作、磁盘读写误操作

MBR位于第一块硬盘( /dev/sda) 的第一个物理扇区处,总共512字节

2.故障现象

找不到引导程序,程序中断

无法加载操作系统,开机后黑屏

使用dd命令模拟将MBR损坏,复制512字节到/dev/sda中进行覆盖MBR
 dd if=/dev/zero of=/dev/sda count=1 bs=512

3.解决思路

应提前做好备份

以光盘引导进入急救模式

从备份文件中恢复

1、在覆盖前需要使用dd进行备份,如果没有备份,那这个系统就挂了。
怎么备份?备份需要使用dd命令将/dev/sda中的前512字节复制到一个新的硬盘中,
新的硬盘需要进行分区、格式化、挂载(建议永久挂载),挂载在新创建的目录下面。

2、进入linux中的急救模式,
(在重启前需要在DVD中的设置镜像,不然就无法进去急救模式)。

3、在shell环境中,新创建一个目录,然后将这个硬盘挂载在这个目录下
因为硬盘在前面已经复制过MBR的备份进去,所以它里面还是存在的,
最后将这个目录下的文件使用dd复制到/dev/sda中,重启即可。

4.操作步骤

1.新加一块盘,然后做好分区,格式化,挂载。

2.将备份文件复制到新盘

3.模拟破坏/dev/sda

4.进入急救模式

reboot重启成功!!!

四.修复gurb扇区故障

1.故障原因

MBR中的GRUB引导程序遭到破坏

grub.conf文件丢失、引导配置有误

2.故障现象

系统引导停滞,显示“grub>”提示符

3.解决思路

尝试手动输入引导命令

进入急救模式,重写或者从备份中恢复grub.conf

向MBR扇区中重建grub程序

4.实验步骤

/boot/grub/目录下的包是用于启动菜单的背景图片及样式

/boot/grub2/grub.cfg #GRUB配置文件

1 先模拟破坏grub.cfg配置文件

2 重启进入急救模式

3 先切换根,从光盘的根切换到自己的系统的根

4 重新安装grub2程序在sda磁盘

5 重新生成配置文件

6 exit  重启

五.Centos 7遗忘root用户的密码

1.故障原因

遗忘root用户的密码

2.故障现象

无法进行需要root权限的管理操作

若没有其它可用账号将无法登陆系统

3.解决思路

进入急救模式重设密码

4.实验步骤

①有光驱

②无光驱

1.进入系统,在选择内核模式,选择第一行,按e

进入下面页面

2.将光标移动到linux行开头行的最后,添加  rd.break 

3.ctrl + x 运行

进入到单用户模式

4.重新挂载,添加读写权限

5.切换到真正的根

6 修改密码

7.如果开启了selinux需要重新打上标记

六.服务程序管理

什么是服务程序

1.一旦运行一直运行不会退出

2.一般是后台运行,不会影响前台的操作

1.chkconfig      centos 6

service  服务程序  start

service  服务程序  stop

service  服务程序  restart

service  服务程序  reload

service  服务程序  status

在  /etc/init.d写一个同名文件的脚本(必须要有 执行权限)

chkconfig  --add   服务名称

chkconfig  --level  35  服务程序  on  开机自启

chkconfig  --level  35  服务程序  off  关闭开机自启

2.systemd    centos 7

格式:

systemctl  控制类型  服务名称

常用控制类型

类型动作
start启动
stop停止
restart重新启动
reload重新加载
status查看服务状态
enable开机自启
disable开机不自启

开机自启

systemctl enable  服务名

开机自启,并立即启动

systemctl  enable  --now  服务名

开机不自启

systemctl  disable  服务名

开机不自启,并立即关闭

systemctl  disable  --now  服务名

注意:如果用 yum 安装以及rpm 安装会自动生成一个配置文件,不需要我们手动加入systemd,会自己添加

3.服务配置文件

/usr/lib/systemd/system/NAME.service

三部分组成:

[Unit]                       定义systemd单元的元数据

[Service]                  服务的配置,只有systemd单元是服务类型时才有这一段信息

[Install]                   定义是否是开机启动

Unit段:

Service段:

Install段:

编辑完之后,需要刷新一下

开启并查看状态

关闭并查看状态

4.实验步骤

1.编译安装

2.编写服务配置文件

3.刷新

4.开启查看状态  关闭查看状态

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

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

相关文章

一个JSON.parse的问题,让我丢掉了字节的 offer!

前端训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。微信在文章底部,欢迎来撩~~~~~~~~ Hello,大家好,我是 Sunday。 在几年前的一次字节跳动面试中&#xff0c…

HelloWorld搭建(第一种模型)

1.创建Springboot项目并且引入依赖 <!-- 引入RabbitMQ的相关依赖 --> <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.7.2</version> </dependency> 2.第一种模式(直连…

企业生产安全指南,请点击文章查收!

随着科技的不断发展&#xff0c;视频监控系统在各个领域中扮演着越来越重要的角色。视频监控系统为企业和机构提供了强大的工具&#xff0c;以提高效率、增强安全性&#xff0c;并为决策制定提供实时数据支持。 客户案例 企业安全与生产管理 在现代企业环境中&#xff0c;保障…

产品|燕窝中的“秘密武器”——燕窝酸

前言 当提及燕窝&#xff0c;大部分人脑海中首先会闪过的大概是“宫廷圣品”、“名贵补品”等听上去十分高大上的形容词。然而随着现代人们生活水平的提高&#xff0c;燕窝已不再神秘&#xff0c;逐渐成为寻常百姓餐桌上的常见食品之一。据我国中医记载&#xff0c;燕窝具有养…

职场商务英语口语“自助餐”用英文怎么说?柯桥外语培训

“自助餐”用英语怎么说&#xff1f; ● 其实很简单&#xff0c;“自助餐”的英文就是&#xff1a;Buffet。 例句&#xff1a; At lunchtime, theres a choice between the buffet or the set menu.15857575376 午饭时&#xff0c;可以选择自助餐或套餐。 We are going to …

租赁小程序|北京租赁系统开发|租赁软件推动了行业发展

如今&#xff0c;租赁行业正在迅速发展&#xff0c;越来越多的商家和用户寻求更便捷、高效的租赁体验。租赁小程序作为一种科技创新的产物&#xff0c;为租赁行业带来了巨大的变革。本文将介绍租赁小程序的功能与特色&#xff0c;旨在让商家和用户更了解这一工具&#xff0c;为…

关于标准那些事——第六篇 四象之“朱雀”(要素的表述)

两仪生四象——东方青龙&#xff08;木&#xff09;、西方白虎&#xff08;金&#xff09;、南方朱雀&#xff08;火&#xff09;、北方玄武&#xff08;水&#xff09; 分别对应标准编写之四象——层次的编写、要素的编写、要素的表述、格式的编排。 今天来分享一下 要素的表…

Unity ShaderGraph 技能冷却转圈效果

Unity ShaderGraph 技能冷却转圈效果 前言项目场景布置代码编写ShaderGraph 连线总结 参考 前言 遇到一个需求&#xff0c;要展示技能冷却的圆形遮罩效果。 项目 场景布置 代码编写 Shader核心的就两句 // 将uv坐标系的原点移到纹理中心 float2 uv i.uv - float2(0.5, 0…

基于Springboot+vue医院管理系统(前后端分离)

最近有一些读者问我有没有完整的基于SpringbootVue的项目源码&#xff0c;今天给大家整理了一下&#xff0c;无偿分享给大家。 功能&#xff1a; 医生信息管理 换着信息管理 挂号信息管理 药物信息管理 检查项目管理 病床信息管理 排班信息管理 数据统计分析 开发工具…

仓储物流RFID智能管理设计解决方案

一、项目概况 1、项目背景 在物流管理中&#xff0c;仓储管理是至关重要的环节&#xff0c;传统的仓储管理存在诸多问题&#xff0c;如进出库操作混乱、库存报告延迟、货品属性不清晰、堆放混乱、盘点不准确等&#xff0c;这些问题需要通过基于信息化管理的技术进行彻底改造。…

「Qt Widget中文示例指南」如何实现一个日历?(一)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 本文中的CalendarWi…

开源MIT协议软件 - ChatGPT Admin Web

ChatGPT Admin Web 在团队和组织内共享使用人工智能的一站式解决方案。 ​编辑 ​编辑 ​编辑 CAW 是一个自托管网络应用程序&#xff0c;提供开箱即用的用户管理&#xff0c;包括后台界面以及可配置的支付计划和相关支付界面。 GitHub Sponsor / 爱发电 功能 Features …

React使用动态标签名称

最近在一项目里&#xff08;React antd&#xff09;遇到一个需求&#xff0c;某项基础信息里有个图标配置&#xff08;图标用的是antd的Icon组件&#xff09;&#xff0c;该项基础信息的图标信息修改后&#xff0c;存于后台数据库&#xff0c;后台数据库里存的是antd Icon组件…

【办公技巧】word文档怎么隐藏文字呢?word隐藏文字的四种方法!

Word文件制作完毕后&#xff0c;有些部分不想别让人看到&#xff0c;又不想删掉&#xff0c;把么我们可以隐藏文字&#xff0c;今天分享几个隐藏文字的方法给大家~ 方法一&#xff1a; 最简单的方法&#xff0c;将字体颜色与背景颜色设置为一致的&#xff0c;这样就达到了隐藏…

《Vue3 前端构建工具》 Vue-cli 与 Vite 创建项目的插件和配置对比

前言 2024 年 啦&#xff01;Vue2 也于 2023.12.31 寿终正寝 &#xff01; 然而我的 Vue3 升级一再拖延&#xff08;惭愧不已&#xff09;~ 赶起来吧~ 今天用 vue-cli 和 vite 分别创建了 Vue3 项目&#xff0c;具体实现步骤见如下两篇。 《基于 Vue Cli4.x Vue3 TS styl…

论文润色降重多少钱 智能写作

大家好&#xff0c;今天来聊聊论文润色降重多少钱 智能写作&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff0c;可以借助此类工具&#xff1a; 标题&#xff1a;论文润色降重多少钱――了解市场行情与选择合…

【MPC学习笔记】02:MPC详细简介(Lecture 1_1 Unconstrained MPC)

本笔记来自北航诸兵老师的课程 课程地址&#xff1a;模型预测控制&#xff08;2022春&#xff09;lecture 1-1 Unconstrained MPC 接上一篇&#xff1a;【MPC学习笔记】01&#xff1a;MPC简介&#xff08;Lecture 1_1 Unconstrained MPC&#xff09; 文章目录 1 详细介绍1.1 状…

​ubuntu安装远程桌面 ​Xfce

本文最先发布在&#xff1a;https://www.itcoder.tech/posts/how-to-install-xrdp-on-ubuntu-20-04/ Xrdp 是一个微软远程桌面协议&#xff08;RDP&#xff09;的开源实现&#xff0c;它允许你通过图形界面控制远程系统。通过 RDP&#xff0c;你可以登录远程机器&#xff0c;并…

从 YOLOv1 到 YOLO-NAS 的所有 YOLO 模型:论文解析

在计算机视觉的浩瀚领域&#xff0c;有一支耀眼的明星&#xff0c;她的名字传颂着革新与突破的传奇——YOLO&#xff08;You Only Look Once&#xff09;。回溯时光&#xff0c;走进这个引人注目的名字背后&#xff0c;我们仿佛穿越进一幅画卷&#xff0c;一幅展现创新魅力与技…

论文润色会泄露吗 智能写作

大家好&#xff0c;今天来聊聊论文润色会泄露吗 智能写作&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff0c;可以借助此类工具&#xff1a; 标题&#xff1a;论文润色会泄露吗――保护学术隐私与安全的探讨…