第七周博客总结

系统故障排错汇总

实战:以centos67为例,如果误删/boot/initramfs–3.10.0-693.el7.x86_64.img,机器重启如何恢复?机器重启后菜单能出来后续不显示了!!!

答:重启—ESC—CD-ROM-Drive-进入救援模式–chroot /mnt/sysimage(切换到真正的根)–cd /boot/–

mkinitrd /boot/initramfs-`uname -r`.img `uname -r`–sync–exit—exit—选择reboot选项即可修复。

实战:以centos67为例,如果误删/boot/vmlinuz-2.6.32-696.el6.x86_64,重启后如何恢复?

centos67:重启—ESC—CD-ROM-Drive-进入救援模式— chroot /mnt/sysimage(切换到真正的根)–mount -o remount,rw /dev/sr0 /misc—cd /misc/isolinux—

cp vmlinuz /boot/vmlinuz-`uname -r`–sync—sync—sync—exit—exit—选择root选项即可!!!

实战:如何实现自己自定义的服务?

第一步:创建一个服务脚本,放在/etc/init.d/目录下

服务脚本是有一定的格式的,关键内容有几行,分别是

chkconfig:   345 95 5  第一个数字(即345)的意思是加到服务以后,默认是在什么模式下处于on状态的(如果是-,代表所有模式下该服务都是off状态)。第二个数字(95)代表开机时在/etc/rc.N/下会生成一个S95的文件,第三个数字(5)代表关闭该服务的时候,会在/etc/rc.N/下生成一个K5的文件。

第二步:(描述信息,centos5上必须有,centos6可有可无)

description: Runs commands scheduled by the “at” command at the time \

第三步:脚本内容

注意第二行和第三行有冒号:

这样做完以后还没有成为真正的服务,因为在chkconfig –list中并没有testsrv这个服务,需要将该服务添加到服务列表当中(加之前必须确保服务脚本在/etc/init.d的目录下,且有执行权限),即chekconfig –add testsrv

ls /etc/init.d/

 

在服务列表中删除testsrv服务 chkconfig –del testsrv,虽然服务被删掉,但是脚本还在/etc/init.d/目录下,但是在对应的/etc/rcN.d/下对应的S和K文件却没有了。

实战:假设testsrv服务脚本写的有问题,同时设为开机启动,开机时系统卡在那,如何恢复?

重启—按a键—输入空格1—chkconfig testsrv off(将该服务在2、3、4、5模式上设为off状态)—reboot,重启后再慢慢修改testsrv这个脚本。

 

ls /etc/rc{1,2,3,4,5}.d/  里面有一个S99local文件

这个服务的作用是:开机时所有的服务都运行完了才运行S99local,而且开机就会运行,所以我们可以将服务脚本放在S99local里面,开机后会自动运行!!!在centos7上如果想开机自动运行S99local脚本,需要自行加执行权限!!!

实战:如果破坏了MBR的前446个字节,系统重启后没有经过菜单栏而直接切换到救援模式的界面, 如何恢复?

先研究第一阶段,即MBR446个字节,

dd if=/dev/sda of=/data/mbr bs=1 count=512

sz /data/mbr

dd if=/dev/zero of=/dev/sda bs=1 count=446

hexdump -C -n 512 -v /dev/sda

reboot

答:救援模式—dd if=/mnt/sysimage/data/mbr of=/dev/sda bs=1 count=446—

hexdump -C -n512 -v /dev/sda—sync—sync—exit—exit—选择reboot项。

如果没有备份,使用grub命令也可以生成,即grub-install /dev/sda,这个命令的作用效果是将grub1阶段、1.5阶段以及第二阶段都修复,不仅仅只修复1阶段,只要看到菜单就说明已经成功的进入到第二阶段,因为菜单是由第二阶段的配置文件生成的,具体修复过程如下:

