2014-03-05 22:38:46html
標籤:linux bootloader grub修復linux
原創做品,容許轉載,轉載時請務必以超連接形式標明文章 原始出處 、做者信息和本聲明。不然將追究法律責任。http://essun.blog.51cto.com/721033/1368904shell
grub全稱在爲GRand Unified Bootloader,它的核心功能是引導內核,可是若是grub出了問題,內核沒法找到,那豈不是萬劫不復了,下面就介紹一下經常使用的修復方式。若是想了解grub是什麼在系統中啓到什麼做用,詳細介紹請參閱http://essun.blog.51cto.com/721033/1366045網絡
第一種狀況:app
是因爲grub中的grub.conf文件損壞,開機後直接進入到了grub>命令行模式下。下面將圖解此過程ide
這時可使用help看一下grub可支持命令有那些,以便供修復時使用。學習
第二個使用的命令是find (hd0,0)/按tab若是能補全就表示系統在此分區上。ui
各個參數說明:spa
這時要注意,當你指定內核後,但未指定內核後面的參數(ro root=(此處未指定的話))將沒法正常啓動,報:請給root參數,通常狀況下是系統是能夠自動探測到,但這個功能並不靠譜,那麼只能靠備份或你的記憶將參數補上(因此按期備份/etc/fstab、與grub.conf、是多麼重要的事情,緣由你懂的。)操作系統
以下圖:
而這時就看到你平時的習慣了,備份至關重要
當正常登陸系統後,將grub.conf文件從新寫就能夠了。(上圖的完整路徑是root=/dev/mapper/vg_www-lv_root,寫全了就看不到了,因此在此特別說明)
看到title了吧
過了下面這張圖就說明系統是能夠正常啓動了
第一種狀況順利解決!a_c
第二種狀況:
grub損壞(最明顯的提示爲:Operating System not found)
如mbr數據損壞(注僅是bootloader損壞,分區表是好的),若是沒有從新啓動還可能修復,可是若是是重啓後發現grub損壞,那麼只能掛載光盤進入緊急救援模式。(如下將以掛載光盤說明)
dd執行以後的景象,是否是好驚悚a_c
掛載光盤進入緊急救援模式,在BIOS中將光盤設置爲第一引導設備。
在菜單中選擇"Rescue installed system"
以後將對:語言----》鍵盤設置
是否啓用網絡(不須要,則No,若是選擇了Yes將要求選擇獲取IP地址的方式)
正式進入救援模式
原系統己經掛載的位置,如何切換到原系統下
開啓一個shell
切換到原系統
這時能夠直接輸入grub命令進入grub中(這個grub是光盤中的)
直接使用 help setup會顯示setup的使用方法。
設置root(root默認分區)如(hd0,0),此分區必定要root所在的系統分區,以後使用setup安裝,命令是setup(hd0)(因爲mbr並屬於分區,因此將grub安裝到hd0設備便可),若是是成功了會有succeeded提示。quit退出便可
重啓系統,取出光盤,有以下信息就表示修復完成
若是grub目錄都損壞,沒法正常啓動。則能夠在此模式使用grub-install --root-directory=/ /dev/sda(設備是什麼就寫什麼)手寫配置文件grub.conf便可
總結:
以上都是在虛擬機上試驗,可能與真正的生產環境遇到的狀況有所不一樣,經過這次試驗,進一步瞭解了bootloader的工做原理。爲之後的學習打下基礎。
=========================================完============================================
PS:
"你不能將這個世界讓給你所鄙視的人,少年,努力吧!!!!"