Linux 操作系统的引导过程

news2025/1/16 13:52:47

Linux系统开机引导过程:

  1. 开机自检                  检测硬件设备,找到能够引导系统的设备,比如硬盘
  2. MBR引导                 运行MBR扇区里的主引导程序GRUB
  3. 启动GRUB菜单       系统读取GRUB配置文件(/boot/grub2/grub.cfg)获取内核的设置和位置,并在屏幕显示GRUB菜单页面
  4. 加载inux内核           把内核加载到内存,将系统控制权交接给内核
  5. init进程初始化          内核将init进程加载到内存中运行,并把init进程作为系统的第一个进程
  6. 系统初始化               启动内核模块,执行运行级别的启动脚本,执行/etc/rc.d/rc.local文件里的命令等

init进程    

文件位于  /sbin/init ——>   /lib/svstemd/svstemd 

init进程PID号固定为1,是系统中其它所有进程的父进程

进程启动方式:

centos7开始的版本默认的启动方式是 systemd开机服务程序为并行启动启动效率较快
centos6及以前版本的启动方式是 sysvinit机服务程序是通过串行执行/etc/init.d/日录下的she11脚本启动的容易阻塞,启动效率较慢

套接字文件,格式 

套接字文件    应用程序直接的数据连接文件

套接字格式   ip:port        ftp 192.168.80.20:21

Linux系统的运行级别 

运行级别:功能:对应的systemd单元切换
0关机poweroff.target

init 0      

systemctl isolate poweroff.target

1单用户模式rescue.target

init 1      

systemctl isolate rescue.target

2字符界面的多用户模式(无网络)multi-user.target
3字符界面的多用户模式(完整的,有网络)multi-user.target

init 3      

systemctl isolate multi-user.target

4字符界面的多用户模式(保留)multi-user.user
5图形界面的多用户模式graphical.target

init 5      

systemctl isolate graphical.target

6重启reboot.target

init 6      

systemctl isolate reboot.target

启动类故障恢复:

MBR主引导程序     1~446硬盘分区表 447~510 

如果是 MBR 整个扇区数据被破坏了,需要进入到急救模式将备份的MBR数据导入还原:

备份命令:

dd if=/dev/sda   of-备份文件  bs-512   count=1

还原命令:

dd if=备份文件   of=/dev/sda

如果是 MBR 的GRUB主引导程序被破坏了: 

1)在急救模式下使用备份文件恢复          

dd if=备份文件  of=/dev/sda  bs=446  count=1

2)在急救模式下重建MBR的GRUB主引导程序  

chroot /mnt/sysimage   ->   grub2-install /dev/sda 

如果是GRUB配置文件被删了:

在急救模式下重建GRUB配置文件  

chroot /mnt/sysimage   ->   grub2-mkconfig -o /boot/grub2/grub.cfg 

如果是root密码忘记了

1)在急救模式下  

先切换系统根环境 chroot /mnt/sysimage   ->  passwd root

2)在GRUB菜单按 e 键,修改内容 

在 linux16 /vmlinuz-3.10.0-1160.71.1.el7.x86_64 root=UUID=a99fd431-dc10-4233-a655-3c4b8d710624 ro rhgb quiet LANG=zh_CN.UTF-8         这行后面追加配置
rw single init=/bin/bash ,再按 ctrl + x 重启系统
再在bash界面输入 passwd root 修改密码  ->  touch /.autorelabel  -->   exec /sbin/init 

服务管理操作:

systemctl start|stop|restart|reload|status|is-active 服务名[.service]  

           #要确保在 /usr/lib/systemd/system/ 目录中有相关服务的 XXX.service 文件

service 服务名 start|stop|restart|reload|status                        

           #要确保在 /etc/init.d/ 目录中有相关服务的管理脚本文件

 服务开机自启管理:

systemctl enable|disable [--now] 服务名[.service]       # --now选项可实现立即开启|关闭服务
systemctl is-enabled 服务名[.service] 

图形化管理开机自启:

ntsysv    #图形化管理开机自启 

chkconfig --add 服务名                             #服务名就是 /etc/init.d/ 目录下的脚本文件名
chkconfig --level 运行级别列表  服务名  on|off     #开启|关闭服务在哪些运行级别下开机自启
chkconfig --list 服务名                            #查看自启状态 

 查看上一次的运行级别 和 当前的运行级别

runlevel         #查看上一次的运行级别 和 当前的运行级别 

 查看当前的默认运行级别,设置默认运行级别

 systemctl get-default    #查看当前的默认运行级别

systemctl set-default multi-user.target|graphical.target           #设置默认运行级别
等效于 ln -s -f /usr/lib/systemd/system/multi-user.target|graphical.target  /etc/systemd/system/default.target

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

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

相关文章

基于WOA优化的CNN-GRU-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1卷积神经网络(CNN)在时间序列中的应用 4.2 GRU网络 4.3 注意力机制(Attention) 4.4 WOA优化算法 5.算法完整程序工程 1.算法运行效果图…

java 学习一

jdk下载地址 配置环境变量

【RAG 论文】Query2doc — 使用 LLM 做 Query Expansion 来提高信息检索能力

论文:Query2doc: Query Expansion with Large Language Models ⭐⭐⭐⭐⭐ Microsoft Research, EMNLP 2023 文章目录 背景介绍Query2doc 论文速读实现细节实验结果和分析总结分析 背景介绍 信息检索(Information Retrieval,IR)指…

离线数仓数据导出-hive数据同步到mysql

