故障排錯

破壞性試驗修復

一、更改/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,繼續。接下來回車??梢栽诠獗P下用命令了。(不能用別名)

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.www58058.com/97782

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

相關推薦

欧美性久久久久