故障排错

破坏性试验修复

一、更改/etc/passwd文件,把uid为0的用户改为非0,比如1000。导致机器重启故障。

uid为0不存在

此时重启会导致机器没有管理员账户,起不来。

修复方法一:

1、重启机器

2、进入救援模式(光盘启动,选择救援模式)

3、语言默认英语,键盘默认US,不需网络配置,开启shell进程

4、nano /mnt/sysimage/etc/passwd 把管理员的uid改为0,保存退出。(注意,这里/挂载 /mnt/sysimage 目录下,centos6 /挂载 /sysroot 目录下 ,vim编辑不能使用。)

5、退出重启

修复方法二:

1、重启机器

2、进入内核引导界面,centos6 输入e,centos7 输入a。

3、在linux16行末尾追加:centos6 空格init=bin/bash, centos7 空格init=bin/sh,按crtl+x重启

4、重新挂载根:centos6 mount -o rw,remount /sysroot,centos7 mount -o rw,remount /mnt/sysimage

5、切根:centos6: chroot /sysroot,    centos7: chroot /mnt/sysimage

6、编辑配置文件 nano /etc/passwd

7、把管理员的uid改为0,保存退出

8、同步到磁盘sync, sync,sync, exit,exit退出重启

二、如果不小心移动了库文件: 例如 mv /lib64.so.6 /root/  接下来我们要通过救援模式来解决。
1.重启机器

2、按F2至BOOT,按+(如果向下用“-”)把光盘调至第一行的位置(开机默认启动模式),再F10 save and Exit.如图:

0076Qtizzy7jOPycXiUe0&690

0076Qtizzy7jOPyyP6L1f&690

3、选择Troubleshooting(排错模式)

3

4、选择第2个紧急救援模式,Rescue a CentOS system

4

5、选1,继续。接下来回车。可以在光盘下用命令了。(不能用别名)

5

 

6、这是在光盘下,根目录不是原来的根目录。df查看当下根目录,在、dev/sda2 上 的 /mnt/sysimage

6

7、我们要将文件移回去。mv /mnt/sysimage/root/libc.so.6 /mnt/sysimage/lib64/ 先确认有没有这个文件

7

8、ls -l /mnt/sysimage/root,这是个软链接,创建个链接就好.要用相对路径。先进入/mnt/sysimage/lib64/libc.so.6目录,再用相对路径创建软链接。ln -s libc-2.17.so libc.so.6。

8

9、reboot。重启,进入boot改回之前的默认选项。完成
10.如果是删除了rpm -e rpm –nodeps,则需要在光盘上去操作,重新下载软件包.先建立挂载点mkdir /mnt/cdrom(如果事先有下载yum install -y autofs.misc挂载),把光盘挂载在新建目录上mount /dev/sr0 /mnt/cdrom (systemctl start autofs和systemctl enable autofs 然后进入光盘cd /misc/cd。)rpm -ivh /mnt/cdrom/Packages/rpm….

三、在/etc/crontab里写入@reboot root reboot,让虚拟机循环重启,解决办法:

centos7

1、在/etc/crontab里写入@reboot root reboot,并重启

1

2、进入boot画面,方向键”up down”,选择第一个,按“e”进入。

2

3、在linux16的那一行最后加“rd.break”,按”ctrl +x”进入。

3

4、在centos 7 ,根不是原来的根,我们需要找到原来的根目录,这里我们是/sysroot,我们进入原来的目录。但之前我们需要给这个目录加写权限,”mount -o remount,rw /sysroot”.最后我们进入文件并修改,”vim/sysroot/etc/crontab”找到@reboot root reboot那行。“dd”删除即可.重启就可以了,我们回复到最开始的状态了,可以正常进入虚拟机系统了。

4

centos6

1、CentOs 6进入boot,这里是选择第一个,按“a”进入,然后加“空格 1”回车。

56

2、进入之后,可以直接编辑vim /etc/crontab, 删除@reboot root reboot那行,保存退出!sync同步到磁盘,exit退出重启系统就可以正常启动了。

7

 

四、boot下/boot/initramfs-2.6.32-696.el6.x86_64.img(centos6),initramfs-3.10.0-693.el7.x86_64.img (centos7)系统启动文件被破坏,怎么修复?

修复方法如下:

1、重启进入救援模式

2、开启shell进程

3、切根:chroot  /mnt/sysimage

4、制作启动文件:mkinitrd  /boot/initramfs-`uname -r`.img `uname -r`

