无忧启动论坛

标题: MBR 嵌入微型grub 安装工具【2010-06-21】 [打印本页]

作者: jianliulin    时间: 2010-6-16 13:18
标题: MBR 嵌入微型grub 安装工具【2010-06-21】
【2010-06-21】
1.添加了修改菜单功能
2.选择wee安装文件
3.不选择安装文件则安装内置2010-06-20版的wee


1。安装时把原来第一扇区的数据复制到了第二扇区
2。安装时自动检查菜单是否超长
3。恢复按钮灰色表示尚未安装mbr-grub,反之已经安装


[ 本帖最后由 jianliulin 于 2010-6-21 09:28 编辑 ]

WEE63.rar

349.67 KB, 下载次数: 1174, 下载积分: 无忧币 -2


作者: 23070205    时间: 2010-6-16 13:25
又是一个新东西,好啊。下载看看怎么用?
作者: 天涯海角1216    时间: 2010-6-16 13:30
jianliulin 就是厉害,好!
支持!
这样方便多了!
但是不知微型grub修改后还能否自动适应?
作者: 33445566    时间: 2010-6-16 13:42
有这个工具,安装方便了,是否可以将 天涯海角1216 的grldr外置
作者: zhaohj    时间: 2010-6-16 14:38
jianliulin是编程高手,能否帮忙处理下网卡驱动,自动生成NETID.TXT
我现在用python生成的。

NETID.TXT格式如下:

PCI\VEN_10B7&DEV_1700="3COM\EL2000X"
PCI\VEN_10B7&DEV_9300="3COM\El910"
PCI\VEN_10b7&DEV_9902="3COM\EL99X_NT"
PCI\VEN_10b7&DEV_9903="3COM\EL99X_NT"
PCI\VEN_10b7&DEV_9904="3COM\EL99X_NT"
PCI\VEN_10b7&DEV_9905="3COM\EL99X_NT"
PCI\VEN_10b7&DEV_9908="3COM\EL99X_NT"
PCI\VEN_10b7&DEV_9909="3COM\EL99X_NT"
PCI\VEN_10b7&DEV_5900="3COM\NETEL59X"
PCI\VEN_10b7&DEV_5950="3COM\NETEL59X"
PCI\VEN_10b7&DEV_5951="3COM\NETEL59X"
PCI\VEN_10b7&DEV_9004="3COM\W9X90XBC"
PCI\VEN_10b7&DEV_9005="3COM\W9X90XBC"
PCI\VEN_10b7&DEV_9006="3COM\W9X90XBC"
PCI\VEN_10b7&DEV_900A="3COM\W9X90XBC"
PCI\VEN_10b7&DEV_9055="3COM\W9X90XBC"
PCI\VEN_10b7&DEV_9058="3COM\W9X90XBC"
PCI\VEN_10b7&DEV_905A="3COM\W9X90XBC"
PCI\VEN_10b7&DEV_9200="3COM\W9X90XBC"
PCI\VEN_10b7&DEV_9201="3COM\W9X90XBC"
PCI\VEN_10b7&DEV_9202="3COM\W9X90XBC"
PCI\VEN_1317&DEV_0985="ADMTEK\AN983"

[ 本帖最后由 zhaohj 于 2010-6-16 14:42 编辑 ]

Snap1.jpg (58.17 KB, 下载次数: 150)

net原目录结构

net原目录结构

Snap2.jpg (80.01 KB, 下载次数: 173)

需要生成的文件

需要生成的文件

get_id.rar

3.71 KB, 下载次数: 127, 下载积分: 无忧币 -2

python源程序


作者: zhaohj    时间: 2010-6-16 17:02
再支持一下,不知不点更新以后怎么同步?
作者: wsj    时间: 2010-6-16 17:20
又有个好工具,这下在MBR上可就方法多了去了
作者: 天涯海角1216    时间: 2010-6-16 17:43
标题: 回复 #6 zhaohj 的帖子
如果菜单前代码都一样,就用寻找代码的方式确定菜单位置,而不是绝对偏移,可能好些吧
作者: 快雪时晴    时间: 2010-6-16 17:58
标题: 回复 #5 zhaohj 的帖子
Python用来处理字符串那不是最适合不过了?
作者: tdq868xin    时间: 2010-6-16 22:57
用这个就方便多了,免得自己去手动搞,谢谢分享。
菜单编辑很实用。
作者: zhaohj    时间: 2010-6-17 00:14
原帖由 快雪时晴 于 2010-6-16 17:58 发表
Python用来处理字符串那不是最适合不过了?