离线数仓数据导出-hive数据同步到mysql MySQL建库建表数据导出 为方便报表应用使用数据,需将ads各指标的统计结果导出到MySQL数据库中。 datax支持hive同步MySQL:仅仅支持hive存储的hdfs文件导出。所以reader选hdfs-reader,writer选mysql-wri…

新手小白能做视频号小店吗?可以,但这几点一定要搞清楚

大家好,我是电商笨笨熊 视频号小店的推出吸引了不少的电商玩家,其中也有很多新手小白,大家对于此项目充满好奇,尤其是其私域电商的模式和中年以上的未被开发的用户群体,处处都充满着新风口。 但正所谓拿着旧地图找不…

【好书推荐7】《机器学习平台架构实战》

【好书推荐7】《机器学习平台架构实战》 写在最前面《机器学习平台架构实战》编辑推荐内容简介作者简介目  录前  言本书读者内容介绍充分利用本书下载示例代码文件下载彩色图像本书约定 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光&…

ONLYOFFICE协作空间:团队高效协作的终极武器!

文章目录 ONLYOFFICE协作空间初创版专业版(云端)企业版(内部部署) 亮点功能实时多人协作编辑高效的项目管理工具无缝集成第三方存储服务安全性和合规性支持Markdown文件群组功能和存储配额管理嵌入功能和数据导入自托管协作空间支…

YOLOv8 关键点检测模型训练部署

文章目录 1、YOLOv8安装及使用1.2、命令行使用1.3、使用python-API模型预测1.4、pt转换ONNX 2、训练三角板关键点检测模型2.1、训练命令 3、ONNX Runtime部署 1、YOLOv8安装及使用 参考链接: 同济子豪兄视频 github原文链接 # 安装yolov8 pip install ultralytics --upgrade …

操作系统:进程间通信 | 管道

目录 1.进程间通信介绍 1.1.简要介绍 1.2.进程间通信的目的 1.3.进程间通信的本质 2.管道 2.1.管道的通信原理 2.2.匿名管道 2.3.命名管道 2.4.基于匿名管道的进程池demo 2.4.1.进程池的相关引入 2.4.2.整体框架的分析 2.4.3.代码的实现 1.进程间通信介绍 1.1.简…

Etsy多账号关联怎么办?Etsy店铺防关联解决方法

Etsy虽然相对于其他跨境电商平台来说比较小众,但因为平台是以卖手工艺品为主的,所以成本较低,利润很高。许多跨境卖家都纷纷入驻,导致平台规则越发严格,操作不当就会封号,比如一个卖家操作多个账号会出现关…

kubernetes部署控制器Deployment

一、概念 在学习rc和rs控制器资源时,这两个资源都是控制pod的副本数量的,但是,他们两个有个缺点,就是在部署新版本pod或者回滚代码的时候,需要先apply资源清单,然后再删除现有pod,通过资源控制&…

赛氪网参与第61届中国高等教育博览会,助力产教融合与科教融汇

为深入贯彻党的二十大精神,落实立德树人根本任务,推动高等教育装备现代化,第61届中国高等教育博览会(以下简称“高博会”)于近日在福建省福州市隆重开幕。作为高等教育领域内的综合性品牌博览会,此次高博会…

达梦(DM)数据库表索引

达梦DM数据库表索引 表索引索引准则其他准则 创建索引显式地创建索引其他创建索引语句 使用索引重建索引删除索引 表索引 达梦数据库表索引相关内容比较多,常用的可能也就固定的一些,这里主要说一下常用的索引,从物理存储角度进行分类&#…

【声呐仿真】学习记录0.5-配置ssh远程连接docker、在docker中使用nvidia显卡

【声呐仿真】学习记录0.5-配置ssh远程连接docker、在docker中使用nvidia显卡 配置ssh远程连接docker1.端口映射2.配置ssh 在docker中使用nvidia显卡配置CUDA 注意:之前已经创建过容器的,需要打包成镜像,重新创建容器,因为要在创建…

# IDEA2019 如何打开 Run Dashboard 运行仪表面板

IDEA2019 如何打开 Run Dashboard 运行仪表面板 段子手168 1、依次点击 IDEA 上面工具栏 —> 【View】 视图。 —> 【Tool Windows】 工具。 —> 【Run Dashboard】 运行仪表面板。 2、如果 【Tool Windows 】工具包 没有 【Run Dashboard】 运行仪表面板 项 依次…

uniapp制作多选下拉框和富文本(短信页面)

实例 多选下拉框实现 http://t.csdnimg.cn/TNmcF 富文本实现 http://t.csdnimg.cn/Ei1iV

网络带宽相关

1.tcp重传率计算 watch -n 5 “cat /proc/net/snmp” 如下博客所讲 https://blog.csdn.net/michaelwoshi/article/details/121189743 2.iperf测试网络带宽 #客户端 #tcp iperf -c 服务端ip -P 4 -b 200M #udp iperf -c 服务端ip -u -P 4 -b 1000M -l 10K #服务端 iperf -s

OPTEE的GDB调试技术实战

【按语】:如果需要调试OPTEE,那么在远程调试配置中使用GDB可能会很有用。远程调试意味着GDB在您的PC上运行,它可以访问源代码,而被调试的程序在远程系统上运行(在本例中,在QEMU环境的OPTEE中)。本博客来探讨OPTEE的GDB…

React基础知识大汇总

函数组件和类组件 函数组件与类组件有什么区别呢? function getName(params:{name:string}){const count 0;return params.name -count; } getName({name:"test"}) getName({name:"哈哈哈"})getName是一个纯函数,不产生任何副作用…