新人來看撒,包教包會,又漲知識又教套路咯linux
實驗環境:VMware虛擬機,CentOS-6.9操做系統shell
實驗詳情:分區狀況下刪除boot目錄以及刪除fstab文件的修復vim
誤刪除boot目錄,不要慌張,跟隨博主一塊兒一步一步使其重生centos
首先咱們模擬刪除boot目錄bash
[root@centos6 ~]# rm -rf /boot/* #刪除boot目錄下全部文件 [root@centos6 ~]# reboot #重啓電腦
鐺鐺鐺:成功破壞,電腦啓動不了,提示信息:網絡
勿慌勿慌,能拆就能砌,能破就能立。緊跟步伐app
修復過程:ide
進入救援模式
測試
不知道救援模式怎麼進?簡單,看好了,首先確保光盤已經掛載上去,而後沒有了,(別打臉,別打臉)還有還有...系統啓動時會進入如下界面:人工智能
接着就考驗你的手速了,在讀條還沒進行到底時以迅雷不及掩耳盜鈴之勢按下Esc鍵(注意:一下,就一下,不聽勸告,後果自負),接着便會彈出一個少見的界面:
(上下鍵移動選項,Enter鍵肯定)
選3,選3,選3!從光盤啓動系統,
看見沒,看見沒,一個熟悉的單詞Rescue,對對對,它就是那啥,選它,選它。而後而後就不懂了...,耐心耐心,以後你就知道了
左面選擇語言--》English
右面選鍵盤格式--》us(美式鍵盤)
接着讓你選擇網絡鏈接,爲方便起見,在此咱們就不選擇它了,這一項選No,No,No
勝利就在眼前,提示你即將進入救援模式,以前的根目錄會移動到/mnt/sysp_w_picpath(記住,記住,記住)
成功進入救援模式,選擇shell Start shell
你會發現會進入一個bash界面,能夠敲擊命令,可是,可是,可是,這不是你原來系統的根目錄,想要修復誤刪除的bootmul,你要先進去你的根目錄:
sh-4.1#chroot /mnt/sysp_w_picpaths #切換家目錄,以後便會發現,目錄仍是從前的模樣 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/sysyp_w_picpath.還有boot目錄要修復....
路人甲:上面不是有詳細的修復boot目錄的教程麼,你是否是傻...
呃.....也對,剩下的就和上面的同樣了,進入救援模式,修復boot目錄。
不過,嘿嘿,還留了一手:
在生成內核文件和僞根的時候,能夠不用那麼麻煩一個個命令生成,這些文件都來自於kernel包,只需重裝kernel包便可,切換根目錄後,掛載光盤
rpm -ivh /mnt/cdrom/Packages/kernel.xxx.rpm --force #--force,強制重裝kernel包,便可生成內核文件僞根文件等boot下的文件
而後重裝grub,編輯grub配置文件便可(注意:配置文件內的文件名的一致問題),重啓,結束
結束了,真的結束了,騙人很差.......