无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 9529|回复: 32
打印 上一主题 下一主题

[求助] grub.mbr写在什么位置

[复制链接]
跳转到指定楼层
1#
发表于 2012-4-5 19:57:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提出这个问题,一定会有人说:写在引导扇区。
这是废话。
本人测试了一下,直接将grub.mbr全部写入物理磁盘是不行的!!
所以,提出这样一个问题:grub.mbr写入物理磁盘的时候,是不是要分段写?分哪些段?每一段写入具体的磁盘位置在什么地方?

当然,bootice是一个很好用的图形化写grub.mbr的工具。可惜bootice更新太慢,它又是内置grub代码的,不能将最新版本的grub写入磁盘。所以我想开发一个图形化工具,工具的第一步就是读取指定版本的grub.mbr,第二部将grub.mbr写入物理磁盘指定的扇区。希望有人指点。
2#
发表于 2012-4-6 01:31:20 | 只看该作者
同求,BOOTICE写入的MBR代码似乎比较老旧,一些较新的主板已经无法正常支持了。
而官方自带的写入程序似乎在WIN7上不能使用。
回复

使用道具 举报

3#
发表于 2012-4-6 08:57:18 | 只看该作者
貌似,BOOTICE可以自己找到当前目录下的grub.mbr<br /><br /><img src="attachments/20120406_b30934203cfb06ebce70PTfzfvLd5HDs.png" border="0" aid="attachimg_140340" width="359" alt="" />

不过好像提示新的版本有问题,

[ 本帖最后由 yjq635 于 2012-4-6 09:00 编辑 ]

QQ截图20120406085610.png (21.32 KB, 下载次数: 108)

QQ截图20120406085610.png

QQ截图20120406085610.png (66.69 KB, 下载次数: 105)

QQ截图20120406085610.png
回复

使用道具 举报

4#
发表于 2012-4-6 09:02:57 | 只看该作者
grldr.mbr不是写入的吧,应该是给其他引导程序调用的。。。
回复

使用道具 举报

5#
发表于 2012-4-6 09:27:50 | 只看该作者
BOOTICE很久没有更新了,作者好像放弃了!尤其是0.9版,出现了诸多错误,也没有更正。唉。。。。。。
回复

使用道具 举报

6#
发表于 2012-4-6 09:50:23 | 只看该作者
最好在虚拟机里写入,然后,用扇区工具,复制出来.

好像就
几百字节
回复

使用道具 举报

7#
发表于 2012-4-6 15:51:17 | 只看该作者
原帖由 2011bigbarry 于 2012-4-5 19:57 发表
提出这个问题,一定会有人说:写在引导扇区。
这是废话。
本人测试了一下,直接将grub.mbr全部写入物理磁盘是不行的!!
所以,提出这样一个问题:grub.mbr写入物理磁盘的时候,是不是要分段写?分哪些段?每 ...


嘿嘿,记得时空论坛有位仁兄写过一个图形化的g4d写入工具,并提供了代码。待偶下班后回家找找放上来给你瞅瞅?
找到了,

[ 本帖最后由 不才 于 2012-4-6 18:48 编辑 ]

Grub4DOS Toolbox for Windows-0.1 中文版.rar

73.43 KB, 下载次数: 123, 下载积分: 无忧币 -2

回复

使用道具 举报

8#
发表于 2012-4-6 18:06:47 | 只看该作者
同求,呵呵,希望楼上的代找找。
回复

使用道具 举报

9#
 楼主| 发表于 2012-4-6 18:07:24 | 只看该作者
麻烦楼上的楼上给个链接
回复

使用道具 举报

10#
 楼主| 发表于 2012-4-6 18:30:12 | 只看该作者
进一步观察发现。用bootice将grub.mbr写入磁盘后,再用bootice将mbr保存(备份成文件),发现跟grub.mbr之间有差异,尽管长度是一样的。
所以本人才有一开始提出的问题。
回复

使用道具 举报

11#
 楼主| 发表于 2012-4-6 18:32:04 | 只看该作者
不点,你人呢?你应该比较明白这个事情。
回复

使用道具 举报

12#
发表于 2012-4-6 21:52:59 | 只看该作者
有lianjiang 大大的这个可以选择。http://bbs.wuyou.net/forum.php?m ... 0252&highlight=
回复

使用道具 举报

13#
发表于 2012-4-7 01:17:12 | 只看该作者
原帖由 不才 于 2012-4-6 15:51 发表


嘿嘿,记得时空论坛有位仁兄写过一个图形化的g4d写入工具,并提供了代码。待偶下班后回家找找放上来给你瞅瞅?
找到了,

仁兄的这个程序需要bootlace的支持,而bootlace是不支持WINXP以上系统的,写入会出错。似乎
回复

使用道具 举报

14#
发表于 2012-4-7 01:17:39 | 只看该作者
而BOOTICE已经无法支持最新版的GRLDR.MBR了。
回复