5、同步到磁盘sync,sync,sync,exit退出重启,系统就恢复正常了。

 

五、boot下/boot/vmlinuz-2.6.32-696.el6.x86_64(centos6),vmlinuz-3.10.0-693.el7.x86_64 (centos7)系统启动文件被破坏,怎么修复?

修复方法如下:

1、重启进入救援模式

2、开启shell进程

3、切根:chroot  /mnt/sysimage

4、挂载光盘(centos6),centos7已经挂好

5、进入光盘isolinux目录下,复制vmlinuz到/boot下并改名,cp vmlinuz  /boot/vmlinuz -`uname -r `

5、同步到磁盘sync,sync,sync,exit退出重启,系统就恢复正常了。

六、误删了/boot 下所有文件和/etc/fstab,rm  -rf   /boot/*  , rm  -f  /etc/fstab,修复办法如下:

删除boot下所有文件

1、重启机器

2、进入救援模式

3、开启一个shell进程

4、进入之后找不到系统分区

1-1

5、找到根对应的设备名/dev/sda2,  挂载根:mount /dev/sda2    /mnt

6、恢复/etc/dstab 文件(注意,cat命令不能用)

echo <<EOF  >  /mnt/etc/fstab

/dev/sda1         /boot         ext4              defaults       0   0

/dev/sda2         /                 ext4              defaults       0   0

/dev/sda3         /data        ext4               defaults       0   0

/dev/sda4          swap        swap             defaults       0   0

EOF

1-2

7、exit退出重启再次进入救援模式,并开启shell进程。

1-3

8、切根:chroot  /mnt/sysimage

9、在/mnt下创建cdrom目录,并将光盘挂载到此目录下

mkdir   /mnt/cdrom

mount  /dev/sr0   /mnt/cdrom

1-4

10、配置yum软件仓库

vim /etc/yum.repos.d/base.repo

1-5

11、安装内核

yum clean all

yum -y reinstall kernel

1-6

12、重新安装grub

cp  /proc/mounts   /etc/mtab

grub-install  /dev/sda

1-7

13、重写gurb.conf文件

cat << EOF > /boot/grub/grub.conf
default=0
timeout=5
title CentOS 6 (2.6.32-696.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=UUID=8f8c8a6b-24aa-4b88-9972-2d0ff2829441 rhgb quiet
initrd /initramfs-2.6.32-696.el6.x86_64.img

1

14、重启机器系统恢复了。

 

 

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

(2)
ponypony
上一篇 2018-05-07 21:31
下一篇 2018-05-08 13:50

相关推荐

  • Linux文件权限详解

    Linux系统中不仅是对用户与组根据UID,GID进行了管理,还对Linux系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方式对文件和目录进行访问和操作。

    2018-04-04
  • 编译安装LAMP示例

    httpd 2.4.9 + mysql-5.5.33 + php-5.4.26编译安装过程: 一、编译安装apache 1、解决依赖关系 httpd-2.4.9需要较新版本的apr和apr-util,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。这里选择使用编译源代码的方式进行,它们的下载路径为ftp://172…

    Linux笔记 2018-05-29
  • vim的使用方法

    从命令模式到插入模式的几种方法 i 光标不移动 I 光标移动到光标所在行首 a 光标往后移动一个字符 A 光标移动到光标所在行尾 o 光标所在行下新增一行 O 光标所在行上新增一行 扩展模式: :q 退出 :q! 强制退出,丢弃做出的修改 :wq 保存退出 :x 保存退出 :wq! 对只读文件强行修改保存 :r file 把文件内容读入到当前文件中 :w …

    Linux笔记 2018-08-05
  • Linux中用户、组和权限

    用户user Linux用户:Username/UID 管理员:root,0 普通用户: 系统用户:1-499 交互式登录:登录用户500+,1000+9(CentOs7) 组group  Linux组:Groupname/GID 管理员组:root,0(私有组) 普通组:系统组:1-499,1-999;普通组:500+,1000+ Linux组的类别:1.…

    Linux笔记 2018-04-05
  • linux练习题以及用户和组管理

    Linux练习题 列出当前系统上的所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可 取出最后登录到当前系统的用户的相关信息 取出当前系统上被用户当作默认shell的最多的那个shell 将/etc/passwd/中的第三个字段数值最大的后10个用户信息全部改为大写后保存至/tmp/maxusers中。 取出当前主机的IP地址,提示:对i…

    2018-05-26