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

相关推荐

  • DNS基础知识

    一、DNS介绍:   1、DNS: Domain  Name Service,域名解析服务;      部署方式为分布式部署,如图所示:        2、查询类型:     递归查询:仅发出一次请求,要求对方回复最终结果&nbs…

    Linux干货 2015-05-18
  • yum用法第二篇-自定义创建yum仓库

    一、前言      上次写了yum命令的介绍及常见使用说明,这次打算继续整理下如何自定义创建yum仓库,这在企业中也是非常常见的设置方式,有些公司为了服务器安全是不允许连接外网的,自定义创建yum仓库正好可以实现局域网单独安装管理程序包这种需求。 二、用法说明      1.使用…

    Linux干货 2015-09-22
  • bash特性及用户和组的管理相关练习

    1、列出当前系统上所有已经登录的用户的用户名,注意同一个用户登录多次,则只显示一次即可: 2、取出最后登录到系统的用户的相关信息: 3、取出当前系统上被用户当做默认shell最多的那个shell: 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxuser.txt文件中: 5、取出当前主机的IP地址: …

    2017-10-16
  • puppet进阶管理之终极应用

         上一篇博客写了puppet操作file、cron、user、group、exec基础资源的使用,连接地址为 http://www.178linux.com/13990  这次实验puppet的操作Package、Server和puppet的特殊资源属性Metaparameters。 回顾下…

    Linux干货 2016-04-12
  • N26-第五周博客作业

    一、显示当前系统上root、fedora或user1用户的默认shell; [root@promote home]# grep -E ‘^(root|fedora|user1)’ /etc/passwd |cut -d : -f7 /bin/bash /bin/bash /bin/bash [root@promote home]# 注…

    Linux干货 2017-05-15
  • 堡垒机-麒麟开源堡垒机 V 1.3 正式发布

    麒麟开源堡垒机团队经过1个月的努力,发布V 1.3版本,本版本主要收集了5月开发的小功能,并且增加了大用户量、大设备量,纵深目录层级的优化支持,产品 V1.3  光盘主要新增功能如下(相对 V1.2光盘) 1.增加苹果MAC OS系统客户端的WEB访问支持 2.增加CA认证支持,内置CA证书  3.增加ssh 公私钥认证方式中,私钥中有密…

    Linux干货 2016-06-09