无忧启动论坛

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

63S-GRUB:63个扇区的GRUB(可嵌入0磁道)【2010.06.18】

[复制链接]
跳转到指定楼层
1#
发表于 2010-2-4 09:12:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
2010.06.18 新版出炉,版本号升至 2.0

63s-grub-v2.0-beta1.zip (19.15 KB, 下载次数: 326)

增加 ext2fs 支持;
删去 map 命令;
新增 loadgrub 命令,可加载 grub1 的 stage2 和 grub2 的 core.img,尚不稳定,请大家多多测试;
改进了菜单系统,最多可有20个启动项;
菜单扇区格式发生了变化,如下:
    *  前 496 字节用于存放启动项,最多可容纳20个;
    *  启动项位置不再固定;
    *  两个启动项之间用2个或2个以上的空字节("00")隔开;
    *  一个启动项内的多条语句用一个空字节("00")间隔,第一条语句为标题;
    *  最后16字节的前4个字节,以二进制码的形式存放四个整数(倒计时、默认启动项、头尾颜色、菜单颜色);后面的字节保留备用。

2010.06.21
Pauly 大侠的为 63S-GRUB 编写的安装配置程序已经升级,支持新版,见 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=160886  
多谢
Pauly ~~


----------------------------------------------------------------------------------------------

63S-GRUB 是一个极度精简的 GRUB。精简的目的是将体积控制在 32256 字节(63个扇区)之内,从而可以装入硬盘0磁道,不受重新分区和格式化的影响。受限于体积,其功能比原版 GNU GRUB 大大缩水,严格来讲,已经算不上引导器,只能算是“引导器的引导器”。它的使命就是加载其它 boot loader ,再在新的 loader 中做你想做的事。

原 GRUB 代码取自 UBUNTU 9.04 ,主要改动如下:

1、底层函数基本未动;
2、功能部分进行了大幅删减,gzip 支持、网络启动、图形模式等均被去除;
3、保留了命令行(包括“自动补全”特性);
4、重新实现了一个简单的菜单系统;
5、原有命令大部分被去除,仅保留 root、rootnoverify、chainloader、boot、find;
6、新增 ntldr 命令,用来引导 ntldr/peldr/bootmgr/grldr

7、新增 loadgrub 命令,可加载 grub1 的 stage2 和 grub2 的 core.img;
8、默认支持 fat、ntfs、ext2/3/4 文件系统(还有 reiserfs 可选)。


其中,ntldr 命令和 ntfs 文件系统代码取自 GRUB4DOS 。

项目主页:http://code.google.com/p/63s-grub/
在线浏览源码:http://code.google.com/p/63s-grub/source/browse/

下载源码:svn checkout http://63s-grub.googlecode.com/svn/trunk/ 63s-grub


下载地址:http://code.google.com/p/63s-grub/downloads/list




安装方法

For Windows:
伟大的 pauly 提供了一个安装配置程序,在这里: http://bbs.wuyou.net/forum.php?mod=viewthread&tid=160886



