分页: 1 / 2
备份MBR(改)--双(多)系统启动者必知
发表于 : 2009-05-08 18:26
由 wingst
对于mbr丢失,许多初学者很困惑,但是这个东西又很重要。其实用dd命令备份mbr非常好用,只要备份一次,以后不管怎么重装,对多系统的启动都没有问题了。 备份mbr: dd if=/dev/hda of=/mnt/windows/linux.lnx bs=521count=1 意思为把硬盘的mbr(即前521个字节)导出存为linux.lnx文件,以后就一劳永逸了。 写了mbr: dd if=/mnt/windows/linux.lnx of=/dev/hda bs=521count=1 重新把mbr写回,双启动菜单又出来了。 mbr被覆盖的具体方法:把linux.lnx文件放在C:盘下 echo c:\"linux.lnx"=linux >>boot.ini 启动windowsXP时就出现双启动菜单,选择linux选项进入Linux操作系统。然后用dd命令重新写回mbr,至此全部搞定。
以上是在下在Google上搜索“备份MBR”时找到的一份内容,由于转载者过多,原作者一时难辩,原作者如看到,请通知在下在此加上大名~
不过我在自己的Ubuntu 9.04下进行操作时遇到了一些问题,自己对原文进行修正后备份成功,不过还没有恢复过,接下来自己准备在自己电脑XP和U双系统的基础上再装个CentOS,所以先备份一下,成功后会再进行更新。另外如果大家试验成功也可以通知我~
我对原文的修改如下:
进入终端后
1.备份mbr:
代码: 全选
sudo dd if=/dev/sda of=/linux.lnx bs=512 count=1
意思为把硬盘的mbr(即前521个字节)导出到/目录存为linux.lnx文件,以后就一劳永逸了。
注:
if=硬件设备名称
of=备份文件的储存路径及文件名
sda是指第一块SATA硬盘,如果你的硬盘是IDE接口的,请改为hda。
另外这里是把linux.lnx放在Linux的/目录,各位也可以放到自己觉得方便的地方,下同
2.写入mbr:
代码: 全选
sudo dd if=/linux.lnx of=/dev/sda bs=446 count=1
重新把mbr写回,双启动菜单又出来了。
3. mbr被覆盖时:
把linux.lnx文件放在C:盘下 ,
代码: 全选
echo c:\"linux.lnx"=linux >>boot.ini
(这段代码我不知道是在DOS下还是在哪里运行的。。。请知道者指点)
启动windowsXP时就出现双启动菜单,选择linux选项进入Linux操作系统。然后用dd命令重新写回mbr(见操作2),至此全部搞定。
在下不是什么LINUX或是系统高手,只是自己在研究如何备份MBR以方便自己重装系统时不要丢失MBR里的GRUB引导记录,而网上直接搜出来的东西又有些不足和不解,故写出来分享,还请各位多多指教!
非常谢谢 32idea 和 billbear 的指正,这已经修改了。另外3楼说的方法很好,我回去也尝试一下。 
Re: 备份MBR(改)--双(多)系统启动者必知
发表于 : 2009-05-08 18:33
由 32idea
1、应该是512字节,而不是521。
2、恢复mbr时 参数应该是bs=446
Re: 备份MBR(改)--双(多)系统启动者必知
发表于 : 2009-05-08 19:27
由 wingst
32idea 写了:1、应该是512字节,而不是521。
2、恢复mbr时 参数应该是bs=446
谢谢告知,能否再麻烦说下第2点是为什么呢?
是否是因为不需要恢复分区表?
Re: 备份MBR(改)--双(多)系统启动者必知
发表于 : 2009-05-08 19:38
由 billbear
2 楼说的很对。
危险操作,楼主确认明白了 2 楼的 512 和 446 的含义再下手。
关于危险操作的似是而非的文章就更加危险。
备份 grub stage1 没有什么必要,stage1 是会随着你安装的不同情形而改变的。如果有改变发生,把它 dd 回来不会解决任何问题。 如果用了 512 字节更可能毁掉你的数据。当 grub stage1 被覆盖后,用 grub4dos 可以优美而安全地引导 linux,进而重写 stage1,如果你实在喜欢 gnu grub 的话。
备份 windows 的 mbr 同样没有必要,能写微软式 mbr 的工具多如牛毛,而 ubuntu 下,有现成的微软 mbr 的等效替代物,一句 sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda 就解决了。
Re: 备份MBR(改)--双(多)系统启动者必知
发表于 : 2009-05-08 19:49
由 wingst
billbear 写了:2 楼说的很对。
危险操作,楼主确认明白了 2 楼的 512 和 446 的含义再下手。
关于危险操作的似是而非的文章就更加危险。
备份 grub stage1 没有什么必要,stage1 是会随着你安装的不同情形而改变的。如果有改变发生,把它 dd 回来不会解决任何问题。 如果用了 512 字节更可能毁掉你的数据。当 grub stage1 被覆盖后,用 grub4dos 可以优美而安全地引导 linux,进而重写 stage1,如果你实在喜欢 gnu grub 的话。
备份 windows 的 mbr 同样没有必要,能写微软式 mbr 的工具多如牛毛,而 ubuntu 下,有现成的微软 mbr 的等效替代物,一句 sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sda 就解决了。
非常感谢指正~
grub4dos我一会就去找下如何使用,另外BB君的最后一句很赞,我回去试一下:)
Re: 备份MBR(改)--双(多)系统启动者必知
发表于 : 2009-05-08 20:05
由 billbear
Re: 备份MBR(改)--双(多)系统启动者必知
发表于 : 2009-05-08 20:06
由 billbear
wingst 写了:32idea 写了:1、应该是512字节,而不是521。
2、恢复mbr时 参数应该是bs=446
谢谢告知,能否再麻烦说下第2点是为什么呢?
是否是因为不需要恢复分区表?
是。如果分区的情形已经改变,恢复从前的分区表会毁掉所有数据。
Re: 备份MBR(改)--双(多)系统启动者必知
发表于 : 2009-05-08 21:12
由 wingst
billbear 写了:wingst 写了:32idea 写了:1、应该是512字节,而不是521。
2、恢复mbr时 参数应该是bs=446
谢谢告知,能否再麻烦说下第2点是为什么呢?
是否是因为不需要恢复分区表?
是。如果分区的情形已经改变,恢复从前的分区表会毁掉所有数据。
非常感谢告知还有给我的教程~~

Re: 备份MBR(改)--双(多)系统启动者必知
发表于 : 2009-05-09 11:04
由 opp
如果像我一样是双系统,XP和ubuntu的话,还是直接备份就好了,万一MBR被改动了,也是修改boot.ini把那个linux.lnx放在C盘根目录下就可以了。
至于那个echo >>boot.ini命令,在XP下的cmd下运行就行了。其实也可以手更改,那条命令是把"echo"之后">>"之间的内容追加到boot.ini里面,千万别少了个">"啊,少了个右尖括号意思就大大不一样了。如果少一个">"的话,boot.ini里面只剩下c:\"linux.lnx"=linux这一句了。源于以前对windows的命令行和批处理小有研究。如果习惯了在文本里面改,也可以在命令行下(开始-运行-cmd),然后输入C:\boot.ini就可以了,系统会自动调用Notepad来打开它,手动增加就行了,建议这样操作,因为不熟悉命令有时候会出问题的。
Good Luck!
Re: 备份MBR(改)--双(多)系统启动者必知
发表于 : 2009-11-16 17:22
由 maivel
mark
Re: 备份MBR(改)--双(多)系统启动者必知
发表于 : 2009-11-16 18:28
由 tusheng
echo c:\"linux.lnx"=linux >>boot.ini
在cmd下运行就可以,echo是显示字符.>是重定向新建文件,>>重定向附加到后面
Re: 备份MBR(改)--双(多)系统启动者必知
发表于 : 2010-01-14 15:32
由 4340835
留个印...
Re: 备份MBR(改)--双(多)系统启动者必知
发表于 : 2010-01-15 23:37
由 turkeycq
高手如云啊。
Re: 备份MBR(改)--双(多)系统启动者必知
发表于 : 2010-01-15 23:40
由 turkeycq
高手如云啊。
Re: 备份MBR(改)--双(多)系统启动者必知
发表于 : 2010-01-17 19:25
由 zr1414
坐下来耐心学习