Linux :系统启动过程,破解root密码与故障修复

一、标准启动流程

  1. 开机自检 (BIOS/UEFI POST)
    • 硬件初始化与检测
  2. MBR引导
    • 读取硬盘主引导记录(512字节)
  3. GRUB2菜单
    • 加载 /boot/grub2/grub.cfg 显示启动菜单
  4. 加载Linux内核
    • 载入Linux 内核文件
  5. 内核初始化
    • 建立运行环境:任务调度、内存管理、驱动加载
  6. 启动systemd进程
    • 首个用户态进程(PID=1)
    • 解析 /etc/systemd/system/default.target 确定运行级别

二、运行级别管理(systemd目标单元)

级别Target Unit用途操作命令示例
0poweroff.target关机systemctl poweroff
1rescue.target单用户/救援模式systemctl rescue
3multi-user.target多用户命令行(默认服务器)systemctl set-default multi-user.target
5graphical.target图形界面systemctl isolate graphical.target
6reboot.target重启systemctl reboot

管理命令

systemctl get-default          # 查看当前默认级别
systemctl set-default TARGET   # 永久修改默认级别
systemctl isolate TARGET       # 临时切换级别

三、关键故障修复

▶ Root密码破解
  1. GRUB菜单按 e 编辑内核参数

  2. linux 行尾添加 rd.breakCtrl+X 启动

  3. 挂载真实根分区:

    mount -o remount,rw /sysroot
    chroot /sysroot
    passwd root    # 或 echo "newpasswd" | passwd --stdin root
    touch /.autorelabel  # SELinux重标记
    exit; reboot
    
▶ GRUB2修复
grub2-install /dev/sda          # 重建引导程序
grub2-mkconfig -o /boot/grub2/grub.cfg  # 重新生成配置
▶ /boot目录丢失恢复
  1. 进入救援模式 → chroot /mnt/sysroot

  2. 重装内核:

    mount /dev/cdrom /mnt
    rpm -ivh /mnt/Packages/kernel-*.rpm --force
    
  3. 重建GRUB:

    grub2-install /dev/sda
    grub2-mkconfig > /boot/grub2/grub.cfg
    

四、GRUB2安全加固

▶ 密文密码加密
grub2-mkpasswd-pbkdf2  # 生成加密密码

编辑 /etc/grub.d/00_header

cat << EOF
set superusers="admin"
password_pbkdf2 admin grub.pbkdf2.sha512.10000.9A2B3C4D...
EOF
grub2-mkconfig -o /boot/grub2/grub.cfg

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

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

相关文章

特产|基于SSM+vue的南阳特产销售平台(源码+数据库+文档)

南阳特产销售平台 基于SSMvue的南阳特产销售平台 一、前言 二、系统设计 三、系统功能设计 平台功能模块 管理员功能模块 商家功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大…

线性代数常见的解题方法

一.行列式 1.利用行列式的性质进行简化 (1)重要行列式 主对角线,副对角线(不要忘了-1的次数),拉普拉斯展开(副对角线是m*n),范德蒙 (2)行列式展开定理 每一行/列的元素乘以它对应的代数余子式 扩展:拉普拉斯展开定理,可以按照任意行和列数进行展开,行列式的值=|A|*…

Websocket实时行情接口 (2025最新使用教程)

本教程将指导您如何使用Java Websocket客户端连接实时行情接口&#xff0c;并订阅相关数据。 步骤1&#xff1a;配置您的项目 确保您的项目已引入以下依赖&#xff1a; jakarta.websocket-apijakarta.websocket-client-apifastjson2lombokspring-context (如果使用Spring框架) …

【JEECG】JVxeTable表格拖拽排序功能

功能说明&#xff1a; 实现JVxeTable表格拖拽排序功能 解决子表拖拽排序后&#xff0c;点击保存数据&#xff0c;未实现拖拽排序后效果 参数配置&#xff1a; 提示&#xff1a; 1.开启 dragSort 属性之后即可实现上下拖拽排序。 2.使用 sortKey 属性可以自定义排序保存的 key&…

【腾讯云】EdgeOne网站安全防护的配置方法 防范盗刷流量 附恶意IP和UA黑名单

经过上个月的前车之鉴&#xff0c;我摸索出一套针对腾讯云EdgeOne《付费版》的安全配置模板&#xff0c;仅供各位站长参考 配置方法 一、在EdgeOne控制面板页面&#xff0c;点击要配置的域名。 二、进入后&#xff0c;点击安全防护-WEB防护-自定义规则&#xff0c;按图所示添加…

白玩 一 记录retrofit+okhttp+flow 及 kts的全局配置

先回忆下flow吧&#xff01; flow是啥 Flow 是 Kotlin 协程框架中的一个异步数据流处理组件&#xff0c;专为响应式编程设计&#xff0c;适用于需要连续或异步返回多个值的场景&#xff0c;如网络请求、数据库查询、传感器数据等 1 ‌异步流&#xff08;Asynchronous Stream…

犯罪现场三维还原:科技助力刑侦变革

在刑侦领域&#xff0c;犯罪现场的准确还原对于案件侦破起着至关重要的作用。传统的现场记录方式&#xff0c;如拍照、绘图等&#xff0c;虽然能获取一定信息&#xff0c;但难以全面、直观地呈现现场全貌&#xff0c;容易遗漏关键细节&#xff0c;且在后期分析和信息传达上存在…

