当前位置: 首页 > ai >正文

Linux 启动流程、密码破解、引导修复完全手册

Linux 启动流程、密码破解、引导修复完全手册

一、Linux系统启动完整流程

1. 开机自检(BIOS/UEFI阶段)

  • 计算机接通电源后,首先进行硬件自检(POST,Power-On Self-Test)
  • 检测CPU、内存、硬盘、显卡等核心硬件是否正常
  • 完成后,根据BIOS/UEFI设置的启动顺序(如硬盘、光驱、U盘等)查找启动设备

2. MBR引导

  • 从首选启动设备(通常是硬盘)的MBR(主引导记录)中读取引导程序GRUB2
  • MBR位于硬盘的第一个扇区(512字节),包含引导代码和分区表

3. GRUB2菜单

  • 引导程序GRUB2读取配置文件/boot/grub2/grub.cfg
  • 加载配置并显示引导菜单,允许用户选择要启动的操作系统或内核版本

4. 加载Linux内核

  • 根据用户选择,GRUB2加载对应的Linux内核文件(位于/boot目录下,如vmlinuz-xxx
  • 同时加载初始ramdisk镜像(initramfs-xxx.img),提供内核启动所需的临时文件系统和驱动

5. 内核初始化

  • 内核载入内存后,GRUB2完成使命,控制权移交内核
  • 内核初始化任务调度、内存管理、设备驱动加载等,建立基本运行环境

6. 启动systemd进程

  • 内核初始化完成后,启动系统第一个进程systemd(进程号为1)
  • systemd是系统的初始化系统,负责后续所有进程的启动和管理

7. 确定运行级别

  • systemd读取/etc/systemd/system/default.target文件,确定系统默认运行级别
  • 根据运行级别启动相应的服务和程序

8. 进入登录界面

  • 所有服务启动完成后,引导至登录界面,等待用户登录

二、运行级别(target)说明

运行级别对应target说明
0poweroff.target关机
1rescue.target单用户模式(无网络)
2multi-user.target多用户模式(无网络,无图形)
3multi-user.target完全多用户模式(命令行界面)
4无对应默认target保留,可自定义
5graphical.target图形化界面
6reboot.target重启

运行级别相关操作

  • 查看默认运行级别:systemctl get-default
  • 设置默认运行级别:systemctl set-default [multi-user.target/graphical.target]
  • 临时切换到图形化界面:systemctl isolate graphical.target

三、GRUB2配置与维护

生成GRUB2配置文件

grub2-mkconfig -o /boot/grub2/grub.cfg
# 或
grub2-mkconfig > /boot/grub2/grub.cfg

修复GRUB2引导

当GRUB2目录被删除时,需执行以下步骤恢复:

  1. 安装启动引导器到硬盘:grub2-install /dev/sda/dev/sda为系统硬盘)
  2. 重建配置文件:grub2-mkconfig -o /boot/grub2/grub.cfg

GRUB2加密

1. 明文加密
vim /etc/grub.d/00_header
# 在文件末尾添加以下内容
cat << EOF
set superusers="zhangsan"  # 定义超级用户
password zhangsan 123456   # 用户名和密码(明文)
EOF# 重新生成配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
2. 密文加密
# 生成密文密码
grub2-mkpasswd-pbkdf2
# 按提示输入密码,复制生成的密文vim /etc/grub.d/00_header
# 在文件末尾添加以下内容
cat << EOF
set superusers="tom"  # 定义超级用户
password_pbkdf2 tom 粘贴刚才复制的密文  # 用户名和密文密码
EOF# 重新生成配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg

四、破解root密码步骤

粗心大意的小明把密码忘记了快点帮帮它把

  1. 重启系统:reboot

  2. 在GRUB2菜单界面按e进入编辑模式

    在这里插入图片描述

  3. 找到Linux内核所在行,在末尾添加rd.break,按Ctrl+X启动
    请添加图片描述

  4. 进入伪系统后,重新挂载根目录并赋予读写权限:mount -o remount,rw /sysroot

  5. 切换到真实系统环境:chroot /sysroot

    在这里插入图片描述

  6. 修改root密码:

    • 方法1:passwd root(按提示输入新密码)
    • 方法2:echo 新密码 | passwd --stdin root(直接设置密码,如echo linux123 | passwd --stdin root
      请添加图片描述
  7. 处理SELinux标签:touch /.autorelabel

    请添加图片描述

  8. 退出并重启:exit(退出chroot环境),再次exit(重启系统)

    请添加图片描述

五、修复/boot目录

小明一不小心把boot删了,现在系统崩溃了,快来帮帮它吧

请添加图片描述

/boot目录损坏或丢失时,可通过以下步骤恢复:

  1. 进入系统救援模式(从安装光盘或U盘启动,选择"Rescue installed system")

    请添加图片描述

    按住shift加加号键将cd-ROM移到最上面

    请添加图片描述

    选最下行

    请添加图片描述

    再按第二行进入救援模式

  2. 切换到系统根目录:chroot /mnt/sysroot

请添加图片描述

选一让系统自动的帮助你修复

  1. 挂载安装介质:mount /dev/cdrom /mnt(假设光驱为/dev/cdrom

    输入chroot /mnt/sysimage进入可输入命令的环境

    请添加图片描述

    挂载

    请添加图片描述

  2. 重新安装内核:rpm -ivh /mnt/Packages/kernel-<版本号>.rpm --force(需替换为实际内核包名)

    请添加图片描述

  3. 恢复GRUB2引导:grub2-install /dev/sda

    请添加图片描述

  4. 重建GRUB2配置:grub2-mkconfig > /boot/grub2/grub.cfg

    请添加图片描述

  5. 退出救援模式:exit,系统将正常启动

http://www.xdnf.cn/news/16496.html

相关文章:

  • MoR vs MoE架构对比:更少参数、更快推理的大模型新选择
  • vue面试题
  • AI驱动的知识管理新时代:释放组织潜力的关键武器
  • Python Flask: Windows 2022 server SMB账户(共享盘账户)密码修改
  • Java注解全面解析与应用实战
  • 在Word和WPS文字中把全角数字全部改为半角
  • 微信小程序无法构建npm,可能是如下几个原因
  • uniapp 微信小程序 列表点击分享 不同的信息
  • 计算机视觉-图像基础处理
  • 一步步详解使用 Flask 连接数据库进行增删改查操作
  • 【PHP】几种免费的通过IP获取IP所在地理位置的接口(免费API接口)
  • 硬件学习笔记--73 电能表新旧精度等级对应关系
  • Android 解决键盘遮挡输入框
  • Javaweb————HTTP请求头属性讲解
  • 前端css 的固定布局,流式布局,弹性布局,自适应布局,响应式布局
  • VNC和RPC加固措施
  • win10 环境删除文件提示文件被使用无法删除怎么办?
  • 海外短剧系统架构设计:从0到1搭建高并发微服务平台
  • 白玩 一 记录retrofit+okhttp+flow 及 kts的全局配置
  • 墨者:SQL过滤字符后手工注入漏洞测试(第3题)
  • npm : 无法加载文件 D:\Nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本
  • 什么是ios企业签名?
  • VTK开发笔记(一):VTK介绍,Qt5.9.3+VS2017x64+VTK8.2编译
  • 使用 Django REST Framework 构建强大的 API
  • vue请求golang后端CORS跨域问题深度踩坑
  • 分布式链路追踪详解
  • 图论:Bellman_ford算法
  • 预过滤环境光贴图制作教程:第三阶段 - GGX 分布预过滤
  • Unity 编辑器开发 之 Excel导表工具
  • git使用lfs解决大文件上传限制