使用道具 举报

15#
发表于 2012-4-7 01:18:19 | 只看该作者
lianjiang 兄的程序不支持命令行。。
回复

使用道具 举报

16#
 楼主| 发表于 2012-4-7 10:02:55 | 只看该作者
原帖由 adslceo 于 2012-4-6 21:52 发表
有lianjiang 大大的这个可以选择。http://bbs.wuyou.net/forum.php?mod=viewthread&tid=170252&;highlight=

到那个网页看了一下,貌似他也是内置grub.mbr,也就是说不能指定版本的。

原文“内置grldr及grldr.mbr(10-06-09),同目录下的外置grldr及menu.lst文件优先

这里说的是外置grldr优先。没有提到外置grub.mbr是否优先。

我一开始提出的问题是想解决将自己指定的grub.mbr写入引导区。只是我在实际测试中发现,将grub.mbr直接从磁盘的物理位置0(这么说应该明白意思吧?)开始连续写入是不行的,大概是破坏了原有的分区表。

[ 本帖最后由 2011bigbarry 于 2012-4-7 10:07 编辑 ]
回复

使用道具 举报

17#
发表于 2012-4-7 11:24:59 | 只看该作者
原帖由 zhenfu 于 2012-4-7 01:17 发表

仁兄的这个程序需要bootlace的支持,而bootlace是不支持WINXP以上系统的,写入会出错。似乎


嘿嘿,在xp-sp3的电脑上实际测试了一下,采用旧版的bootlace写入mbr没有问题。但新版本的确实不再支持了(提示bootlace不是一个有效的g4d文件)。
不过使用BOOTICE写入2012-03-26版本的GRLDR.MBR貌似没有问题啊,起码提示说已修改成功鸟。

[ 本帖最后由 不才 于 2012-4-7 12:10 编辑 ]
回复

使用道具 举报

18#
发表于 2012-4-7 15:38:38 | 只看该作者
不是grub.mbr吧,而应是grldr.mbr吧???
写入grldr.mbr是写入了硬盘的0磁道(占用0磁道前面的18个扇区,而传统的MBR只是占用了一个扇区)。

可以看看这个:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=139082
grldr写入mbr到底是写在硬盘的哪里??

[ 本帖最后由 zqywult 于 2012-4-7 16:20 编辑 ]
回复

使用道具 举报

19#
发表于 2012-4-7 22:59:03 | 只看该作者
写入新版的GRLDR.MBR后,再备份0磁盘0~17扇区到文件(应该是整整9K),再比较与GRLDR.MBR的差别(要用16进制比较),如果只是起始位置441~510字节的内容不同,那就好办了!(此处为主分区表跟磁盘签名的位置) 给其他计算机部署的时候,备份此处的内容,然后直接写入GRLDR.MBR,最后再将备份的分区表跟磁盘签名恢复到原位置即可!
回复

使用道具 举报

20#
发表于 2012-4-7 23:08:53 | 只看该作者

回复 #19 monitor20 的帖子

bootice有这功能  没那么麻烦

test.png (50.03 KB, 下载次数: 106)

test.png
回复

使用道具 举报

21#
发表于 2012-4-7 23:16:05 | 只看该作者
跟其他MBR一样,GRLDR.MBR的部署是不能动分区表跟磁盘签名的,直接将MBR写入磁盘显然是不可行的(会造成分区表跟磁盘签名的破坏,分区表重要性无须多言,而磁盘签名对于VISTA&WIN7的启动至关重要!)。DISKRW的最新DOS版本支持对扇区内部进行操作,但很遗憾,Win32版本的DISKRW却不支持此操作(备份扇区内部指定位置数据),石头版主介绍过用 DD for Windows 来在Win32环境下对扇区内部操作,虽然有点麻烦,但也是个折中的办法,大家搜索找找看!
回复

使用道具 举报

22#
发表于 2012-4-7 23:24:50 | 只看该作者
原帖由 sratlf 于 2012-4-7 23:08 发表
bootice有这功能  没那么麻烦

不过我想将其他MBR写入磁盘,比如XORLDR,键鼠操作是很方便,但我想调用命令直接写入磁盘,尽量减少与用户的交互;虽然BootICE支持命令行参数,可似乎并未提供保持分区表跟磁盘签名不变的参数,用AUTO参数的话会改变分区表……所以这几天到处查资料找办法。

[ 本帖最后由 monitor20 于 2012-4-8 06:29 编辑 ]
回复

使用道具 举报