救援模式切根(chroot /mnt/sysimage–grub-install /dev/sda—sync—sync—

exit—exit—选择reboot选项。

实战:/boot为独立分区!删除/boot下的所有文件,包括目录,重启如何修复?方法一:

救援模式→chroot /mnt/sysimage→mount /dev/sr0 /mnt →

cp /mnt/isolinux/vmlinuz  /boot→mkinitrd initramfs-`umane -r`.img `uname -r`→grub-install /dev/sda →cd /boot/grub→vim grub.conf

→exit→exit→选择reboot选项

方法二:(安装kernel包,自动生成/boot下的vmlinuz和initramfs文件)

救援模式→mkdir /mnt/cdrom → mount /dev/sr0 /mnt/cdrom→

cd /mnt/sysimage/boot→

rpm -ivh /mnt/cdrom/Package/kernel-版本.rpm –root=/mnt/sysimage –force→chroot /mnt/sysimage→grub-install /dev/sda→cd /boot/grub→vi grub.conf

在vi里可以用:r!ls /boot/vmlinuz tab键补出来!

在命令行输入的是–root= ,在vi grub.conf 里面输入的是root=  !!!

如果/boot不是独立分区,与根在一块,如何恢复?

恢复过程一样,只不过在编制/boot/grub/grub.conf文件时,那两个文件要写成

kernel /boot/vmlinuz    红色的/表示的时boot这个目录所在的分区!!!

initd /boot/initramfs

实战:如果将/etc/fstab文件删除,再将/boot下的所有文件删除,如何恢复?

备注:/etc/fstab文件内存放的是各个分区挂载到哪个文件夹下。

救援模式下的故障状态显示

恢复方法:救援模式→fdisk -l,显示如下,*代表引导的意思

经查有5个分区,建一个文件夹mkdir /mnt/rootfs,将上述分区分别挂载到/mnt/rootfs下,再进入到/mnt/rootfs下,看看到底哪个分区对应的是根分区→

vi /mnt/rootfs/etc/fstab

使用blkid可以查看分区是什么文件系统。

→exit→选择reboot选项→救援模式→chroot /mnt/sysimage→mount /dev/sr0 /mnt →

cp /mnt/isolinux/vmlinuz  /boot→mkinitrd initramfs-`umane -r`.img `uname -r`→grub-install /dev/sda →cd /boot/grub→vim grub.conf

→exit→exit→选择reboot选项

实战:破坏/sbin/init文件,如何恢复?(/sbin/init是个二进制文件)方法一:

故障状态为

思路:将别的centos6上的/sbin/init文件拷一份过来就可以!

方法:救援模式→配置网络

chroot /mnt/sysimage→scp 192.168.30.48:/sbin/init ./→

mv init /sbin/→reboot

方法二:

查看/sbin/init来自于哪一个包,使用rpm -qf /sbin/init来查看

方法:救援模式→chroot /mnt/sysimage→挂载→

rpm2cpio /media/CentOS_6.9_Final/Packages/upstart-版本号.rpm | cpio -idv

./sbin/init  意思是将只解压upstart包里面的/sbin/init文件到当前目录!

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/98376

(0)
上一篇 2018-05-13 14:13
下一篇 2018-05-13 15:34

相关推荐

  • 进程

    进程

    2018-06-03
  • linux 学习9

    1、简述常见加密算法及常见加密算法原理,最好使用图例解说2、搭建apache或者nginx并使用自签证书实现https访问,自签名证书的域名自拟3、简述DNS服务器原理,并搭建主-辅服务器4、搭建并实现智能DNS 1、简述常见加密算法及常见加密算法原理,最好使用图例解说 單向加密算法:提取數據特征碼,將特徵碼整體附加到明文後,再進行傳遞。接收到數據後用同樣的…

    Linux笔记 2018-08-20
  • Linux笔记

    一、计算机系统(系统、硬件、)
    二、安装虚拟机

    2018-07-19
  • 计算机基础知识

    计算机基础知识 计算机系统 计算机的功能 冯诺依曼体系的五大基本部件 操作系统 Linux操作系统的组成 操作系统的功能介绍 开发接口标准 操作系统的分类 Linux 操作系统 Linux的发行版详解 Linux哲学思想 Linux系统镜像站点 计算机系统 计算机系统由硬件 计算机系统由硬件(Hardware) 系统和软件(Software)系统两大部分组成…

    Linux笔记 2018-05-07
  • 课堂练习题(1)

    练习题

    Linux笔记 2018-04-03
  • LInux系统故障模拟实验:破坏了/boot/下的initramfs-3.10.0-693.el7.x86_64.img和vmlinuz-3.10.0-693.el7.x86_64文件

    /boot/initramfs-VERSION.img 和/boot/vmlinuz-VERSION两个文件是linux系统内核启动最核心的两个文件,如果破坏,系统将难以启动,本文将描述挽救方法,实验环境Centos7.4 ;实验环境 将boot下文件全部删除(不包括目录)重启机器。

    2018-05-07