但推广有难度,本人自己使用倒很方便的。
原本的程序中还有一个不足,对NIC类型的驱动无法支持。

Python对RIS远程安装操作系统提供网卡驱动支持配合的很好。
作者: yyhoungeo    时间: 2010-6-17 01:48
太方便了,不用自己手动搞,谢谢分享。
作者: jxzhzcf    时间: 2010-6-17 07:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: jianliulin    时间: 2010-6-17 08:07
原帖由 jxzhzcf 于 2010-6-17 07:50 发表
测试成功。请教楼主:这个工具会修改DBR吗?如果是,C盘的DBR被移到哪去了,恢复时能还原吗?


不修改dbr、分区表、磁盘签名
作者: jxzhzcf    时间: 2010-6-17 08:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: LOVPE    时间: 2010-6-17 10:54
下载了,没敢用。

这个工具是不是将 微型GRLDR 写入到磁盘(或优盘)的前63扇区之内?
作者: jianliulin    时间: 2010-6-17 11:06
原帖由 jxzhzcf 于 2010-6-17 08:14 发表
我刚才试用了一下,62扇区的内容被清零了,不知道什么原因。不过能正常启动grub和系统。


点恢复按钮式会清空62扇区的内容的,有什么问题吗?
作者: xianglang    时间: 2010-6-17 11:12
先下载收藏,有空再试……
作者: jxzhzcf    时间: 2010-6-17 11:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: 135956    时间: 2010-6-17 12:36
好东西。收藏用。;;
作者: yjd    时间: 2010-6-17 13:53
点恢复按钮式会清空62扇区的内容的,有什么问题吗?

恢复不好理解呀,或者鼠标移动过去给出提示说明^_^
作者: jxdeng    时间: 2010-6-19 20:36
非常地好!测试过了。完美。  不知LZ能否对63S-GRUB 也写个类似的东西?
作者: k71g    时间: 2010-6-20 00:09
又是一个新东西,好东西,马上测试
作者: k71g    时间: 2010-6-20 00:11
选择哪个硬盘呢?

硬盘.jpg (26.69 KB, 下载次数: 147)

硬盘.jpg

作者: zhaohj    时间: 2010-6-20 10:43
现在的版本更新可能频繁,63S的mini-grldr已经改成wee63.mbr了,要考验你的程序的通用性如何。
作者: 天涯海角1216    时间: 2010-6-20 11:49
好像不能支持新版(6月20日)菜单编辑,jianliulin 不是根据菜单12字节前的 B0 02 1A CE 来确定菜单位置吗?
作者: sensual6891    时间: 2010-6-21 08:59
强!这么多天没时间上来~看来又出新的东西了,先顶一个再下。不过不知道怎么用,还要实验一下。谢谢
作者: jianliulin    时间: 2010-6-21 09:36
原帖由 天涯海角1216 于 2010-6-20 11:49 发表
好像不能支持新版(6月20日)菜单编辑,jianliulin 不是根据菜单12字节前的 B0 02 1A CE 来确定菜单位置吗?


原来只有安装,没有编辑菜单功能,现补上,请测试
作者: zhaohj    时间: 2010-6-21 09:42
嗯,这样好多了。偏移0x46C的四字节(目前是00f70000)即0000:F700
0xF700 - 0x7E00 =0x7900
菜单位置:0x7900+0x10=0x7910
作者: bao423    时间: 2010-6-21 10:41
是不是不可以安装到本地硬盘?具体是如何使用的,可以说明一下吗?
作者: 不点    时间: 2010-6-21 11:22
发现几个问题:

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

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

find --set-root /grldr
/grldr

被截短为

find --set-root /grldr
/gr

因此无法正常使用。

