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

相关推荐

  • http协议

    ##socket套接字– 套接字,进程间通信IPC的一种实现,允许位于不同主机(或同一主机)上不同进程之间进行通信和数据交换。– socketAPI:封装了内核中所提供的socket通信相关的系统调用– socketDomain:根据其所使用的地址– AF_INET:Address Family,Ipv4&#8…

    Linux干货 2017-12-06
  • httpd功能配置之访问控制

       httpd服务可以实现对资源访问控制,可以根据IP地址和用户两种方式进行控制。    一、用户认证控制      1、在站点根目录下创建一个目录及一个页面文件      2、修改/var/httpd/conf/httpd.conf文件   &n…

    Linux干货 2016-03-11
  • 第五周:grep和find的使用练习

    1、显示当前系统上root、fedora或user1用户的默认shell; grep -E "^(root|fedora|user1)" /etc/passwd | cut -d: -f7 grep -E "^root|fedora|use…

    Linux干货 2016-10-25
  • 第六周作业

    第六周作业 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit /tmp vim /tmp/rc.sysinit :进入末行模式 % s/^[[:space:]]/#&…

    Linux干货 2016-10-09
  • 每天一个Linux命令

        程序管理:      程序的组成部分:二进制程序文件,库文件,配置文件,帮助文件。                      二进制和库文件可执行,库文件不能独立执行,只能被调用时执…

    Linux干货 2017-04-08
  • 马哥教育网络班N22期+第7周课程练习

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; mke2fs -t ext4 -b 2048 -L MYDATA -m 2 /dev/sdb1 tune2…

    Linux干货 2016-10-24