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.重启即可