无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
12
返回列表 发新帖
楼主: jianliulin
打印 上一主题 下一主题

MBR 嵌入微型grub 安装工具【2010-06-21】

[复制链接]
31#
发表于 2010-6-21 11:22:21 | 只看该作者
发现几个问题:

1。安装之后,也检查不到已经安装了。“恢复” 和 “保存菜单” 按钮都是灰色的,不能点击。

2。手动更改菜单命令之后,菜单被截断了。

find --set-root /grldr
/grldr

被截短为

find --set-root /grldr
/gr

因此无法正常使用。

提醒别忘了在用户菜单之后添加一个 00 字节,表示菜单结束。这样更安全。
回复

使用道具 举报

32#
 楼主| 发表于 2010-6-21 11:25:25 | 只看该作者
原帖由 不点 于 2010-6-21 11:22 发表
发现几个问题:

1。安装之后,也检查不到已经安装了。“恢复” 和 “保存菜单” 按钮都是灰色的,不能点击。

2。手动更改菜单命令之后,菜单被截断了。

find --set-root /grldr
/grldr

被截短为
...


感谢不点大师亲自测试反馈,我现在外面回去后立刻检查,目前程序会自动在菜单最后补上0x00的
回复

使用道具 举报

33#
发表于 2010-6-21 12:18:25 | 只看该作者
还有问题需要注意:

1。注意安全,不要让整个文件超过一个磁道( 63 扇区)的长度。除此之外,你还应该从分区表中计算所有这四个表项中最小的起始扇区,通常它是 0x3F,也即 63。这样,就可以放心安装了,不至于破坏掉某个分区的开头部分。有一些极端分子,他们往往是 Linux 的高手,充分利用磁盘空间。他们甚至把某个分区的开头定位在第二扇区处。此时,如果你的程序贸然覆盖掉开头的63扇区,那就惨了,他的一个分区的数据就完蛋了,因为开头往往是一个分区最重要的数据结构,只要开头部分破坏了,这个分区里面的文件也就全部不能访问了。因此,安装之前要检查分区表,做到尽可能的安全。

2。如果程序需要恢复旧的 MBR,也要注意安全。分区表和 BPB 是最要命的东西,启动类的软件,一定要确保万无一失。分区表破坏了,整个硬盘的数据都成了垃圾,无法恢复(或者很难完整恢复)。BPB 破坏了,这个分区就遭殃了,整个分区的数据都成了垃圾,无法恢复(或者很难完整恢复)。

用户有可能阴差阳错,将本来不是 MBR 的文件,拿来,提交给你的程序,试图恢复。此时,如果你的程序贸然采纳了它,并加以恢复,那就造成了灾难,用户则受到了不可挽回的损失。

应该首先检查旧的 MBR 上的分区表是否合法。如果不像是一个合法的分区表,那就拒绝恢复。如果要恢复的是分区的第一扇区,也要检查 BPB 表是否合法,如果非法,就拒绝恢复,以免造成灾难。

分区表有可能全部都是 00 字节,是空的。此时,你的程序也可以提醒用户,让用户知道,分区表是空的。当分区表是空的时,你可以将代码部分恢复到 MBR,而保持 MBR 上的分区表不受影响。

同样,BPB 表也可能是空的,此时,你应该把 BPB 表之外的部分恢复到目的扇区,而保持目的扇区中原有的 BPB 表不变。

什么是空的?其实,不只是 00 算是空的。只要这个区域都用某个字节填充,都算是空的。例如 F6 F6 F6 F6 F6 .... 是空的,每个字节都是 F6。 FF FF FF FF FF .... 也是空的,每个字节都是 FF。而 90 80 90 80 90 80 .... 就不能算是空的了。

你甚至还可以在默认时提供新旧分区表以及 BPB 的对比。完全一样的时候,才执行恢复。不一样的时候,给出警告,拒绝恢复。当用户执意要恢复的时候,你应该在屏幕上给出一个长篇的知识介绍,并用醒目的方式通告其危险性和严重性。只有当用户多次确定了之后,你再执行恢复的操作。

