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

相关推荐

  • linux基础入门常识

    1、计算机的组成及功能 控制器:对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器:对数据进行各种算术运算和逻辑运算。 存储:存储程序、数据和各种信号、命令等信息。 输入:将程序、数据、字符、控制命令等信息输入到计算机进行处理。 输出:将计算机处理过的数据或信号输出出来。 2、linux…

    Linux干货 2017-12-03
  • grep,find

    显示当前系统上root、fedora、user用户的默认shell: 2.找出/etc/rc.d/init.d/functions文中单词后跟一组小括号的行 3.使用echo命令输出一个绝对路径,使用grep取出其基名: 4.找出ifconfig命令结果中的1-255之间的数字 5.写一个模式,匹配合理的ip地址 6.写一个模式,匹配出邮箱地址 7.查找/v…

    Linux干货 2016-11-27
  • 简单的启动排错

    一、出现 grub> 字样,等待交互式输入指令,说明MBR中Bootloader的stage1、stage1_5、stage2都正常,但丢失了/boot/grub.conf 文件,所以无法加载启动项菜单,就无法读取默认启动的kernel、initrd等文件路径。 解决办法:无需救援模式,直接在此交互式界面指定相关文件的加载路径。 (1) grub&gt…

    Linux干货 2016-11-26
  • iptables实践-week14

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; 规则: # 周一不能访问web服务 ~]# iptables -R INPUT 1 -d 172.16.0.11 -p tcp –dp…

    Linux干货 2017-05-04
  • lamp架构实现论坛架构及压力测试

    练习:分别使用CentOS 7和CentOS 6实现以下任务 (1) 配置四个基于名称的虚拟主机;   (a) discuzX   (b) wordpress   (c) drupal   (d) phpMyAdmin,此虚拟主机仅支持https协议; (2) 对phpMyAdmin首页做压力测试   分别给…

    Linux干货 2016-10-17
  • N22-℡浮生.若夢 ╮第六周作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.sysinit /tmp/rc.sysinit vim/tmp/rc.sysinit :%s@^[[:space:]]\+@#&@g 2、复制/boot/grub…

    Linux干货 2016-10-29