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 10:41
下一篇 2017-09-03 18:12

相关推荐

  • 源码包安装Apache服务

    1、安装development tools程序包组 安装Apache服务器前需要解决依赖性问题,比如需要安装GCC、GCC++、OPENSSL等等,因为是在虚拟机里做实验,这里就通过直接安装包组的方法解决依赖性问题。 (1)挂载安装光盘,并安装“Development tools”包组 [root@localhost ~]# mount&…

    Linux干货 2016-08-24
  • 练习-vim的使用

    vi编辑器是linux上最常用的编辑器,vim是vi增强版, 一、vim的几种模式     编辑模式、插入模式、命令行模式     编辑模式:可以进行光标移动,字符删除,行的增删复制粘贴等操作  插入模式:对字符进行编辑,  命令行模式:通过各种命令进行保存,查找,替换,环境设置等操作 &…

    Linux干货 2016-07-04
  • Linux系统的终端类型

    一、什么是Linux终端     终端–用户用户与主机交互,必然要用到的设备。     早期的大型机,想使用的用户很多,但是主机只有一个,也不可能人手一台,但是可以做到在主机上接一个分屏器,分屏器的每一个端子上可以接上一套鼠标键盘显示器,就可以直接在主机上进行一些操作了,这就相当于每个人在独立的操作一台计算…

    Linux干货 2016-10-18
  • Linxu系统的启动过程

    Linxu系统的启动过程 启动流程 1、引导Linux启动是从BIOS中的地址0xFFFF0处开始的,BIOS由两部分组成:POST代码和运行时服务,运行时服务是为操作系统提供一些接口,如温度检测等。 BIOS的第一个步骤是加电自检(POST),完成对硬件的的检测,如某些硬件出现错误无法通过检测就导致系统无法启动,POST完成之后将被清出内存; BIOS的第…

    Linux干货 2016-09-13
  • shell-变量

    bash中变量的种类 根据变量的生效范围等标准:     本地变量:生效范围为当前shell进程;对当前shell之外的其它shell进程,包括当前shell的子shell进程均无效     环境变量:生效范围为当前shell进程及其子进程    …

    Linux干货 2016-08-21
  • C++的std::string的“读时也拷贝”技术!

    C++的std::string的读时也拷贝技术! 嘿嘿,你没有看错,我也没有写错,是读时也拷贝技术。什么?我的错,你之前听说写过时才拷贝,嗯,不错的确有这门技术,英文是Copy On Write,简写就是COW,非常’牛’!那么我们就来看看这个’牛’技术的效果吧。 我们先编写一段程序 #include <string> #include…

    Linux干货 2015-04-03