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

Linux启动故障排错

Linux启动过程

开机流程、模块管理-CSDN博客

Grub三个阶段

  • 1st stage:执行Grub主程序。Grub安装在MBR。由于MBR太小,所以与配置文件分开放
  • 1.5 stage:识别不同的文件系统
  • 2nd stage:加载Grub配置文件 /boot/grub2/grub.cfg。配置文件在文件系统中。

Centos6

一、grub第1阶段故障

制造故障

查看磁盘分区,仅一块磁盘且第一块磁盘为 sda
[root@localhost ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 1024M  0 rom
sda      8:0    0   20G  0 disk
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0   17G  0 part /以十六进制格式查看grub引导的配置文件
[root@localhost ~]# hexdump -C -n 512 /dev/sda
00000000  eb 48 90 10 8e d0 bc 00  b0 b8 00 00 8e d8 8e c0  |.H..............|
00000010  fb be 00 7c bf 00 06 b9  00 02 f3 a4 ea 21 06 00  |...|.........!..|
00000020  00 be be 07 38 04 75 0b  83 c6 10 81 fe fe 07 75  |....8.u........u|
00000030  f3 eb 16 b4 02 b0 01 bb  00 7c b2 80 8a 74 03 02  |.........|...t..|
00000040  80 00 00 80 00 45 04 00  00 08 fa 90 90 f6 c2 80  |.....E..........|
00000050  75 02 b2 80 ea 59 7c 00  00 31 c0 8e d8 8e d0 bc  |u....Y|..1......|
00000060  00 20 fb a0 40 7c 3c ff  74 02 88 c2 52 f6 c2 80  |. ..@|<.t...R...|
00000070  74 54 b4 41 bb aa 55 cd  13 5a 52 72 49 81 fb 55  |tT.A..U..ZRrI..U|
00000080  aa 75 43 a0 41 7c 84 c0  75 05 83 e1 01 74 37 66  |.uC.A|..u....t7f|
00000090  8b 4c 10 be 05 7c c6 44  ff 01 66 8b 1e 44 7c c7  |.L...|.D..f..D|.|
000000a0  04 10 00 c7 44 02 01 00  66 89 5c 08 c7 44 06 00  |....D...f.\..D..|
000000b0  70 66 31 c0 89 44 04 66  89 44 0c b4 42 cd 13 72  |pf1..D.f.D..B..r|
000000c0  05 bb 00 70 eb 7d b4 08  cd 13 73 0a f6 c2 80 0f  |...p.}....s.....|
000000d0  84 f0 00 e9 8d 00 be 05  7c c6 44 ff 00 66 31 c0  |........|.D..f1.|
000000e0  88 f0 40 66 89 44 04 31  d2 88 ca c1 e2 02 88 e8  |..@f.D.1........|
000000f0  88 f4 40 89 44 08 31 c0  88 d0 c0 e8 02 66 89 04  |..@.D.1......f..|
00000100  66 a1 44 7c 66 31 d2 66  f7 34 88 54 0a 66 31 d2  |f.D|f1.f.4.T.f1.|
00000110  66 f7 74 04 88 54 0b 89  44 0c 3b 44 08 7d 3c 8a  |f.t..T..D.;D.}<.|
00000120  54 0d c0 e2 06 8a 4c 0a  fe c1 08 d1 8a 6c 0c 5a  |T.....L......l.Z|
00000130  8a 74 0b bb 00 70 8e c3  31 db b8 01 02 cd 13 72  |.t...p..1......r|
00000140  2a 8c c3 8e 06 48 7c 60  1e b9 00 01 8e db 31 f6  |*....H|`......1.|
00000150  31 ff fc f3 a5 1f 61 ff  26 42 7c be 7f 7d e8 40  |1.....a.&B|..}.@|
00000160  00 eb 0e be 84 7d e8 38  00 eb 06 be 8e 7d e8 30  |.....}.8.....}.0|
00000170  00 be 93 7d e8 2a 00 eb  fe 47 52 55 42 20 00 47  |...}.*...GRUB .G|
00000180  65 6f 6d 00 48 61 72 64  20 44 69 73 6b 00 52 65  |eom.Hard Disk.Re|
00000190  61 64 00 20 45 72 72 6f  72 00 bb 01 00 b4 0e cd  |ad. Error.......|
000001a0  10 ac 3c 00 75 f4 c3 00  00 00 00 00 00 00 00 00  |..<.u...........|
000001b0  00 00 00 00 00 00 00 00  45 b7 02 00 00 00 80 20  |........E...... |
000001c0  21 00 83 aa 28 82 00 08  00 00 00 00 20 00 00 aa  |!...(....... ...|
000001d0  29 82 82 bf 78 87 00 08  20 00 00 00 40 00 00 bf  |)...x... ...@...|
000001e0  79 87 83 fe ff ff 00 08  60 00 00 f8 1f 02 00 00  |y.......`.......|
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200修改前446个字节为0,破坏grub引导
[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=1 count=446
446+0 records in
446+0 records out
446 bytes (446 B) copied, 0.000820605 s, 544 kB/s再次查看grub引导的配置,已破坏
[root@localhost ~]# hexdump -C -n 512 /dev/sda -v
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000060  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000080  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000090  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000000a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000000b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000000c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000000d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000000e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000000f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000100  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000110  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000120  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000130  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000140  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000150  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000160  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000170  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000180  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000190  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 80 20  |............... |
000001c0  21 00 83 aa 28 82 00 08  00 00 00 00 20 00 00 aa  |!...(....... ...|
000001d0  29 82 82 bf 78 87 00 08  20 00 00 00 40 00 00 bf  |)...x... ...@...|
000001e0  79 87 83 fe ff ff 00 08  60 00 00 f8 1f 02 00 00  |y.......`.......|
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200

重启系统

启动故障

找不到启动项

二、grub第1.5阶段故障

制造故障

跳过第一扇区MBR,损坏第一扇区之后的扇区,seek表示跳过
硬盘一个扇区512字节
[root@wenzi ~]# dd if=/dev/zero of=/dev/sda bs=512 count=10 seek=1
10+0 records in
10+0 records out
5120 bytes (5.1 kB) copied, 0.000132509 s, 38.6 MB/s查看破坏结果
[root@wenzi ~]# hexdump -C -n 5120 /dev/sda -v
00000000  eb 63 90 10 8e d0 bc 00  b0 b8 00 00 8e d8 8e c0  |.c..............|
00000010  fb be 00 7c bf 00 06 b9  00 02 f3 a4 ea 21 06 00  |...|.........!..|
00000020  00 be be 07 38 04 75 0b  83 c6 10 81 fe fe 07 75  |....8.u........u|
00000030  f3 eb 16 b4 02 b0 01 bb  00 7c b2 80 8a 74 01 8b  |.........|...t..|
00000040  4c 02 cd 13 ea 00 7c 00  00 eb fe 00 00 00 00 00  |L.....|.........|
00000050  00 00 00 00 00 00 00 00  00 00 00 80 01 00 00 00  |................|
00000060  00 00 00 00 ff fa 90 90  f6 c2 80 74 05 f6 c2 70  |...........t...p|
00000070  74 02 b2 80 ea 79 7c 00  00 31 c0 8e d8 8e d0 bc  |t....y|..1......|
00000080  00 20 fb a0 64 7c 3c ff  74 02 88 c2 52 be 05 7c  |. ..d|<.t...R..||
00000090  b4 41 bb aa 55 cd 13 5a  52 72 3d 81 fb 55 aa 75  |.A..U..ZRr=..U.u|
000000a0  37 83 e1 01 74 32 31 c0  89 44 04 40 88 44 ff 89  |7...t21..D.@.D..|
000000b0  44 02 c7 04 10 00 66 8b  1e 5c 7c 66 89 5c 08 66  |D.....f..\|f.\.f|
000000c0  8b 1e 60 7c 66 89 5c 0c  c7 44 06 00 70 b4 42 cd  |..`|f.\..D..p.B.|
000000d0  13 72 05 bb 00 70 eb 76  b4 08 cd 13 73 0d 5a 84  |.r...p.v....s.Z.|
000000e0  d2 0f 83 de 00 be 85 7d  e9 82 00 66 0f b6 c6 88  |.......}...f....|
000000f0  64 ff 40 66 89 44 04 0f  b6 d1 c1 e2 02 88 e8 88  |d.@f.D..........|
00000100  f4 40 89 44 08 0f b6 c2  c0 e8 02 66 89 04 66 a1  |.@.D.......f..f.|
00000110  60 7c 66 09 c0 75 4e 66  a1 5c 7c 66 31 d2 66 f7  |`|f..uNf.\|f1.f.|
00000120  34 88 d1 31 d2 66 f7 74  04 3b 44 08 7d 37 fe c1  |4..1.f.t.;D.}7..|
00000130  88 c5 30 c0 c1 e8 02 08  c1 88 d0 5a 88 c6 bb 00  |..0........Z....|
00000140  70 8e c3 31 db b8 01 02  cd 13 72 1e 8c c3 60 1e  |p..1......r...`.|
00000150  b9 00 01 8e db 31 f6 bf  00 80 8e c6 fc f3 a5 1f  |.....1..........|
00000160  61 ff 26 5a 7c be 80 7d  eb 03 be 8f 7d e8 34 00  |a.&Z|..}....}.4.|
00000170  be 94 7d e8 2e 00 cd 18  eb fe 47 52 55 42 20 00  |..}.......GRUB .|
00000180  47 65 6f 6d 00 48 61 72  64 20 44 69 73 6b 00 52  |Geom.Hard Disk.R|
00000190  65 61 64 00 20 45 72 72  6f 72 0d 0a 00 bb 01 00  |ead. Error......|
000001a0  b4 0e cd 10 ac 3c 00 75  f4 c3 00 00 00 00 00 00  |.....<.u........|
000001b0  00 00 00 00 00 00 00 00  33 24 0a 00 00 00 80 20  |........3$..... |
000001c0  21 00 83 aa 28 82 00 08  00 00 00 00 20 00 00 aa  |!...(....... ...|
000001d0  29 82 82 bf 78 87 00 08  20 00 00 00 40 00 00 bf  |)...x... ...@...|
000001e0  79 87 83 fe ff ff 00 08  60 00 00 f8 1f 02 00 00  |y.......`.......|
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000210  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000220  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000230  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000240  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000250  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000260  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000270  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000280  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000290  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000002a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000002b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000002c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000002d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000002e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
...

重启系统

启动故障

找到启动项后,加载文件系统,但是已被破坏,加载失败,所以光标一致闪烁

修复故障

grub三个阶段故障通用方法:进入救援系统,利用 grub-install 可将三个阶段一次性修复完毕

在虚拟机中启用centos6光盘,再次重启。

界面选择第三个: Rescue installed system,进入救援模式

English > OK

 us > OK

无需联网,No

继续,Continue

您的系统已被挂载在 /mnt/sysimage,按<return>得到一个shell。如果你想让你的系统成为根环境,运行命令:chroot /mnt/sysimage 退出shell后,系统将自动重启。选择OK。后面两步都OK。

然后自动进到shell命令行模式 bash-4.1#

 命令如下,最后三次sync,通过ctrl + alt + delete 重启或者输入两遍exit。

三、误删除 /boot/initramfs-2.6.32-642.el6.x86_64.img 文件

制造故障

[root@localhost ~]# rm -f /boot/initramfs-2.6.32-642.el6.x86_64.img

启动故障

光标一致闪烁

修复故障

进救援模式,方法如上。手动重新生成 initramfs 文件

chroot /mnt/sysimage
mkinitrd /boot/initramfs-`uname -r`.img `uname -r`
sync
sync
sync
exit
exit

四、误删除内核文件 /boot/vmlinuz-2.6.32-642.el6.x86_64

制造故障

[root@localhost ~]# rm -f /boot/vmlinuz-2.6.32-642.el6.x86_64

启动故障

 修复故障

进救援模式,从同版本的光盘系统复制内核文件

chroot /mnt/sysimage
mkdir /mnt    创建光盘挂载目录
mount /dev/sr0 /mnt
cp /mnt/isolinux/vmlinuz /boot/vmlinuz-`uname -r`
sync
sync
sync
exit
exit

相关文章:

  • 使用脚本整合指定文件/文件夹,执行定制化 ESLint 命令
  • LiveMeida视频接入网关
  • [JavaWeb]——获取请求参数的方式(全面!!!)
  • 基于tpshop开发多商户源码支持手机端+商家+门店 +分销+淘宝数据导入+APP+可视化编辑
  • Centos7下生成https自签名证书
  • 【Linux】安装使用Nginx负载均衡,并且部署前端项目
  • 常用编程语言排行与应用场景汇总(2023.10)
  • NOIP2023模拟8联测29 C. 蛋糕
  • 【Django】项目模型
  • 第四章 应用SysML基本特性集的汽车示例 P2(断更)|系统建模语言SysML实用指南学习
  • MATLAB算法实战应用案例精讲-【图像处理】机器视觉(基础篇)(八)
  • CSS3中的字体和文本样式
  • FreeRTOS_信号量之互斥信号量
  • 【SA8295P 源码分析 (一)】114 - 将Android GVM userdata文件系统从 EXT4 修改为 F2FS
  • PyG edge index 转换回 邻接矩阵
  • Javascript Math对象和Date对象常用方法详解
  • js
  • Python 反序列化安全问题(二)
  • 高性能JavaScript阅读简记(三)
  • 前端js -- this指向总结。
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 原生 js 实现移动端 Touch 滑动反弹
  • 运行时添加log4j2的appender
  • 阿里云ACE认证之理解CDN技术
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (规划)24届春招和25届暑假实习路线准备规划
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (十八)SpringBoot之发送QQ邮件
  • (算法设计与分析)第一章算法概述-习题
  • (转)http-server应用
  • (转)http协议
  • (转)JAVA中的堆栈
  • (转)ORM
  • .equals()到底是什么意思?
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .Net 应用中使用dot trace进行性能诊断
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • :=
  • @Autowired自动装配
  • [BUAA软工]第一次博客作业---阅读《构建之法》
  • [BZOJ1178][Apio2009]CONVENTION会议中心
  • [ERROR]-Error: failure: repodata/filelists.xml.gz from addons: [Errno 256] No more mirrors to try.
  • [ExtJS5学习笔记]第三十节 sencha extjs 5表格gridpanel分组汇总
  • [Java] 什么是IoC?什么是DI?它们的区别是什么?
  • [LWC小知识] 标准lightning-input-field怎么取得变更值(onchange)
  • [pasecactf_2019]flask_ssti proc ssti config
  • [python]PyPI使用国内源
  • [svc][op]关闭linux centos各种声音
  • [ThinkPHP]Arr返回1
  • [ThinkPHP]源码阅读:Model的获取器