Linux 操作系统的引导过程

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.mzph.cn/bicheng/2566.shtml

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

相关文章

YesPMP众包平台最新项目

YesPMP一站式互联网众包平台,最新外包项目,有感兴趣的用户可进入平台参与竞标。 (竞标后由项目方直接与服务商联系,双方直接对接) 1.查看项目:个人技术-YesPMP平台 2.查看项目&#xff1…

命名空间:namespace

对于无名命名空间 :但是不能再次定义相同名称的变量 在同一文件中

CUDA 下 DGL 库安装

https://www.dgl.ai/pages/start.html pip install dgl -f https://data.dgl.ai/wheels/cu121/repo.html成功o( ̄▽ ̄)ブ ⭐⭐

jvm知识点总结(一)

JVM的跨平台 java程序一次编写到处运行。java文件编译生成字节码,jvm将字节码翻译成不同平台的机器码。 JVM的语言无关性 JVM只是识别字节码,和语言是解耦的,很多语言只要编译成字节码,符合规范,就能在JVM里运行&am…

上海·得物技术沙龙-「无线技术」专场报名开启!

本次无线沙龙聚焦于最新的技术趋势和实践,将在上海/线上为你带来四个令人期待的演讲话题,包括:《快手主App启动接口带宽优化实践》、《得物App视频体验优化实践》、《Chromium内核架构和网络库优化介绍》、《得物App发热监控实践》。相信这些…

深入理解Linux文件系统和日志分析

目录 一.inode与block 1.inode与block概述 1.1.文件数据包括元信息与实际数据 1.2.文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节 1.3.block(块) 1.4.inode(索引节点) 2.inode内…

springboot论文格式系统

采用springbootmysqlhtmlvue技术 详细运行视频地址B站运行效果视频地址 (1)系统具备用户管理功能,包括用户注册、登录、权限管理等功能。 (2)系统具备格式规范管理功能,包括格式规范创建、编辑、删除等操…

【Day 8】MySQL 多表查询 + Mybatis 基础

1 多表查询 笛卡尔积:在数学中,两个集合(A集合 和 B集合)的所有组合情况 在多表查询时,需要消除无效的笛卡尔积 select * from tb_emp,tb_dept where dept_id tb_dept.id;多表查询分为: 连接查询 内连接:相当于查…

FTP与SMB深度对比:文件传输协议谁更胜一筹?

在数字化时代,文件传输已成为日常工作中不可或缺的一部分。 FTP(文件传输协议)和SMB(服务器消息块)是两种最为常见的文件传输协议。它们各自在文件传输领域拥有独特的优势和特点,但同时也存在一些差异。 今…

【Linux】动态库与静态库

文章目录 1. 认识静态库与动态库2. 手动创建并测试静态库2.1 生成静态库2.2 打包静态库2.3 使用静态库 3. 库搜索路径4. 手动创建并测试动态库4.1 生成动态库4.2 打包动态库4.3 使用动态库 5. 动静态库优先级 1. 认识静态库与动态库 静态库(.a)&#xf…

基于深度学习网络的十二生肖图像分类matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ............................................................... for i 1:16subplot(4,4,…

真的通俗易懂!差分信号电路的解读

目录 一、什么是差分运放电路 二、差分运放电路的工作状态 一、什么是差分运放电路 差分电路是具有对共模信号抑制,对差模信号放大特征的电路。该电路的两个信号输信号的差值是该电路的有效值。将这两信号输入只差进行放大后输出。如果存在干扰信号,会…

H264 编码标准常见术语解释

H264 编码标准 H.264编码标准,也被称作MPEG-4 AVC(Advanced Video Coding),是一种被广泛使用的数字视频压缩标准,由国际电信联盟(ITU-T)和国际标准化组织(ISO)共同开发。…

如何确定IP地址的地理位置

IP地址的地理位置确定是一个复杂而精细的过程,它结合了多种技术与方法来推断或确定设备在网络中的大致物理位置。以下是对IP地址地理位置确定过程的详细解释: 首先,我们要理解IP地址本身并不能直接反映物理位置信息。IP地址主要是用于在网络中…

vscode将本地服务转发到外网地址访问

示例中将本地的5500端口,用vscode进行端口转发,在外网地址访问服务 要转发的端口 转发端口 点击转发端口 输入要转发的端口,按下回车 Enter 点击允许,弹出确认界面后点击打开 转发端口已经成功配置上,右键可见性…

栈和队列-介绍与实现(超级!!!详解-C语言)

目录 栈 栈的介绍 栈的概念 栈的结构 栈的实现 初始化栈 StackInit 销毁栈 StackDestroy 入栈 StackPush 出栈 StackPop 获取栈顶元素 StackTop 检查栈是否为空 StackEmpty 获取栈中有效元素个数 StackSize 队列 队列的介绍 队列的概念 队列的结构 队列的应用 队列的实现 …

建议收藏!网络安全入门知识汇总,自学必看!

计算机网络的广泛应用,为人们的生产、生活、工作、娱乐带来了方便,同时由于技术原因和人为因素,也为人们带来诸多安全隐患。这催发出一个新的职业——网络安全工程师。 目前网络安全工程师变得越来越重要,很多人也开始对网络安全…

jsp实验11 JavaBean

二、实验项目内容(实验题目) 编写代码,掌握javabean的用法。【参考课本 上机实验 5.5.2 】 三、源代码以及执行结果截图: 源代码: Memory.java package sea.water; import java.util.ArrayList; import java.util…

280 Stylized Desert Beach Textures - Sand Cracked Sand Water More v1.1.0

280多种风格化的沙子、破裂的沙子、土壤、沙质岩石和其他沙质纹理的集合,用于沙漠和海滩风格化/幻想/rpg风格的游戏环境。 这款由game Buffs设计的280多种风格化沙漠和海滩纹理系列,为您的游戏锦上添花! 在这个系列中,你会在风格化/幻想/rpg风格的游戏中找到大量适合沙漠、…

python与上位机开发day02

1.常见运算符 1.1 赋值运算符 赋值运算符主要用来对变量进行赋值,包括如下这些: 运算符描述赋值加等于-减等于*乘等于/除等于//整除等于%模等于**幂等于 实例如下: a 10 a 5 # 等价于 a a5 a *2 # 等价于 a a*21.2 比较运算符 比较运算符主要用来比较两个数据的大小…