grub損壞一般有兩種情況:第一、安裝雙系統時,后安裝的系統把先安裝的系統的MBR刪除了。第二、誤操作將grub文件刪除了。 一、 MBR刪除處理 A. 先備份MBR,有可能是MBR問題,但可以不是,先備份總是沒有錯的。 dd if=/dev/sda of=/var/mbr.bak count=1 bs=512 B. 進入到救援模式后,先使用chroot /mnt/sysimage進入到實根下。 C. 接着使用grub-install接着使用grub-install /dev/sda(或者 grub2-install root-directory=/mnt/sysimage /dev/sda)修復MBR引導記錄, D. 最后exit退出實根,並使用reboot重啟。 二、 如果grub配置文件丟失處理, grub配置丟失后,開機后會直接進入grub界面: A. grub>:ls (hd0,1),(hd0,5),(hd0,3),(hd0,2) B. 查看/boot 是否單獨分區 a.如果/boot沒有單獨分區,用以下命令: ls (hd0,X)/boot/grub2 b.如果/boot單獨分區,則用下列命令: ls (hd0,X)/grub2 例如: grub > ls (hd0,msdos1)/grub2 會有如下的輸出: -grub2 grub grub.cfg i386-pc ... C. 手動引導進入系統 引導步驟如下: grub> insmod xfs grub> set root=(hd0,msdos1) (----> 這個為你上一步中找到的boot分區) grub> linux16 /vmlinuz-xxxxx root=/dev/mapper/centos-root grub> initrd16 /initramfs-.xxxxx.img grub> boot D. 修復grub配置文件 上面已經進入到系統了,這個時候可以查看/boot/grub2/grub.cfg文件,應該是空的。可以通過如下命令來修復grub 。 sudo grub2-mkconfig -o /boot/grub2/grub.cfg 有時候使用sudo grub2-mkconfig命令已經識別了Windows系統,但是就是沒有更新grub2的配置文件/boot/grub2/grub.cfg。那就多加一個參數-o 三、 從U盤進入救援模式: #浪潮M5服務器,建議采用16G或者8G的U盤,否則進入rescue模式后,不識別U盤。 A. 開機設置從U盤啟動 B. 進入到U盤的安裝操作系統界面 C. 選擇‘Troubleshooting’,按回車進入選項; D. chroot /mnt/sysimage ls /boot mkdir /boot/grub2 grub2-mkconfig -o /boot/grub2/grub.cfg grub2-install /dev/sda exit reboot 三、 /boot目錄被破壞后的修復 操作步驟: 1. rm -rf /boot/* (僅測試,正常服務器不建議此操作) 2. reboot 3. 以光盤啟動引導系統 (在進入虛擬機的瞬間按下F2) 4. chroot /mnt/sysimage 5. mount /dev/sr0 /mnt 6. rpm -ivh /mnt/Packages/kernel-3.10.0-693.e17.x86_64.rpm.rpm --force 7. ls /boot 8. grub2-install /dev/sda 9. grub2-mkconfig -o /boot/grub2/grub.cfg 10. exit 11.reboot 12. 以光盤啟動引導系統 (在進入虛擬機的瞬間按下F2,將修改的還原) 13.重啟即可