提醒别忘了在用户菜单之后添加一个 00 字节,表示菜单结束。这样更安全。
作者: jianliulin    时间: 2010-6-21 11:25
原帖由 不点 于 2010-6-21 11:22 发表
发现几个问题:

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

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

find --set-root /grldr
/grldr

被截短为
...


感谢不点大师亲自测试反馈,我现在外面回去后立刻检查,目前程序会自动在菜单最后补上0x00的
作者: 不点    时间: 2010-6-21 12:18
还有问题需要注意:

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 编辑 ]
作者: lsp19880301    时间: 2010-6-21 15:10
不知这个工具有什么用。有没有详细介绍呢?
作者: 快雪时晴    时间: 2010-6-21 20:37
不点做事很细,看过之后感觉目前还是手动比较好,也帮助理解一下mbr结构
作者: ziyun    时间: 2010-6-21 20:41
顶一个,谢谢分享,学习了!
作者: 0cat0    时间: 2010-6-22 00:01
jianliulin 大大,什么时候能更新一下你的BCDTOOL,因为在那贴子里面跟贴说了,可能你没看到,所以在这里再反馈一下,BCDTOOL在XP下打开过的BCD无法再使用,即使关了BCDTOOL也不能再打开BCD文件。。。。。。
作者: jianliulin    时间: 2010-6-22 12:02
原帖由 0cat0 于 2010-6-22 00:01 发表
jianliulin 大大,什么时候能更新一下你的BCDTOOL,因为在那贴子里面跟贴说了,可能你没看到,所以在这里再反馈一下,BCDTOOL在XP下打开过的BCD无法再使用,即使关了BCDTOOL也不能再打开BCD文件。。。。。。


可能是挂上注册表,后没有卸下来,bcd被锁住了
作者: bao423    时间: 2010-6-22 14:13
楼主,你的WEE63赶紧更新一下吧,安装到硬盘老是出错,安装到u盘还行!
作者: jianliulin    时间: 2010-6-22 14:43
原帖由 bao423 于 2010-6-22 14:13 发表
楼主,你的WEE63赶紧更新一下吧,安装到硬盘老是出错,安装到u盘还行!


真的不好意思,我出差还没有回去!! ,能把错误反馈详细一点吗?
作者: bao423    时间: 2010-7-11 11:33
标题: 回复 #40 jianliulin 的帖子
楼主,出差回来了没有?我们在一直等着你更新WEE63安装工具呢!
作者: jianliulin    时间: 2010-7-12 08:06
原帖由 bao423 于 2010-7-11 11:33 发表
楼主,出差回来了没有?我们在一直等着你更新WEE63安装工具呢!


在这1~2周内Pauly大师将会吧63S-grub ,wee 一起整合到BOOTICE.EXE 中,请大家耐心等待.....
作者: 不点    时间: 2010-7-12 08:15
bootice 很好,我很早都在用。你的 wee 安装工具也不错,我也在用。无论如何,希望能有一个可用的安装 wee 的程序。
作者: bao423    时间: 2010-10-1 08:51
楼主,赶紧更新一下吧,P大是不能指望了!
作者: edu9811    时间: 2010-10-1 09:29
不太懂得他的用法,还好不错
作者: lsqyqz    时间: 2010-10-1 21:51
安装之后,检查不到是否已经安装;“恢复” 和 “保存菜单” 按钮都是灰色的,也不能点击。
更为严重的是:无法进入硬盘系统。
作者: 不点    时间: 2010-10-3 10:03
在 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 改名以后再使用,就比较有把握了。
作者: roytam1    时间: 2010-12-21 12:54
頂一下。
在2TB硬盤可安裝但wee63.exe判斷該硬碟未安裝wee,并無法修改此2TB硬盤中的wee菜單。

[ 本帖最后由 2010roytam1 于 2010-12-21 14:40 编辑 ]
作者: chenall    时间: 2011-1-26 18:34
原帖由 不点 于 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程序。
作者: yuan-0918    时间: 2011-9-25 01:05
请问这个被BOOTICE取代了吗
作者: yuan-0918    时间: 2012-1-20 14:37
一年过去了,想不到这帖最后的回复是自己,汗
作者: xyl5565    时间: 2012-1-21 14:40
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3