双系统引导grub的备份和修复
1 linux下备份grub
终端root用户,运行命令:
dd if=/dev/hda of=/用户指定的路径/grub.NNNN bs=446 count=1
或者dd if=/dev/sda of=/用户指定的路径/grub.NNNN bs=446 count=1
注解:/dev/hda或/dev/sda是指物理硬盘,grub.NNNN是备份的文件名,可以随意起的。
另外,建议备份一个grub的配置文件,命令为:
cp /boot/grub/menu.lst ~/menu.lst.bak
它是grub启动时的菜单。
2 恢复grub
(1)windows xp下重建引导的一种简易方法
重装windows后,要求是原版本的安装,否则无法直接引导。
进入windows后,把备份文件命名为grub.mbr,复制到C盘根目录下(只要系统能识别,放在其他地方也行),然后编辑boot.ini(隐藏),右键“我的电脑”点“属性”找“高级”找“启动和故障恢复”点“设置”找“系统启动”点“编辑”,系统会自动调用记事本打开boot.ini,在文件最后加上:
c:\grub.mbr=linux
(即grub.mbr的存放路径)
如此一来,在windows启动的时候就会增加 linux 选项。
(2) 利用Linux引导盘
刻盘一直觉得有点麻烦,不过是一种方法,光盘引导进入。
(3) 利用liveCD
liveCD可以不安装直接运行操作系统,在终端下运行dd命令:
sudo dd if=/用户指定的路径/grub.NNNN of=/dev/hda bs=446 count=1
或者sudo dd if=/用户指定的路径/grub.NNNN of=/dev/sda bs=446 count=1
就可以还原grub到主引导区了。
注释:其中bs后面的数字是字节数,主引导区共有512字节,前446字节是引导信息,即mbr,后面62字节是分区信息,最后2字节是结束标识。因为只需要还原mbr,故bs=446,当然备份的时候可以将512字节都备份(bs=512)。
(4) 使用grub重装
在root身份运行grub,然后输入
root(hd0,?) #把?换成linux的/boot所在分区
setup(hd0) #把grub重装到硬盘引导区
quit #退出grub
浙公网安备 33010602011771号