系统引导过程及修复

系统引导过程

磁盘引导阶段问题复现

bash 复制代码
[root@node10 ~]# fdisk  -l
Disk /dev/nvme0n1:100 GiB,107374182400 字节,209715200 个扇区
磁盘型号:VMware Virtual NVMe Disk
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x41d4cac9

设备           启动     起点      末尾      扇区  大小 Id 类型
/dev/nvme0n1p1 *        2048   2099199   2097152    1G 83 Linux
/dev/nvme0n1p2       2099200  10307583   8208384  3.9G 82 Linux swap / Solaris
/dev/nvme0n1p3      10307584 209715199 199407616 95.1G 83 Linux


#找到有启动分区的硬盘
[root@node10 ~]# dd if=/dev/zero of=/dev/nvme0n1  bs=446 count=1

磁盘引导问题表现

解决方式

1.关机

2.插入可安装系统的设备

3.从此设备启动

文件引导阶段

bash 复制代码
[root@node10 ~]# ll /boot/grub2/grub.cfg     #主引导文件
[root@node10 ~]# ll /boot/loader/entries/	 #子引导文件存放目录
总用量 8
-rw-r--r--. 1 root root 484  1月 12 11:04 e9601ae8622741aca4cdac907392c8df-0-rescue.conf
-rw-r--r--. 1 root root 460  1月 14 10:23 e9601ae8622741aca4cdac907392c8df-5.14.0-570.12.1.el9_6.x86_64.conf

问题复现之主引导文件修复

bash 复制代码
[root@node10 ~]# rm -rf /boot/grub2/grub.cfg

#系统并未重启
[root@node10 ~]# grub2-mkconfig  > /boot/grub2/grub.cfg    #修复完成

当文件丢失后系统重新启动

报错表现

修复过程

当手动引导启动系统后,需要修复自动引导文件,否则系统重启后仍然要手动引导

修复自动引导文件

bash 复制代码
[root@node10 ~]# grub2-mkconfig  > /boot/grub2/grub.cfg    #修复完成

问题复现之子引导文件修复

引导文件如果被误删除

bash 复制代码
[root@node10 ~]# rm -fr /boot/loader/entries/*

报错表现

修复过程

当修复子启动文件后网卡的名称设定参数就丢失了需要重新设定,此参数和系统修复本身无关

bash 复制代码
[rootenode18 ~]# grubby --update-kernel ALL --args net.ifnames=0

问题复现之修复内核文件

内核文件丢失举例

内核丢失报错表现

解决过程

用系统安装设备进入挽救模式

从光驱启动后选择进入挽救环境,此处参看磁盘进到修复的进入过程

进入挽救模式后

在修复完成后需要按照最开始调整启动设备的方式把硬盘设备设定为第一启动项

以上方法同样适用与系统初始化文件丢失

相关推荐
guslegend23 分钟前
大模型驱动大数据SRE智能运维
大数据·运维
遇见火星34 分钟前
Docker Compose 完全入门:一键启动所有容器
运维·docker·容器·docker compose
火山上的企鹅43 分钟前
Codex实战:APP远程升级服务搭建(三)后台管理页面(APK 上传、版本管理、多应用页签)
服务器·网络·数据库·oracle·qgc
Net_Walke1 小时前
【Linux系统】静态链接库与动态链接库
linux·嵌入式硬件
小啊曼1 小时前
CIO实战方法论_11_组织变革打破部门墙
运维
syc78901231 小时前
中文语境下AI编码工具实战对比:从迭代体验看日常开发选择
linux·人工智能·ubuntu
❀搜不到1 小时前
远程服务器codex使用本地cc-switch的deepseek api
运维·服务器
凡人叶枫2 小时前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
袁小皮皮不皮2 小时前
3.HCIP OSPF补充知识(优化版)
服务器·网络·数据库·网络协议·智能路由器
虾壳云官方2 小时前
OpenClaw 2.7.9 Windows 一键部署教程:零基础也能搭建 AI 自动化助手
运维·人工智能·windows·自动化·openclaw·openclaw一键部署