起死回生:專治Linux各種“起不來”

 前言:想必大家剛玩Linux時,遇到這樣那樣的問題:某個目錄誤刪了、或者掛載分區出錯了、或者引導問題;那麼今天小晚帶你實戰修復各種“起不來”!

一、實驗前準備工作:

centos 6.5 內核:2.6.32-358.el6.x86_64

二、實驗步驟:

1)

[root@server ~]# cd /
       [root@server /]# umount /boot    (卸載/boot分區,包含了所有的grub程序相關文件)

[root@server /]# rm -rf /boot/        (刪除boot分區)
       [root@server /]# rm -rf /etc/rc.d/rc.sysinit    (刪除系統運行級別的腳本文件)
       [root@server /]# rm -rf /etc/rc.d/rc.local        (刪除開機自啓動)
       [root@server /]# rm -rf /etc/inittab                  (刪除init進程的腳本)
        rm: cannot remove `/etc/inittab': Operation not permitted   (這裏刪除不了,因爲小晚做了安全)

[root@server /]# lsattr  /etc/inittab       
        ----i--------e- /etc/inittab
      [root@server /]# chattr -i /etc/inittab
      [root@server /]# lsattr  /etc/inittab   
       -------------e- /etc/inittab

[root@server /]# rm -rf /etc/inittab      (成功刪除)

[root@server /]#mv /etc/fstab /etc/fstab.bak   (做個備份,該文件包含了Linux分區信息)

[root@server /]#sync

[root@server /]#sync    (重要的事情,執行2遍。將緩衝區內容寫入硬盤)

[root@server /]#reboot

2)重啓後得到此效果:

wKioL1ZX1MqQTQVAAAAmCe2EoMk061.png

由於我們的系統被破壞了,所以啓動一直停留在此。

          三、實戰修復Linux系統

思路:恢復fstab文件找到分區----->修復引導文件裏的內核文件--->修復grub--->還原init相關文件

1)進入修復模式

wKiom1ZX1kODYJJ0AACN-CO63MQ761.png

wKioL1ZX1qng9WYrAAHi6hHjbr8312.png

wKioL1ZX1qrwO5gKAACEJMnMWc0098.png

wKioL1ZX1qqii328AABKSSXXtrA184.png

wKioL1ZX1qvhq_qrAABHXs3o9AM720.png

ok ,接下來還原fstab

wKiom1ZX7hvSpUlIAABDA_Ops-U804.png

重啓後:重新進入修復模式:

此時再次進入到修復模式時, rescue 程序將會找到 fstab 文件,也就是會找到 linux 分區!並且把損壞的原 linux 系
統掛載到/mnt/sysimage 下。並且 rescue 程序會提示你,可以使用#chroot(change root 修改根目錄)修改根目錄,進入到原系統中。

wKiom1ZX7szzBQhyAAC1zIXVzeE364.png

開始 修復內核和 grub:

wKiom1ZX8RahZPcoAAAy7biCub8747.png

一般把處於 resuce 模式的系統稱爲僞系統,把#chroot /mnt/sysimage 後看到的稱爲真正的系統。
接下來要修復內核文件:

#exit ---退回到 resecu 模式下

#mkdir /mnt/source

#mount /dev/cdrom /mnt/source    ---掛載光驅 cdrom /mnt/ 目錄
       #rpm -ivh /mnt/source/Packages/kernel-2.6.32-358.e16.84.rpm --root=/mnt/sysimage/ --force
(需要修復的三個內核文件在系統盤 server 目錄下 kernel-2.6.32.rpm 軟件包裏,所以要掛載光盤之後並安裝
kernel 軟件包)

wKioL1ZX8ifAd9AvAAAcM0WMngo746.png

此時,內核已修復完成! 再繼續修復 grub 程序。。。
#chroot /mnt/sysimage 進入到已損壞的 linux 系統中
#grub-install /dev/sda 安裝 grub 程序到/dev/sda
#ls /boot/grub 查看 grub 目錄下是否存在 grub.conf 文件。如果沒有就手動編輯一個。
#vim /boot/grub/grub.conf

wKioL1ZX80KD3Dh_AAAtdb-ey08794.png

grub.conf配置文件:

wKiom1ZX8uPATe_JAABLK8_izsE071.png

修復/etc/inittab 等文件

wKioL1ZX9TejzV_tAAA7NHaI8zo791.png

wKiom1ZX9NiSpE9hAAAgMbhrcUM064.png

wKiom1ZX9Niym48sAAAiPuwG2Qk609.png

OK,成功修復。(大家有什麼疑問,請在下面回覆。)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章