centos6

启动引导第一阶段破坏

破坏mbr前446字节

先备份

[root@centos6 ~]# dd if=/dev/sda of=/root/mbr bs=1 count=446

破坏

[root@centos6 ~]# dd if=/dev/zero of=/dev/sda bs=1 count=446

有备份未关机情况下可使用备份恢复

[root@centos6 ~]# dd if=/root/mbr of=/dev/sda bs=1 count=446

无备份未关机,可直接使用命令grub-install恢复

[root@centos6 ~]# grub-install /dev/sda

关机后,没有挂载启动光盘会显示

挂载光盘选择第三项进入救援模式

根据提示最后开启shell

先切换根路径,然后使用grub-install命令

chroot /mnt/sysimage

grub-install /dev/sda

如果不想切换根路径,进行如下操作

cp /mnt/sysimage/sbin/grub /sbin

grub-install --root-directory=/mnt/sysimage /dev/sda

最后可查看一下前446字节内容

hexdump -C -n 446 -v /dev/sda

确认没问题退出重启即可

启动引导1.5阶段破坏

破坏

dd if=/dev/zero of=/dev/sda bs=1 count=10240 skip=512 seek=512

现象:只有光标闪烁

修复:光盘引导进入救援模式

chroot /mnt/sysimage

grub-install /dev/sda

sync

退出重启即可

启动引导第二阶段破坏

保留/boot/grub/grub.conf,删除/boot/grub/下其它所有文件

现象:Error 15

修复与1阶段1.5阶段方法相同

grub.conf文件丢失

现象:启动直接进入grub

修复:

