当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 27 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-15 16:28 

注册: 2006-10-15 11:33
帖子: 581
送出感谢: 19
接收感谢: 2
我猜想是这样,因为先安装linux,再把windows安装到别的分区,linux就不能引导了。
如果先安装windows,那么windows把引导记录安装到mbr,然后安装linux,linux也把引导记录安装到mbr。我想如果linux检测到了硬盘里已经安装有windows,那么它应该不会简单地覆盖mbr,而是先把mbr上的内容用dd之类的程序备份起来。
我想知道的是,linux把windows安装到mbr上的引导记录备份到了哪个文件了呢?
谢谢!


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-15 16:30 
头像

注册: 2008-12-13 19:39
帖子: 13284
地址: 物华天宝人杰地灵
送出感谢: 1
接收感谢: 6
mbr根本不需要备份,反正可以随意更换的。分区表倒是有可能需要备份。


_________________
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-15 16:32 
头像

注册: 2007-03-02 17:36
帖子: 7259
送出感谢: 3
接收感谢: 97
lin没有备份mbr,只是lin的grub代替原来的mbr去引导win了。


_________________
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-15 16:51 

注册: 2006-10-15 11:33
帖子: 581
送出感谢: 19
接收感谢: 2
如果不备份,那么linux怎么引导windows?grub引导windows要先把控制权交给ntloader吧?
是不是windows不仅在mbr安装了ntloader,还在系统所在的分区的前512个字节安装了ntloader?不然grub怎么引导windows呢?


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-15 16:54 
头像

注册: 2008-12-13 19:39
帖子: 13284
地址: 物华天宝人杰地灵
送出感谢: 1
接收感谢: 6
引用:
是不是windows不仅在mbr安装了ntloader,还在系统所在的分区的前512个字节安装了ntloader?不然grub怎么引导windows呢?

:em34 。。。 :em38 。。。 :em06
楼主先把引导板块的置顶贴全看一遍吧,有问题先放狗。。。 :em02


_________________
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-15 17:09 
头像

注册: 2007-03-02 17:36
帖子: 7259
送出感谢: 3
接收感谢: 97
ntloader不在mbr里,win在mbr里仅仅写了一条跳转语句而已。


_________________
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-15 17:28 

注册: 2006-10-15 11:33
帖子: 581
送出感谢: 19
接收感谢: 2
谢谢,我正在看置顶帖子。

为什么我说grub在引导windows的时候,会把控制权交给ntloader呢?
如果先后安装了win98、winXP、linux。想要引导win98或者winXP的时候,在grub里选择windows,就会出现ntloader引导界面,有win98和winXP两个选项。我觉得这可以说明问题


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-15 18:32 

注册: 2006-10-15 11:33
帖子: 581
送出感谢: 19
接收感谢: 2
我发现,我见过的所有的专门分析linux的内核代码的书,在开头一定会介绍内核附带的一个很小的引导程序,也不说怎么把这个程序安装到mbr,很奇怪不是lilo也不是grub


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-15 18:35 

注册: 2006-10-15 11:33
帖子: 581
送出感谢: 19
接收感谢: 2
懒蜗牛Gentoo 写道:
ntloader不在mbr里,win在mbr里仅仅写了一条跳转语句而已。

ntloader被安装到哪里了呢?
是windows系统所在分区的等一个扇区吗?


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-15 19:12 
头像

注册: 2007-03-02 17:36
帖子: 7259
送出感谢: 3
接收感谢: 97
axxdz 写道:
懒蜗牛Gentoo 写道:
ntloader不在mbr里,win在mbr里仅仅写了一条跳转语句而已。

ntloader被安装到哪里了呢?
是windows系统所在分区的等一个扇区吗?

ntloader就是你系统盘跟目录下那个叫ntldr的文件


_________________
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-15 20:55 

注册: 2006-10-15 11:33
帖子: 581
送出感谢: 19
接收感谢: 2
再次发问,这个真的很难理解,以下这段话来自维基百科的grub条目:
GRUB的步骤1包含在MBR中。由于受MBR的大小限制,步骤一所做的几乎只是装载GRUB的下一步骤(存放在硬盘的其它位置)。步骤1既可以直接装载步骤2,也可以装载步骤1.5:GRUB的步骤1.5包含在MBR后面的30KB中。步骤1.5载入步骤2。当步骤2启动后,它将呈现一个界面来让用户选择启动的操作系统。
————————————
在下真的很困惑,grub占用了mbr和后面的30kb,这就是说,grub占用了硬盘的前7个物理扇区?我很吃惊竟然可以这么用。
我想知道的是,如果第一个分区已经安装了windows,在把linux安装到第二个分区的时候,grub也不跟windows打个招呼,就把windows分区的前6个扇区用掉了?这也太那啥了吧,不担心会破坏数据吗


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-15 21:04 