23#
发表于 2012-4-7 23:47:53 | 只看该作者
参考了已故的井底蛙版主的1JF9K的部署方法(备份0扇区到1扇区,然后将1JF9K.BIN写入3扇区,最后用DSPTW修改0扇区的3处位置,实现将引导代码跳转到3扇区去读取、执行),对0扇区的操作根本没有动过分区表!我们可以参考这一办法,比如将GRLDR.MBR写入磁盘,(用16进制编辑器)先将GRLDR.MBR的前512个字节剪切到新文件(如0.BIN),然后将剩下的8.5K部分保存(如1.BIN),部署的时候,将1.BIN从1扇区开始写入,再用DSPTW将0.BIN的16进制数据中前440字节写入0扇区(受DSPTW限制,要多次、分段写入,大概得28次才能HEX完)即可。
回复

使用道具 举报

24#
发表于 2012-4-8 06:56:06 | 只看该作者
最方便直接的方法,用Chenall大侠的grubinit(最新版本为1.3,在索引贴中的外部命令中找),几乎可以说是最官方、最正规的方法了。
回复

使用道具 举报

25#
发表于 2012-4-8 07:00:24 | 只看该作者
或者是用DSPTW备份出MBR(如0.MBR),然后调用BOOTLACE将引导代码写入0.MBR,最后再将新MBR写入磁盘扇区即可,貌似官方文档中介绍的就是如此!
回复

使用道具 举报

26#
发表于 2012-4-8 07:09:35 | 只看该作者
GRUB4DOS的引导代码好处理,工具多,方法也多,但其他的引导代码,比如XORLDR的工具貌似就不能用带参运行的方法直接部署到引导扇区(Pauly没给出命令行参数,貌似不支持?),这就给自动部署造成不便了,这几天正打算为thtf的一键还原作个引导记录修复工具,所以对此关注多些^_^
回复

使用道具 举报

27#
 楼主| 发表于 2012-4-8 13:15:33 | 只看该作者
原帖由 zqywult 于 2012-4-7 15:38 发表
不是grub.mbr吧,而应是grldr.mbr吧???
写入grldr.mbr是写入了硬盘的0磁道(占用0磁道前面的18个扇区,而传统的MBR只是占用了一个扇区)。

可以看看这个:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=1390 ...

不好意思,应该是grldr.mbr。没注意,写错了。
回复

使用道具 举报

28#
 楼主| 发表于 2012-4-8 13:22:37 | 只看该作者
原帖由 monitor20 于 2012-4-7 23:47 发表
参考了已故的井底蛙版主的1JF9K的部署方法(备份0扇区到1扇区,然后将1JF9K.BIN写入3扇区,最后用DSPTW修改0扇区的3处位置,实现将引导代码跳转到3扇区去读取、执行),对0扇区的操作根本没有动过分区表!我们可以参考 ...

大概看明白了。意思是说将grldr.mbr分成两个部分:
第一部分:前512字节
第二部分:剩下的字节。
写入那一步,没看明白,为什么不将512字节全部写入呢?
我查看了bootice写入磁盘后的磁盘数据。磁盘数据显示:前面的512字节最后部分(440以后)跟grldr.mbr的前面512字节最后部分(440以后)内容是一样的。

[ 本帖最后由 2011bigbarry 于 2012-4-8 13:38 编辑 ]
回复

使用道具 举报

29#
发表于 2012-4-8 15:08:38 | 只看该作者
原帖由 monitor20 于 2012-4-7 23:24 发表

不过我想将其他MBR写入磁盘,比如XORLDR,键鼠操作是很方便,但我想调用命令直接写入磁盘,尽量减少与用户的交互;虽然BootICE支持命令行参数,可似乎并未提供保持分区表跟磁盘签名不变的参数,用AUTO参数的话会改变 ...


请看#20的截图:勾选“保留分区表和磁盘签名不变” !

[ 本帖最后由 zqywult 于 2012-4-8 15:10 编辑 ]
回复

使用道具 举报

30#
发表于 2012-4-8 16:04:12 | 只看该作者
回复#28:
“..........................
我查看了bootice写入磁盘后的磁盘数据。磁盘数据显示:前面的512字节最后部分(440以后)跟grldr.mbr的前面512字节最后部分(440以后)内容是一样的。”

您确认吗???
bootice写入磁盘后的磁盘数据?------是bootice写入grldr.mbr后的吗?是否如#20截图那样勾选了“保留分区表和磁盘签名不变”??

前面的512字节最后部分(440以后)是您的分区表跟磁盘签名数据,如果您写入grldr.mbr时,像#20截图那样勾选了“保留分区表和磁盘签名不变”,应该与grldr.mbr的前面512字节最后部分(440以后)内容是不一样的呀??

您如果您写入grldr.mbr时,像#20截图那样勾选了“保留分区表和磁盘签名不变”,可以用WinHEX查看对比bootice写入grldr.mbr 之前 和 写入grldr.mbr 之后的前512字节最后部分(440以后),应该是是一样的,即这部分并没有写入grldr.mbr 的内容。

[ 本帖最后由 zqywult 于 2012-4-8 16:06 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-17 12:41

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表