安全第一。一个不安全的软件,大家都不敢用。

3。关于备份 MBR 到第二扇区。

有时候,第二扇区上已经是备份的 MBR 了。如果再次备份,反而破坏掉前一次的备份。所以,无条件备份 MBR 是不合理的。

不要把 GRLDR 的引导扇区备份到第二扇区上,也不要把 Wee 的 MBR 备份到第二扇区上。这是因为,第二扇区上只能存放单一的引导扇区。像 GRLDR 以及 Wee,它们的引导扇区都是多个组合才一起起作用,单一的扇区是没有意义的,当你要启动这个备份的时候,会死机的。

通常,只有微软的 MBR 代码,才可以备份。注意,一定不要备份 GRLDR 以及 Wee 的引导扇区到第二扇区上。因为这样的备份,没有任何好处,反而有坏处:即,破坏掉了先前的备份,那个先前的备份,可能就是微软的 MBR,也可能是其他的一个合法的单一扇区的 MBR。

GRLDR 的 MBR 以及 Wee 的 MBR,都是有特征结构可以搜索到的。一旦确定了,就不要执行备份的操作了。

[ 本帖最后由 不点 于 2010-6-21 12:31 编辑 ]
回复

使用道具 举报

34#
发表于 2010-6-21 15:10:19 | 只看该作者
不知这个工具有什么用。有没有详细介绍呢?
回复

使用道具 举报

35#
发表于 2010-6-21 20:37:13 | 只看该作者
不点做事很细,看过之后感觉目前还是手动比较好,也帮助理解一下mbr结构
回复

使用道具 举报

36#
发表于 2010-6-21 20:41:51 | 只看该作者
顶一个,谢谢分享,学习了!
回复

使用道具 举报

37#
发表于 2010-6-22 00:01:46 | 只看该作者
jianliulin 大大,什么时候能更新一下你的BCDTOOL,因为在那贴子里面跟贴说了,可能你没看到,所以在这里再反馈一下,BCDTOOL在XP下打开过的BCD无法再使用,即使关了BCDTOOL也不能再打开BCD文件。。。。。。
回复

使用道具 举报

38#
 楼主| 发表于 2010-6-22 12:02:33 | 只看该作者
原帖由 0cat0 于 2010-6-22 00:01 发表
jianliulin 大大,什么时候能更新一下你的BCDTOOL,因为在那贴子里面跟贴说了,可能你没看到,所以在这里再反馈一下,BCDTOOL在XP下打开过的BCD无法再使用,即使关了BCDTOOL也不能再打开BCD文件。。。。。。


可能是挂上注册表,后没有卸下来,bcd被锁住了
回复

使用道具 举报

39#
发表于 2010-6-22 14:13:07 | 只看该作者
楼主,你的WEE63赶紧更新一下吧,安装到硬盘老是出错,安装到u盘还行!
回复

使用道具 举报

40#
 楼主| 发表于 2010-6-22 14:43:46 | 只看该作者
原帖由 bao423 于 2010-6-22 14:13 发表
楼主,你的WEE63赶紧更新一下吧,安装到硬盘老是出错,安装到u盘还行!


真的不好意思,我出差还没有回去!! ,能把错误反馈详细一点吗?
回复

使用道具 举报

41#
发表于 2010-7-11 11:33:08 | 只看该作者

回复 #40 jianliulin 的帖子

楼主,出差回来了没有?我们在一直等着你更新WEE63安装工具呢!
回复

使用道具 举报

42#
 楼主| 发表于 2010-7-12 08:06:51 | 只看该作者
原帖由 bao423 于 2010-7-11 11:33 发表
楼主,出差回来了没有?我们在一直等着你更新WEE63安装工具呢!


在这1~2周内Pauly大师将会吧63S-grub ,wee 一起整合到BOOTICE.EXE 中,请大家耐心等待.....
回复

使用道具 举报