go-admin 构建arm镜像

目录 1、 go-admin Dockerfile 2、docker build go-admin 3、settings.yml 4、go-admin-ui Dockerfile 5、docker build go-admin-ui 6、go-admin.yaml 7、go-admin-ui.yaml 1、 go-admin Dockerfile # 构建阶段:使用 Go 1.24 版本(支持远程调试) FROM golang:1.24-…

深入浅出:C++ STL简介与学习指南

目录 前言 STL的版本演变 STL六大组件 STL的重要性 如何学习STL STL的缺陷 总结 前言 什么是STL&#xff1f; STL&#xff08;Standard Template Library&#xff0c;标准模板库&#xff09;是C标准库的核心组成部分&#xff0c;它不仅是一个可复用的组件库&#xff0c;更是一…

Mysql事务原理

脏读(Dirty Read) 某个事务已更新一份数据&#xff0c;另一个事务在此时读取了同一份数据&#xff0c;由于某些原因&#xff0c;前一个进行了RollBack&#xff0c;则后一个事务所读取的数据就会是不正确的。 不可重复读(Non-repeatable read) 在一个事务的两次查询之中数据不一…

小红书笔记详情API指南

一、引言小红书作为中国领先的社交电商平台&#xff0c;拥有超过4.8亿用户(2025年Q2数据)&#xff0c;其开放平台已成为品牌营销与数据挖掘的重要渠道‌1。通过笔记详情API获取数据&#xff0c;可以帮助商家、品牌方和数据分析人员了解用户反馈、市场趋势和消费需求‌。这些数据…

VS+Qt中使用QCustomPlot绘制曲线标签(附源码)

在qt中我们常常会使用数据来绘制曲线&#xff0c;常用的的绘制方法用QCutomPlot、QChart和QPrinter。有时我们会根据需要在曲线进行二次绘制&#xff0c;包括对曲线打标签&#xff0c;显示某个点的值等功能。本文主要为大家介绍在QCustomPlot中使用QCPItemTracer和QCPItemText绘…

Spring Boot项目生产环境部署完整指南

在Spring Boot应用开发完成后&#xff0c;如何将其稳定、高效地部署到生产环境是每个开发者都需要掌握的关键技能。本文将详细介绍Spring Boot项目的多种部署方案&#xff0c;从传统部署到现代化容器部署&#xff0c;选择最适合的部署策略。 1. 部署前的准备工作 1.1 项目打包优…

微信小程序中实现页面跳转的方法

微信小程序中页面跳转主要有两种方式&#xff1a;声明式导航&#xff08;通过组件实现&#xff09;和编程式导航&#xff08;通过API实现&#xff09;。两种方式适用于不同场景&#xff0c;以下详细说明。一、声明式导航&#xff08;navigator组件&#xff09;通过小程序内置的…

从0开始学linux韦东山教程Linux驱动入门实验班(7)

本人从0开始学习linux&#xff0c;使用的是韦东山的教程&#xff0c;在跟着课程学习的情况下的所遇到的问题的总结,理论虽枯燥但是是基础。本人将前几章的内容大致学完之后&#xff0c;考虑到后续驱动方面得更多的开始实操&#xff0c;后续的内容将以韦东山教程Linux驱动入门实…

国内AI IDE竞逐:腾讯CodeBuddy、阿里通义灵码、字节跳动TRAE、百度文心快码

国内AI IDE竞逐&#xff1a;腾讯CodeBuddy、阿里通义灵码、字节跳动TRAE、百度文心快码 随着人工智能技术的不断发展&#xff0c;各大科技公司纷纷推出自家的AI IDE&#xff0c;推动软件开发进入全新的智能化时代。腾讯的 CodeBuddy IDE、阿里云的 通义灵码 AI IDE、字节跳动的…

git rebase使用教程 以及和merge的区别

Merge和Rebase概念概述 rebase 和 merge 相似&#xff0c;但又不完全相同&#xff0c;本质上都是用来合并分支的命令&#xff0c;区别如下 merge合并分支会多出一条merge commit记录&#xff0c;而rebase不会merge的提交树是非线性的&#xff0c;会有分叉&#xff0c;而rebase的…

React中的合成事件解释和理解

什么是合成事件&#xff08;Synthetic event&#xff09;?它和原生事件有什么区别?解题思路:解释合成事件&#xff0c;然后对比原生事件&#xff0c;然后再说他的优势1.一致性 在 react里面&#xff0c;这个合成事件是非常重要的&#xff0c;因为它就是为了解决浏览器之间与事…

【Python系列】使用 memory_profiler 诊断 Flask 应用内存问题

博客目录一、内存分析的重要性二、memory_profiler 基础使用安装与基本配置理解分析报告三、在 Flask 应用中使用 memory_profiler装饰视图函数使用 mprof 进行长期监控四、高级内存分析技巧精确测量代码块内存定期内存采样结合 objgraph 分析对象引用五、常见内存问题及解决方…

vue3【组件封装】超级表单 S-form.vue

最终效果 代码实现 components/SUI/S-form.vue <script lang"ts" setup> import type { FormInstance } from "element-plus";// 使用索引签名定义对象类型 type GenericObject {[key: string]: any; };const props defineProps<{Model?: Gen…