root (hd0 然后可以Tab键出来,

/boot分区使用普通分区,即0x83的都有可能是/boot分区,我这里只有一个,8e为lvm,即选择hd0,0

选择正确此时输入kernel /vm 之后内容Tab键是可以有提示或者补全的,如果有多个内核会都列出来,我这里只有一个内核,所以直接补全了

选错/boot分区后面kernel再Tab会报错,有多个分区选择其它分区即可,直至选对分区

补全kernel之后还需要手动指定根分区位置,我这里是系统安装时自动分区设置的为lvm逻辑卷,如果事先不知道很难试出来具体正确路径,可参考同样安装方式的其它机器。

输入kernel /vmlinuz-2.6.32-754.el6.x86_64 root=/dev/mapper/vg_centos6-lv_root后回车,内核与root路径根据自己实际情况

然后initrd /init Tab键补全后面内容后回车

之后输入boot后回车就能进入系统

进入系统之后需要手动编写/boot/grub/grub.conf配置文件,内容参考如下

由于kernel补全内核后还需要填写根分区,如果是普通分区可以穷举/dev/sda所有分区,使用lvm比较难,可以直接使用光盘启动进入救援模式,在救援模式下可以看到分区情况,在救援模式下直接编辑grub.conf文件

编写如下几行就可正常启动

default=0

timeout=5

title CentOS 6

root (hd0,0)

kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=/dev/mapper/vg_centos6-lv_root 

initrd /initramfs-2.6.32-754.el6.x86_64.img

initrd-2.6.32-754.el6.x86_64.img文件丢失

现象,倒计时结束之后无反应,此现象应是只有唯一一个启动菜单才会出现

另一个现象是黑屏,只有光标闪烁

修复方法1

光盘启动,就如救援模式

先切换根路径

chroot /mnt/sysimage

然后重新生成initramfs文件

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

运行之后等一会就重新生成文件

退出重启即可

修复方法2

光盘启动,进入救援模式

挂载光盘到/tmp目录

然后重新安装kernel包

rpm -ivh /tmp/Packages/kernel-2.6.32-754.el6.x86_64.rpm --root=/mnt/sysimage --replacepkgs

等待安装完成退出重启即可

如果切换过根路径可以不用指定--root=/mnt/sysimage

/boot/vmlinuz文件丢失

现象:

修复:

1.光盘启动,进入救援模式

切换根:chroot /mnt/sysimage

挂载光盘:mount /dev/sr0 /mnt

复制光盘中vmlinuz文件到/boot/目录:cp /mnt/isolinux/vmlinuz /boot/vmlinuz-$(uname -r)

退出重启

2.重新安装一下光盘内的内核

/etc/fstab和/boot/grub/中文件都丢失

现象:进入grub

修复:光盘启动进入救援模式

此时提示已经找不到根了

blkid命令可以看到没有发现根相关的,但是看到有类型为lvm2_member

使用vgdisplay和lvdispaly能看到相关信息

先启用vg

vgchange -ay

现在blkid能看到其它几个分区信息

新建一个目录/test,将原来的根分区挂载到/test上,然后根据分区信息手动编写/test/etc/fstab文件,只需要编写挂载根的哪一条就够了,其它挂载信息可以等系统修复完之后再编写

编写完后重启系统重新进入救援模式,此时可以找到根文件系统,并且挂载到/mnt/sysimage

切换根路径

chroot /mnt/sysinage

挂载/boot分区

grub-install /dev/sda 命令修复

手动创建/boot/grub/grub.conf文件

之后退出重启

centos启动排障的更多相关文章

  1. MongoDB系统CentOS 7.1 crash的排障过程

    [作者] 王栋:携程技术保障中心数据库专家,对数据库疑难问题的排查和数据库自动化智能化运维工具的开发有强烈的兴趣. [问题描述] 最近我们有多台MongoDB的服务器CentOS 7.1系统发生了cr ...

  2. 记一次KUBERNETES/DOCKER网络排障

    https://coolshell.cn/articles/18654.html 总结在前面: 1.kill -9杀死docker进程,系统一定是要遍历所有的docker子进程来一个一个发退出信号的, ...

  3. [转帖]记一次KUBERNETES/DOCKER网络排障

    记一次KUBERNETES/DOCKER网络排障 https://coolshell.cn/articles/18654.html 记得之前在一个公众号里面看过这个文章 讲的挺好的.. 物理机直接跑d ...

  4. 【原】个人对win7开机黑屏只有鼠标排障总结

    个人对win7开机黑屏只有鼠标排障总结 文:铁乐猫 第一种情况是explorer.exe进程丢失或损坏有关: 判断方法是按Ctrl+Alt+Del键能呼出任务管理器,结束explorer.exe进程, ...

  5. dump解析入门-用VS解析dump文件进行排障

    突然有一天部署在服务器的一个应用挂掉了,没办法只能进入服务器打开 [事件查看器]查看下,好不容易找到了打开后一脸懵逼 事件查看器查到的内容根本对我们排障没有任何作用. 在这个时候如果有对应的dump文 ...

  6. [ovs][libvirt][virtio][qemu] vhost user client 排障

    ovs-dpdk + qemu 使用vhostuserclient通信,连路不通,libvirt报错如下: -- ::: starting up libvirt version: , package: ...

  7. centos启动流程[转]

    启动流程概览 在硬件驱动成功后,Kernel 会主动呼叫 init 程序,而 init 会取得 run-level 资讯: init 运行 /etc/rc.d/rc.sysinit 文件来准备软件运行 ...

  8. 【思考】由安装zabbix至排障php一系列引发的思考

    [思考]由安装zabbix至排障php一系列引发的思考 linux的知识点林立众多,很有可能你在排查一个故障的时候就得用到另一门技术的知识: 由于linux本身的应用依赖的库和其它环境环环相扣,但又没 ...

  9. 【排障】tomact未能看到网页

    [排障]tomact未能看到网页 文:食梦貘 这是几个月前的事情了,那时候我在安装xwiki,需要用到tomcat,但是初次安装好时碰上过一个故障: 安装tomcat后,客户机用IE网址上输入:服务端 ...

随机推荐

  1. Unity 截图选择框,中间全透明,边缘半透明

    效果:点击白色框可拖拽选择区域 代码: using System.Collections; using System.Collections.Generic; using UnityEngine; u ...

  2. python打开excel跳转对应分页

    需求: 在python脚本层,直接打开excel,跳转特定分页,方便策划编辑 尝试了几种不同的方法,最终选择了方法4.4种方法都可以实现打开外部文件,3.4可以实现跳转特定分页.3和4的区别是,3通过 ...

  3. Spring Boot 前期篇

    在学习springboot之前,学习一下Spring的java配置. 1. Spring的发展 1.1. Spring1.x 时代 在Spring1.x时代,都是通过xml文件配置bean,随着项目的 ...

  4. 基于steam的游戏销量预测 — PART 1 — 爬取steam游戏相关数据的爬虫

    语言:python 环境:ubuntu 爬取内容:steam游戏标签,评论,以及在 steamspy 爬取对应游戏的销量 使用相关:urllib,lxml,selenium,chrome 解释: 流程 ...

  5. Laravel中Contracts的理解和使用

    Laravel 的 Contracts 是一组定义了框架核心服务的接口.说白了就是一组接口.使用它就是为了降低耦合性. 即便如此,是不是也有同学会搞不清楚Contracts在lavarel体系中的到底 ...

  6. 洛谷P2622 关灯问题II

    洛谷题目链接 声明: 本篇文章不讲基础,对萌新不太友好,(我就是萌新),要学状压$dp$的请另寻,这篇文章只是便于本人查看.... 首先看到$n<=10$,就可以考虑状压了,要求最小值,所以初始 ...

  7. Java进阶知识13 Hibernate查询语言(HQL),本文以hibernate注解版为例讲解

    1.简单概述 1.1. 1) SQL:面向的是数据库 select * from tableName;2) HQL查询(Hibernate Query language): hibernate 提供的 ...

  8. AcWing:240. 食物链(扩展域并查集 or 带边权并查集)

    动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形. A吃B, B吃C,C吃A. 现有N个动物,以1-N编号. 每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种. 有人用 ...

  9. 平衡Dom总结

    介绍: 新的项目中有些Dom元素需要和画布保持统一个适配比例 项目地址: 宝岛之光-台湾偶像剧 遇到的问题 H5项目使用Canvas, 适配采用保持宽高比例, 上下或者左右留白方式 在项目中有些Dom ...

  10. laravel中orderBy使用

    laravel中orderBy使用 一.总结 一句话总结: 链式操作:laravel中的数据库操作可以是链式操作,所以类似这种想要多个orderBy效果的就直接接在后面写就可以了 User::orde ...