1. 程式人生 > >新手處理事故之誤刪boot目錄以及更嚴重的刪除操作

新手處理事故之誤刪boot目錄以及更嚴重的刪除操作

linux 刪除boot 刪除fstab 恢復操作

新人來看撒,包教包會,又漲知識又教套路咯

實驗環境:VMware虛擬機,CentOS-6.9操作系統

實驗詳情:分區情況下刪除boot目錄以及刪除fstab文件的修復

誤刪除boot目錄,不要慌張,跟隨博主一起一步一步使其重生

首先我們模擬刪除boot目錄

[[email protected] ~]# rm -rf /boot/*     #刪除boot目錄下所有文件
[[email protected] ~]# reboot             #重啟電腦

鐺鐺鐺:成功破壞,電腦啟動不了,提示信息:

技術分享

勿慌勿慌,能拆就能砌,能破就能立。緊跟步伐

修復過程:

進入救援模式

不知道救援模式怎麽進?簡單,看好了,首先確保光盤已經掛載上去,然後沒有了技術分享,(別打臉,別打臉)還有還有...系統啟動時會進入以下界面:

技術分享

接著就考驗你的手速了,在讀條還沒進行到底時以迅雷不及掩耳盜鈴之勢按下Esc鍵(註意:一下,就一下,不聽勸告,後果自負),接著便會彈出一個少見的界面:

技術分享

(上下鍵移動選項,Enter鍵確定)

選3,選3,選3!從光盤啟動系統,

技術分享

看見沒,看見沒,一個熟悉的單詞Rescue,對對對,它就是那啥,選它,選它。然後然後就不懂了...,耐心耐心,之後你就知道了

技術分享技術分享

左面選擇語言--》English

右面選鍵盤格式--》us(美式鍵盤)

接著讓你選擇網絡連接,為方便起見,在此我們就不選擇它了,這一項選No,No,No

技術分享

勝利就在眼前,提示你即將進入救援模式,之前的根目錄會移動到/mnt/sysimage(記住,記住,記住)

技術分享技術分享

成功進入救援模式,選擇shell Start shell

技術分享

你會發現會進入一個bash界面,可以敲擊命令,但是,但是,但是,這不是你原來系統的根目錄,想要修復誤刪除的bootmul,你要先進去你的根目錄:

sh-4.1#chroot /mnt/sysimages         #切換家目錄,之後便會發現,目錄還是從前的模樣
sh-4.1#ls /boot/                     #ls boot目錄發現boot目錄已被刪除幹凈

接下來大刀闊斧地向boot目錄中添加文件

sh-4.1#mount /dev/sr0 /mnt/          #將光盤掛載,我們需要裏面的部分文件
sh-4.1#cp /mnt/isolinux/vmlinuz /boot    #拷貝光盤下的這個文件到boot目錄下,此文件為內核文件
sh-4.1#mkinitrd /boot/initramfs-`uname -r`.img `uname -r`     #此命令會生成偽根文件,負責文件系統的驅動,以掛載根目錄
sh-4.1#ls /boot/                     #可以查看boot目錄下已經生成的文件
sh-4.1#grub-install /dev/sda         #重裝grub,負責系統的引導啟動。註意如果你的虛擬機裝了好幾個磁盤,可能會報一定的錯誤:Unknown partition table signature 沒關系的,不影響修復
sh-4.1##########基本文件已經裝配齊全,最後一步,編輯配置文件
sh-4.1#nano /boot/grub/grub.conf        #我的救援模式裏面沒有vim編輯命令,使用nano編輯grub配置文件
###鍵入以下內容###
default=0         #啟動時會有一個菜單,0時為默認啟動文件裏面第一個內核
timeout=5         #等待時間5秒,不做選擇時
title mozart-centos        #菜單標題
kernel /vmlinuz root=/dev/sda2    #啟動的內核,文件名註意保持一致。root後寫原來根目錄的掛載設備
initrd /initramfs-xxxxx.img xxxxx    #偽根系統,註意文件名的一致 ,同boot下的偽根文件保持同名

大功告成,boot目錄修復完成,

鍵入exit退出原來根目錄,再exit退出bash,選擇reboot Reboot重啟系統

系統復活(煙花煙花)

技術分享

嘚瑟中.........

(沒眼色的路人甲):倘若更嚴重的輸出呢??刪除etc下的fstab文件,使你進入救援模式,但卻無法將原來的根目錄掛載,無法找到boot目錄,怎麽破??

呃......這個......

簡單!既然沒有了fstab文件,那麽我們就進救援模式寫一個,老套路,進入救援模式。

這是刪除fstab文件時的救援模式提示:

技術分享

不管它,我們依舊進入bash界面,由於缺少fstab文件,磁盤不知道掛載到哪裏,我們也不知道哪個磁盤分區中保存我們的根目錄,不怕,簡單,一個一個分區去掛載下查看就好了(嘿嘿)

sh-4.1#mkdir test       #創建測試分區的目錄
sh-4.1#mount /dev/sda1 test/   
sh-4.1#ls test/         #掛載分區,並查看分區內容判斷...
######此處省略測試環節###########
sh-4.1#mount /dev/sda2 test/
sh-4.1#ls test/         #最終我們發現,掛載了/dev/sda2分區我們可以找到了原來的根目錄(歡呼歡呼)
######接下來我們自己人工智能(手寫)fstab文件,之前若有備份拷過去即可#######
sh-4.1#nano test/etc/fstab
######根據分區情況鍵入以下內容#####3
/dev/sda1    /boot    ext4    defaults    0  0
/dev/sda2    /        ext4    defaults    0  0
/dev/sda3    /app     ext4    defaults    0  0
............
sh-4.1#exit    #退出bash,選擇reboot Reboot 重啟系統,

重啟系統,完成啦(開心開心)........怎麽可能,你只是解決了一個問題(修復fstab文件),可以正常進入救援模式,並將根目錄默認掛載在/mnt/sysyimage.還有boot目錄要修復....

路人甲:上面不是有詳細的修復boot目錄的教程麽,你是不是傻...

呃.....也對,剩下的就和上面的一樣了,進入救援模式,修復boot目錄。

不過,嘿嘿,還留了一手:

在生成內核文件和偽根的時候,可以不用那麽麻煩一個個命令生成,這些文件都來自於kernel包,只需重裝kernel包即可,切換根目錄後,掛載光盤

rpm -ivh /mnt/cdrom/Packages/kernel.xxx.rpm  --force        #--force,強制重裝kernel包,即可生成內核文件偽根文件等boot下的文件

然後重裝grub,編輯grub配置文件即可(註意:配置文件內的文件名的一致問題),重啟,結束

結束了,真的結束了,騙人不好.......



本文出自 “Mozart” 博客,請務必保留此出處http://mozart.blog.51cto.com/13286673/1968048

新手處理事故之誤刪boot目錄以及更嚴重的刪除操作