CentOS 6.5中linux grub修復


在使用Linux的過程中,難免會出現開機提示grub >而無法啟動,可能是系統中/boot/grub文件丟失等原因造成的,當出現此問題的時候只要系統分區沒有格式化一般是可以修復的,下面就以虛擬 機為例,刪除/boot分區,在linux救援模式下重新修復:

    實驗使用的系統為Centos 6.5 x86_64

1、刪除boot分區:會導致gurb和linu內核丟失,然后重啟:

wKioL1RYkszQO4RkAACXef0TFZk482.jpg

此時系統重啟后已經完全無法再次啟動,如下:

wKiom1RYkqTT2fYAAAAcouO9Ixc854.jpg

2、使用光盤鏡像引導系統,並選擇救援模式啟動:

wKioL1RYk2ahqNpGAADYoAWdN6Q330.jpg

提示將系統掛載至/mnt/sysimage:

wKioL1RYk8DT9AhyAABzL2VnpKI072.jpg

2、將根切換至之前的系統:

wKioL1RYlOSh_k0XAAAkn671x74638.jpg

3、創建光盤掛載目錄並掛載光盤:

wKiom1RYlDqQcB4WAAEP1QqXK2Y497.jpg

4、安裝kerner包,會生成/boo目錄以及內核及initramfs

wKiom1RYleCwmqAGAAFSI8SnePA036.jpg5、修復grub,首先要查看一下自己的磁盤分區情況,以確認grub安裝在那個磁盤上:

wKioL1RYlt_Ad49TAAECAcJkNis723.jpg為第一塊磁盤安裝grub引導:

wKiom1RYlvej3VizAAEfrbngHgE274.jpg

6、確認geub目錄已經生成:

wKiom1RYl2mSvBdiAACouXFmx-I110.jpg

    此時系統仍然無法正常啟動,因為確認grub.conf文件,可以嘗試重啟看一下界面:

wKiom1RYl8yhbYBMAACOry0M5Vk427.jpg    

5、在grub界面指定kernel和initramfs所在路徑啟動,可以操作的命令有:

grub>kernel 內核文件     //設置內核文件的路徑

grub>initrd  鏡像文件名  //設置鏡像路徑

grub>boot               //啟動指定操作系統

grub>help               //獲取幫助

grub>reboot             //重啟系統

grub>md5-crypt         //生成口令的MD5密文

grub>setup (hdx[,y])    //安裝GURB到MBR/指定分區的引導扇區中

grub>hide 分區       //隱藏分區

grub>cat 文件名      //顯示文件內容

grub>find 文件名     //查找文件

grub>rootnoveify (hdx,y)  //設置根設備所對應的分區,但不檢查加載點

grub>chainloader  文件名 //加載指定的文件

 

在此指定linux內核和initramfs文件路徑,並啟動linux系統:

wKioL1RYmjPzN4xYAAGqbyGteLg125.jpg注:

grub>  root (hd0,1)  #是說跟分區在第一塊硬盤的第二個分區

grub>  kernel /boot/vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/sda2 #指明內核路徑和根分區

grub>  initrd  /boot/initramfs-2.6.32-431.el6.x86_64.img #指明initramfs路徑啟動系統加載驅動

grub>  boot  #啟動上面指定的系統,如果是reboot就等於重啟整個系統了,剛才的設置就失效了

    此時已經可以引導系統啟動了,但是還沒有grub.conf文件,可以在系統啟動后編寫一個grub.conf文件即可

wKioL1RYm6TRdGuHAAHcN7PTais608.jpg

6、編寫grub.conf文件:

    可以看到,此時系統是沒有grub.conf文件的,如果重啟系統后就無法正常開機了,除非在grub界面指定內核和驅動文件的路徑:

wKiom1RYnCrisRsGAAENq6Ic4TY341.jpg

創建grub.conf文件:

wKiom1RYoIPBusj8AAHeSt_b2Hw827.jpg注:kernel 一行后面root=/dev/sda2是指的根分區所在的磁盤,假如boot分區和根分區沒有在一起,則grub.conf文件要寫明boot分區和根分 區,另外不推薦安裝磁盤分區的方式寫根分區的路徑,因為有可能系統重啟后磁盤好會出現變化,因此推薦使用UUID的方式表明,每個分區都有自己的 UUID,是在整個系統中唯一的身份標示,可以使用命令blkid  /dev/sda2獲取。

7、最后重啟系統,以硬盤直接啟動測試;

wKiom1RYogKhvNoHAAEpafMUZrE568.jpg

 

wKioL1RYopvz5AM7AADrX5eVk5s506.jpg

系統已經正常啟動完成!

 

總結:修復grub是個漫長的過程,下午用了三個多小時的時間寫博客和修復系統,修復期間為了排錯,虛擬機重啟了至少幾十次,因此要有耐心、認真的去做一件事,才能做的最好!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM