当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 22 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2009-05-08 18:26 
头像

注册: 2007-10-22 9:16
帖子: 35
送出感谢: 0 次
接收感谢: 0 次
引用:
对于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”时找到的一份内容,由于转载者过多,原作者一时难辩,原作者如看到,请通知在下在此加上大名~ :em01

不过我在自己的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引导记录,而网上直接搜出来的东西又有些不足和不解,故写出来分享,还请各位多多指教! :em11

非常谢谢 32idea 和 billbear 的指正,这已经修改了。另外3楼说的方法很好,我回去也尝试一下。 :em03


最后由 wingst 编辑于 2009-05-08 19:46,总共编辑了 3 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2009-05-08 18:33 
头像

注册: 2006-12-15 9:32
帖子: 1247
系统: linux
送出感谢: 2
接收感谢: 13
1、应该是512字节,而不是521。
2、恢复mbr时 参数应该是bs=446


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2009-05-08 19:27 
头像

注册: 2007-10-22 9:16
帖子: 35
送出感谢: 0 次
接收感谢: 0 次
32idea 写道:
1、应该是512字节,而不是521。
2、恢复mbr时 参数应该是bs=446

谢谢告知,能否再麻烦说下第2点是为什么呢?
是否是因为不需要恢复分区表?


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2009-05-08 19:38 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
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 就解决了。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2009-05-08 19:49 
头像

注册: 2007-10-22 9:16
帖子: 35
送出感谢: 0 次
接收感谢: 0 次
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 就解决了。


非常感谢指正~ :em01

grub4dos我一会就去找下如何使用,另外BB君的最后一句很赞,我回去试一下:)


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2009-05-08 20:05 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
引用:
grub4dos我一会就去找下如何使用

viewtopic.php?f=139&t=34905
viewtopic.php?f=139&t=202027


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2009-05-08 20:06 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
wingst 写道:
32idea 写道:
1、应该是512字节,而不是521。
2、恢复mbr时 参数应该是bs=446

谢谢告知,能否再麻烦说下第2点是为什么呢?
是否是因为不需要恢复分区表?

是。如果分区的情形已经改变,恢复从前的分区表会毁掉所有数据。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2009-05-08 21:12 
头像

注册: 2007-10-22 9:16
帖子: 35
送出感谢: 0 次
接收感谢: 0 次
billbear 写道:
wingst 写道:
32idea 写道:
1、应该是512字节,而不是521。
2、恢复mbr时 参数应该是bs=446

谢谢告知,能否再麻烦说下第2点是为什么呢?
是否是因为不需要恢复分区表?

是。如果分区的情形已经改变,恢复从前的分区表会毁掉所有数据。


非常感谢告知还有给我的教程~~ :em03


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2009-05-09 11:04 
头像

注册: 2008-03-30 11:42
帖子: 621
送出感谢: 0 次
接收感谢: 1
如果像我一样是双系统,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!


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2009-11-16 17:22 
头像

注册: 2009-05-01 7:35
帖子: 293
送出感谢: 0 次
接收感谢: 0 次
mark


_________________
我这个人天生愚笨,体内装进一点点东西就会往外面冒,满地都是,一不小心就成了才华横溢。


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2009-11-16 18:28 

注册: 2007-09-18 8:45
帖子: 734
送出感谢: 1
接收感谢: 1
echo c:\"linux.lnx"=linux >>boot.ini

在cmd下运行就可以,echo是显示字符.>是重定向新建文件,>>重定向附加到后面


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2010-01-14 15:32 

注册: 2010-01-05 22:04
帖子: 38
地址: SD
送出感谢: 0 次
接收感谢: 0 次
留个印...


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2010-01-15 23:37 

注册: 2010-01-15 10:19
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
高手如云啊。


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2010-01-15 23:40 

注册: 2010-01-15 10:19
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
高手如云啊。


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 备份MBR(改)--双(多)系统启动者必知
帖子发表于 : 2010-01-17 19:25 

注册: 2009-11-09 11:20
帖子: 3
送出感谢: 0 次
接收感谢: 0 次
坐下来耐心学习


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 22 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Google Feedfetcher 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译