For Linux:(以下操作有危险性,请务必谨慎!出现任何后果本人不负责。

第一步:把staeg2 写入 2~63 扇区
  1. sudo dd if=./stage2 of=/dev/sda seek=1
复制代码
如果不想覆盖硬盘第二扇区已有的配置文件,可以这样
  1. sudo dd if=./stage2 of=/dev/sda seek=2 skip=1
复制代码
staeg2 是程序主体。

第二步:把 stage1 写入 1 扇区 —— 也就是MBR扇区。
  1. sudo dd if=./stage1 of=/dev/sda bs=1 count=440
复制代码
stage1 负责加载 stage2。



试用方法

如果不想立刻安装到硬盘,想先体验一下,可用 grub4dos 加载:
  1. chainloader --force --load-segment=0 --load-offset=0x8000 --boot-cs=0 --boot-ip=0x8200 (hd0,0)/63s-grub/stage2
复制代码
可以只把 stage2 安装到硬盘,用 boot.ini 加载 stage1,也能进入 63s-grub :
  1. C:\63s-grub\stage1="63S-GRUB"
复制代码

[ 本帖最后由 PTPTPTPTPTPT 于 2010-6-22 09:44 编辑 ]
175#
发表于 2010-12-15 16:41:50 | 只看该作者
这东西好用吗????????
回复

使用道具 举报

174#
发表于 2010-10-25 09:22:02 | 只看该作者
早就想来学习啊,谢谢你
回复

使用道具 举报

173#
发表于 2010-10-25 09:00:01 | 只看该作者
谢谢楼主!麻烦你了!!!!
回复

使用道具 举报

172#
 楼主| 发表于 2010-10-23 23:19:07 | 只看该作者
哦。。这个确实很难讲,只能试试再说。目前比较忙,等过一阵子有时间了再琢磨。
回复

使用道具 举报

171#
发表于 2010-10-23 11:28:19 | 只看该作者
原帖由 PTPTPTPTPTPT 于 2010-10-23 10:38 发表
你想用 || 来实现什么功能呢?



我的意思就是和grub4dos菜单里 || 的用法一样的功能!

|| 这个前面的命令失败就执行 || 后面的命令, 前面的命令成功直接跳过不执行后面的命令。

比如:
find --set-root /a/PE.ISO || find --set-root /b/PE.ISO
map --mem /a/PE.ISO (0xff) || map --mem /b/PE.ISO (0xff)

毕竟空间有限,不知道可以实现吗?

[ 本帖最后由 thttht 于 2010-10-23 11:30 编辑 ]
回复

使用道具 举报

170#
 楼主| 发表于 2010-10-23 10:38:13 | 只看该作者
你想用 || 来实现什么功能呢?
回复

使用道具 举报

169#
发表于 2010-10-22 12:44:55 | 只看该作者
原帖由 PTPTPTPTPTPT 于 2010-9-25 14:30 发表


呵呵 ,多谢支持~~

很久没升级主要是因为没发现 bug,能做的无非是把 beta 改成 正式   :)




请教这个可以加入对 || 支持的使用吗?
回复

使用道具 举报

168#
 楼主| 发表于 2010-9-25 14:30:52 | 只看该作者
原帖由 thttht 于 2010-9-25 08:49 发表
我一直在用这个,是很不错的,不过现在很长时间没有升级了!


呵呵 ,多谢支持~~

很久没升级主要是因为没发现 bug,能做的无非是把 beta 改成 正式   :)
回复

使用道具 举报

167#
 楼主| 发表于 2010-9-25 14:27:26 | 只看该作者
原帖由 2010wbhqf 于 2010-9-25 00:16 发表
好工具,楼主测试过没有?我下来用不会出什么问题吧,那就悲剧了。


我自己一直在用,还行。用 pauly 做的图形化工具安装很安全,配置也很方便。
回复

使用道具 举报

166#
发表于 2010-9-25 08:49:37 | 只看该作者
我一直在用这个,是很不错的,不过现在很长时间没有升级了!
回复

使用道具 举报

165#
发表于 2010-9-25 00:16:06 | 只看该作者
好工具,楼主测试过没有?我下来用不会出什么问题吧,那就悲剧了。
回复

使用道具 举报

164#
 楼主| 发表于 2010-9-24 15:45:46 | 只看该作者
被遗忘了,自己顶下  :)
回复

使用道具 举报

163#
发表于 2010-6-25 17:11:37 | 只看该作者
post # 162 PTPTPTPTPTPT

i use google translate to read english .
thank you for the reply .
回复

使用道具 举报

162#
 楼主| 发表于 2010-6-25 16:10:50 | 只看该作者

回复 #161 maanu 的帖子

can you read Chinese ?  

63S-GRUB is a modified grub legacy. The original source code is taken from UBUNTU 9.04 .

the benefit is: can be totally embedded into the first track of a hard disk.
回复

使用道具 举报

161#
发表于 2010-6-25 15:44:16 | 只看该作者
i dont understand it . is 63S-GRUB:63 , a modified grub4dos or modified Grub2 ?

what is the difference and what are the benefits of using this version ?

Regards,
Maanu from Pakistan
回复

使用道具 举报

160#
发表于 2010-6-22 20:05:11 | 只看该作者
试用一下,看一下GHOST会不会影响,谢谢Pauly 。
回复

使用道具 举报

159#
 楼主| 发表于 2010-6-22 18:41:46 | 只看该作者
