双系统引导grub简单备份及修复

https://www.360docs.net/doc/4618817680.html,/bbs/thread-130619-1-1.html


安装双系统,建议先安装windown,安装在靠前的位置,至少要有一个主分区。后面留有自由空间,安装linux系统。分区选择手动分区,在自由空间中合理分配。
linux的启动管理器grub可以引导windows系统,所以直接安装在主引导区就可以了。如果安装了其他启动管理器,安装在分区上也行。下面以默认安装在主引导区为例说明简单备份及修复方法。
进入linux系统,运行命令dd if=/dev/hda of=~/grub.mbr bs=512 count=1
复制代码或dd if=/dev/sda of=~/grub.mbr bs=512 count=1
复制代码其中/dev/hda或/dev/sda是指物理硬盘,是选择hda还是sda根据硬件和系统决定。以前的IDE硬盘都是用的/dev/hda表示,其他硬盘都是/dev/sda,现在一些系统IDE硬盘也用/dev/sda表示了。而~/grub.mbr是备份的路径及文件名,当然可以随便起名字,只要系统能识别就行。另外还建议备份一个grub的配置文件cp /boot/grub/menu.lst ~/menu.lst.bak
复制代码这里有grub启动时的菜单。
运行完dd命令,就已经把主引导区备份了,只有512字节,可以放在U盘中,也可以放在电子信箱中。
重装windows系统,如果是克隆分区没什么,但要是用原版盘安装,或者用DOS下的fdisk/mbr命命恢复了mbr,就无法直接引导linux系统了。这时候进入windows系统,把我们的备份文件grub.mbr放在C盘根目录下(只要系统能识别,放在其他地方也行),然后编辑boot.ini(隐藏的系统文件,先去掉只读属性),可以调整一下菜单显示时间(不是必需的),在文件最后面加上一条C:\grub.mbr=linux
复制代码保存,退出。
这样,启动windows系统时,在启动项中会加linux选项。选择他,就会和原来用grub时一样了。



上面的方法已经可以启动双系统了,如果想修复grub,那就再进行下面的操作。
进行linux系统,转到root身份,在grub.mbr所在目录运行dd if=grub.mbr of=/dev/hda bs=446 count=1
复制代码或dd if=grub.mbr of=/dev/sda bs=446 count=1
复制代码就可以还原grub到主引导区了。
其中bs后面的数字是字节数。主引导区只用512字节,其中后面有64个字节的分区表和两字节的结束符号。如果想连分区表一起还原,就改成bs=512,只是还原mbr,用bs=446就可以了。

另外使用grub重装也是可以的。在root身份下运行grub,然后输入
root (hd0,?) #把?换成linux的/boot所在分区
setup (hd0) #把grub重装安装到硬盘引导区
quit #退出grub

相关文档
最新文档