centos6:grub排错:
如果硬盘第一个扇区前446个字节出现问题,我们不需要去做所谓的备份就可以恢复
1)grub-install
安装grub stage1和stage1_5到/dev/DISK磁盘上,并复制GRUB相关文件DIR/boot目录下
grub-install --root-directory=DIR /dev/DISK(硬盘的设备的名称,MBR不属于任何的分区)
2)grub> root (hd#,#) 找到boot所在的位置
grub> setup (hd#)
故障①清空硬盘前446个字节
dd if=/dev/zero of=/dev/sda bs=1 count=446 导致开机启动让重新安装系统;
查看MBR前512字节命令:hexdump -Cv /dev/sda -n 512
解决:
1)救援模式:默认情况下grub-install 命令要调用/sbin下的grub,必须切根情况下才能使用
①chroot /mnt/sysimage
②grub-install /dev/sda
2)交互环境:修复(要依附于,/grub/stage1 /grub/stage2 /grub/e2fs_stage1_5这些文件修复,首先要切根。并把stage1_5的27个扇区进行了修复
①chroot /mnt/sysimage
②grub
grub>root (hd0,0)
grub>setup (hd0)
故障② 破坏55AA后的stage1_5阶段
dd if=/dev/zero of=/dev/sda bs=1 count=5120 seek=512 (磁盘中前446个字节没有破坏,系统认为硬盘具有启动功能,把446字节读入内存,再尝试进入到stage1_5阶段 进不去了。- 无限闪烁)
解决:
同故障①救援模式
故障③stage2,cd /boot/grub ; rm -rf /boot/grub
报:error 15
① 如故障①救援模式 切根,grub-install /dev/sda
②手写grub.conf文件(grub.conf定义了启动菜单)
vim /boot/grub/grub.conf
default=0
timeout=5
#password 666666 (进单用户需要输入密码。)
title jinlinux
kernel /vmlinuz-2.6.32-754.e16.x86_64 root=/dev/sda2
initrd initramfs-2.6.32-754.e16.x86_64.img
#可通过命令补全(:r!ls /boot/vmlinuz /boot/initramfs)
故障④只删除/boot/grub/grub2.conf文件,
grub>kernel /vmlinuz-2.6.32-754.e16.x86_64 root=/dev/sda2
grub>initrd initramfs-2.6.32-754.e16.x86_64.img
grub>boot