注册: 2006-10-15 11:33
帖子: 581
送出感谢: 19
接收感谢: 2
维基百科的这段话:

一旦选择了启动选项,GRUB把选择的内核载入内存并把控制交给内核。在此步骤中,对于Windows之类不支持多启动标准的操作系统,GRUB也可以通过链式启动把控制传给其它启动器。在这种情况下,其它操作系统的启动程序被GRUB保存了下来;与内核不同,其它操作系统如同直接自MBR启动。类似Windows的启动菜单,也许是另一个启动管理器,它允许在多个不支持多启动的操作系统中做进一步的选择。
————————————
这说明grub确实是保存了其他操作系统的启动程序的啊


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-15 21:36 
头像

注册: 2007-11-23 9:49
帖子: 1021
送出感谢: 0 次
接收感谢: 1
axxdz 写道:
维基百科的这段话:

一旦选择了启动选项,GRUB把选择的内核载入内存并把控制交给内核。在此步骤中,对于Windows之类不支持多启动标准的操作系统,GRUB也可以通过链式启动把控制传给其它启动器。在这种情况下,其它操作系统的启动程序被GRUB保存了下来;与内核不同,其它操作系统如同直接自MBR启动。类似Windows的启动菜单,也许是另一个启动管理器,它允许在多个不支持多启动的操作系统中做进一步的选择。
————————————
这说明grub确实是保存了其他操作系统的启动程序的啊

看英文原版。也许意思是“保留”
链式嘛,实体不在mbr里,mbr里面只有个指向


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-16 2:25 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
1 楼:windows 的 mbr 只做一件事,找到主分区表中标记为“活动”的分区,并跳到那个分区的引导扇区执行。没有备份它的必要。grub 直接用一条语句跳到 windows 分区的引导扇区。

4 楼:mbr 里并没有 ntldr 代码。ntldr 引导代码在每一个 windows 分区的引导扇区,其功能就是找到该分区下名为 ntldr 的文件并执行。所以 grub4dos 甚至可以不执行引导扇区的 ntldr 引导代码,而直接找 ntldr 文件,就是 chainloder /ntldr 的写法。

11 楼:第一个分区通常不是紧接在 mbr 后面的。mbr 是0磁道1扇区,而第一个分区一般从 1 磁道开始,中间通常隔着 63 个备用空白扇区,刚好可以放下 stage 1.5。当然,如果第一分区紧接在 mbr 之后,或 mbr 之后的空白扇区已被使用,将不会安装 stage 1.5。强行指定安装 stage 1.5 会报 Error 34 : No spare sectors on the disk 而不能安装。
没有 stage 1.5 时,stage 1 可以直接指向 stage 2。stage 1.5 的好处是它能够识别文件系统,从 stage 1.5 找 stage2 时,它是找分区上叫 stage2 的 文件。而 stage1 直接找 stage2 则是直接指向 stage2 文件在磁盘上的物理地址,这样如果 stage2 文件被挪动并且原位置被其他数据覆盖,引导就会失败。


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 如果windows也是默认把引导记录安装到mbr?
帖子发表于 : 2009-10-16 2:45 

注册: 2008-01-09 22:41
帖子: 18311
送出感谢: 0 次
接收感谢: 6
billbear 写道:
1 楼:windows 的 mbr 只做一件事,找到主分区表中标记为“活动”的分区,并跳到那个分区的引导扇区执行。没有备份它的必要。grub 直接用一条语句跳到 windows 分区的引导扇区。

4 楼:mbr 里并没有 ntldr 代码。ntldr 引导代码在每一个 windows 分区的引导扇区,其功能就是找到该分区下名为 ntldr 的文件并执行。所以 grub4dos 甚至可以不执行引导扇区的 ntldr 引导代码,而直接找 ntldr 文件,就是 chainloder /ntldr 的写法。

11 楼:第一个分区通常不是紧接在 mbr 后面的。mbr 是0磁道1扇区,而第一个分区一般从 1 磁道开始,中间通常隔着 63 个备用空白扇区,刚好可以放下 stage 1.5。当然,如果第一分区紧接在 mbr 之后,或 mbr 之后的空白扇区已被使用,将不会安装 stage 1.5。强行指定安装 stage 1.5 会报 Error 34 : No spare sectors on the disk 而不能安装。
没有 stage 1.5 时,stage 1 可以直接指向 stage 2。stage 1.5 的好处是它能够识别文件系统,从 stage 1.5 找 stage2 时,它是找分区上叫 stage2 的 文件。而 stage1 直接找 stage2 则是直接指向 stage2 文件在磁盘上的物理地址,这样如果 stage2 文件被挪动并且原位置被其他数据覆盖,引导就会失败。

学习了 :em11


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

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


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

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

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