43#
发表于 2010-7-12 08:15:01 | 只看该作者
bootice 很好,我很早都在用。你的 wee 安装工具也不错,我也在用。无论如何,希望能有一个可用的安装 wee 的程序。
回复

使用道具 举报

44#
发表于 2010-10-1 08:51:54 | 只看该作者
楼主,赶紧更新一下吧,P大是不能指望了!
回复

使用道具 举报

45#
发表于 2010-10-1 09:29:31 | 只看该作者
不太懂得他的用法,还好不错
回复

使用道具 举报

46#
发表于 2010-10-1 21:51:15 | 只看该作者
安装之后,检查不到是否已经安装;“恢复” 和 “保存菜单” 按钮都是灰色的,也不能点击。
更为严重的是:无法进入硬盘系统。
回复

使用道具 举报

47#
发表于 2010-10-3 10:03:18 | 只看该作者
在 chenall 的 grub4dos 项目主页上,有一位兄弟提供了另外一个安装工具,不过只有源代码 wee63setup.c:

http://code.google.com/p/grub4dos-chenall/issues/detail?id=3

大家如果仔细阅读 wee 的 readme,应该差不多能够自己手动搞定 wee 的安装。

默认时,wee 进入命令行。如果你希望默认时启动 ntldr,你就得把尾部的启动脚本变成这样:

find --set-root /ntldr
/ntldr

通常,一个比较实用的启动脚本可以是这样的:

find --set-root /ntldr
/ntldr
find --set-root /bootmgr
/bootmgr
find --set-root /grub.exe
/grub.exe
find --set-root /grldr
/grldr

首先找 ntldr,找到后启动它。
如果找不到,就继续找 bootmgr,找到就启动它。
如果也找不到,就找 grub.exe,找到就启动 grub.exe。
如果还找不到,就找 grldr,找到就启动 grldr。

由于 grldr 有可能被别的软件占用,所以,安全起见,先找 grub.exe。

有些电脑制造商在其隐藏分区中放置一个用来捣乱的 grldr 文件,故意破坏 grldr 的查找过程。有报导说,预装 Windows 的 DELL 电脑就是这样的。这个 grldr 文件并非是用来“软激活”的,而是用来破坏 grldr 的查找过程的。解决方法:把 grldr 改名以后再使用,就比较有把握了。
回复

使用道具 举报

48#
发表于 2010-12-21 12:54:59 | 只看该作者
頂一下。
在2TB硬盤可安裝但wee63.exe判斷該硬碟未安裝wee,并無法修改此2TB硬盤中的wee菜單。

[ 本帖最后由 2010roytam1 于 2010-12-21 14:40 编辑 ]
回复

使用道具 举报

49#
发表于 2011-1-26 18:34:46 | 只看该作者
原帖由 不点 于 2010-10-3 10:03 发表
在 chenall 的 grub4dos 项目主页上,有一位兄弟提供了另外一个安装工具,不过只有源代码 wee63setup.c:

http://code.google.com/p/grub4dos-chenall/issues/detail?id=3

大家如果仔细阅读 wee 的 readm ...



看了一下WEE的源码,心里有点底,晚上准备尝试修改一下这个WEE63SETUP.C(原版编译后使用有些问题)

编译一个安装程序。。

不过我还没有用过WINDOWS的编程,暂时还是先用现在的方式,只生成一个可以直接写入到MBR的文件。。

谁提供一下WINDOWS下直接读写磁盘的方法?如果没有的话我再抽空Google一下,找到了再改成直接写磁盘的方式。

嘻嘻,还是喜欢命令行的,不会写GUI程序。
回复

使用道具 举报

50#
发表于 2011-9-25 01:05:28 | 只看该作者
请问这个被BOOTICE取代了吗
回复

使用道具 举报

51#
发表于 2012-1-20 14:37:34 | 只看该作者
一年过去了,想不到这帖最后的回复是自己,汗
回复

使用道具 举报

52#
发表于 2012-1-21 14:40:01 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-4 14:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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