原帖由 yichya 于 2010-6-22 18:07 发表
菜单项目不很清楚怎么搞啊.
是不是这个意思:
[00]表示hex(00)


os1[00]root (hd0,0)[00]chainloader xx[00]....[00]os2[00]root...[01020304.....]



对对,就是这个意思 :)

现在可以用 Pauly 写 安装配置程序(http://bbs.wuyou.net/forum.php?m ... ;tid=160886&extra=page%3D1&page=1)来编辑菜单,而不必再用16进制编辑器手动修改
回复

使用道具 举报

158#
发表于 2010-6-22 18:27:38 | 只看该作者
不得不说,新菜单比老的好看多了.
回复

使用道具 举报

157#
发表于 2010-6-22 18:13:50 | 只看该作者

回复 #156 天涯海角1216 的帖子

可这是为什么?

不理解,先用去了.
回复

使用道具 举报

156#
发表于 2010-6-22 18:07:16 | 只看该作者
菜单项目不很清楚怎么搞啊.
是不是这个意思:
[00]表示hex(00)


  1. os1[00]root (hd0,0)[00]chainloader xx[00]....[00]os2[00]root...[01020304.....]
复制代码
回复

使用道具 举报

155#
发表于 2010-6-22 18:04:55 | 只看该作者

回复 #155 yichya 的帖子

我们知道,在fbinst制作的U盘启动时,采取复制bpb到MBR的方式可以增强U盘启动的成功率的,
回复

使用道具 举报

154#
发表于 2010-6-22 17:57:35 | 只看该作者

回复 #145 天涯海角1216 的帖子

这个地方好像只是OEM信息啥的吧,留下有何用?
回复

使用道具 举报

153#
 楼主| 发表于 2010-6-20 22:47:09 | 只看该作者
1,我想可能是因为此 grub 对分区检查较为严格。印象中你那个分区貌似不太规范。以我目前的水平,还不敢染指这种底层代码。建议你不妨把那个分区重新格式化一下,或更改一下分区 ID 。

2,这个正常,原版 gnu grub 本就没有“绝对扇区启动”功能。此功能是 grub4dos 中增加的。我会尝试看一下 g4d 的代码,看能否加进来。
回复

使用道具 举报

152#
发表于 2010-6-20 22:24:59 | 只看该作者
看样子取自 UBUNTU 9.04 的这些代码还是有些小问题存在!
回复

使用道具 举报

151#
发表于 2010-6-20 22:19:04 | 只看该作者

回复 #150 PTPTPTPTPTPT 的帖子

谢谢大师!

只是有个问题:
1.我以前提起过的,对分区ID为12的分区内PE启动失败?
2.形如:chainloader (hd0)123456+88  绝对扇区启动失败?
现在的GRUB已经有了这样的功能了,比如分区表损坏无法进入系统或PE,可以用此63S-GRUB加载存放在硬盘剩余扇区的PLOP.BIN(位置在123456扇区,大小占用88个扇区,用    chainloader (hd0)123456+88   )或启动本地硬盘上功能完善的GRLDR启动U盘(老电脑BISO中无USB选项)进行恢复分区表和系统了........

谢谢!
回复

使用道具 举报

150#
 楼主| 发表于 2010-6-20 21:56:59 | 只看该作者

回复 #149 天涯海角1216 的帖子

好的,下个版本修改   : )
回复

使用道具 举报

149#
发表于 2010-6-18 19:01:34 | 只看该作者
BPB最大也就是从偏移0X0B到偏移0X59止,最多79个字节。



[ 本帖最后由 天涯海角1216 于 2010-6-18 23:25 编辑 ]
回复

使用道具 举报

148#
 楼主| 发表于 2010-6-18 18:56:09 | 只看该作者

回复 #147 天涯海角1216 的帖子

我是想问你,BPB 要复制到什么位置,占用多少字节

只把跳转指令挪走,也不一定会腾出足够的空间阿

[ 本帖最后由 PTPTPTPTPTPT 于 2010-6-18 18:59 编辑 ]
回复

使用道具 举报

147#
发表于 2010-6-18 18:54:23 | 只看该作者
是这个意思!
就移动到偏移 0X60 以后就全部格式的BPB都支持了!

类似FBINST的主引导代码中留的BPB位置!

谢谢!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-29 20:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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