centos6启动故障及修复

前言

前文中我们熟悉了linux的启动流程,如果在启动过程中文件丢失或者损坏了怎么办呢?难道只有重装系统这一条路吗?那我们不是成了普通网管了吗?作为专业的运维工程师,我们需要掌握如何快速修复系统启动。

实验1: 破坏/boot/grup/下的文件——-stage2 阶段  不影响启动 

mv /boot/grub  /app———-移走左右文件保留grub.conf

实验2:破坏/dev/sda 前446字节,和启动相关

查看MBR

centos6启动故障及修复

破坏grub的第一阶段 stage1

centos6启动故障及修复

centos6启动故障及修复重启后系统会自动直接进光盘界面,进入救援模式切根:chroot /mnt/sysimage

安装grub:grub-install/dev/sda—–不止修复stage1 1.5、2统统修复。(第一种方法)

实验3:破坏mbr后续的数据——-stage1.5

centos6启动故障及修复

用光盘引导,切根(第二种方法恢复)

1、/mnt/sysimage

2、grub

3、root (hd0,0)

4、setup (hd0)——依赖于/boot/grub/下的文件

这个时候重复实验1这时候已经起不来了,重新安装grub后第二阶段和刚开始的已经不是同一个文件了。

这时候还需要保留stage2这个文件 就可以启动了

centos6启动故障及修复

实验4:制作启动项/etc/grub.conf -> ../boot/grub/grub.conf

centos6启动故障及修复

1、default=0 
代表默认选择第一个

2、红色边框为复制添加部分

3、可以在title前或者initrd后面加入口令,可以加密

centos6启动故障及修复

生成方法:

centos6启动故障及修复

加密算法2:ssha512算法 更安全

centos6启动故障及修复

4、内核参数 /proc/cmdline,可进行修改centos6启动故障及修复quiet是隐藏内核的启动过程,删除可以看到内核过程

实验5:删除/boot/grub/grub.conf,修复

centos6启动故障及修复

注意:必须事先知道root在哪,支持tab健补全。

实验6:删除/boot/grub目录

报错信息

centos6启动故障及修复

进入光盘救援模式:     1、chroot  /mnt/sysimage

                                  2、grub-install /dev/sda

                                  3、sync

                                  4、手动写一个grub.conf文件

centos6启动故障及修复

实验7:删除/boot   
包含内核文件vmlinuz、虚拟文件系统 inittrd、grub

重启错误信息

centos6启动故障及修复

1、进入光盘模式

chroot
/mnt/sysimage

mount
/dev/sr0 /mnt

2、恢复vmlinuz文件——–光盘复制内核包   在光盘中isolinux文件夹中,不在packages中

(第二种方法rpm -ivh /mnt/packages/kernel… –force—————-安装内核包)

3、恢复initramfs   

mkinitrd /boot/initramfs.img `uname -r`

4、恢复grub—————grub-install /dev/sda

5、编辑grub.conf

centos6启动故障及修复

实验8:删除/sbin/init

1、看到这个界面输入a

centos6启动故障及修复

2、添加init=/bin/bash  指定系统不用默认的init启动  指定bash启动

centos6启动故障及修复

3、查询到文件来自于的包组

centos6启动故障及修复

4、试图创建发现是只读,也无法挂载光盘,需要重新挂载根

centos6启动故障及修复

重新挂载根

centos6启动故障及修复

挂载光盘

centos6启动故障及修复

5、安装包

centos6启动故障及修复

综合实验9:删除/etc/fstab和/boot  两个文件 恢复

centos6启动故障及修复

1、进入光盘救援模式

这个时候光盘也无法挂载根,找不到分区

centos6启动故障及修复

centos6启动故障及修复

2、使用fdisk -l 
/dev/sda   、blkid 可以看到磁盘信息

centos6启动故障及修复

3、创建文件,然后每个分区试图挂载,找到根和boot

4、创建创建文件,不支持vim,写完退出重启一下 重新进救援模式,实现自动挂载,不要手动挂载

centos6启动故障及修复

centos6启动故障及修复

5、直接安装内核包

centos6启动故障及修复

6、安装grub

grub-install /dev/sda

编辑grub.conf文件

centos6启动故障及修复

技巧:可是要vim直接读入名字,无需手写”r!”

总结:通过以上实验,对基本的故障都能恢复,结合启动过程,对linux应该会有一个更深层次的了解。

原创文章,作者:eleven,如若转载,请注明出处:http://www.178linux.com/86073

(0)
eleveneleven
上一篇 2017-09-03
下一篇 2017-09-03

相关推荐

  • 创建CA、申请证书和吊销证书详解

    创建CA和申请证书、吊销证书 搭建工具:openssl 服务端:centos7 客户端:centos6 配置实验环境: 需要两台虚拟机为服务端、客户端提供运行环境,装载openssl工具,添加必要文件;通过查看openssl的配置文件/etc/pki/tls/openssl.cnf(图一),对比服务端的/etc/pki/CA文件内容(图二),如果第一次搭建服…

    2017-04-11
  • TCP网络关闭的状态变换时序图

    TCP共有11个网路状态,其中涉及到关闭的状态有5个。 在我们编写网络相关程序的时候,这5个状态经常出现。因为这5个状态相互关联,相互纠缠,而且状态变化触发都是由应用触发,但是又涉及操作系统和网络,所以正确的理解TCP 在关闭时网络状态变化情况,为我们诊断网络中各种问题,快速定位故障有着非常重要的作用和意义。 下是是根据W.Richard Stevens的《…

    Linux干货 2015-04-03
  • 数据结构知识点(list,tuple,冒泡法)

    分类 数值型 int、float、complex、bool 序列对象 字符串str、列表list、tuple 键值对 集合set、字典dict 数值型 complex:有实数和虚数部分组成 float:有整数和小数组成。只有双精度 类型转换 int(X) 返回一个整数 float(x) 返回一个浮点数 complex(x)、complex(x,y) 返回一个…

    2017-09-25
  • 日志管理

    rsyslogd的相关介绍,journalctl的相关介绍和日志的转储

    2018-02-05
  • linux的发展史

    一、今天要介绍的Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 但是很多时候我们了解到的技术都不是…

    Linux干货 2016-10-17
  • linux安全机制与加密工具使用

    一、加密需要和安全机制 1.不加密流量的易受攻击性 密码/数据嗅探 数据操作 验证操作 相当于邮寄明信片 2.不安全的传统协议 telnet、FTP、POP3等等;不安全密码http、sendmail、NFS等等;不安全信息Ldap、NIS、rsh等等;不安全验证 3.NIST定义的安全属性:美国国家标准与技术研究院 1) 保密性:  &…

    Linux干货 2016-09-25