无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 63901|回复: 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 编辑 ]
2#
发表于 2010-2-4 10:28:00 | 只看该作者
值得期待,还不知道具体有啥用途。
回复

使用道具 举报

3#
发表于 2010-2-4 10:33:21 | 只看该作者
我能想到的用途就是不怕格式化和重新分区

其实我觉得可以考虑另外一个方案

相当于 扩大 grldr.mbr 到63或者62个扇区,将grldr的部分功能,也就是mbrgrub要实现的功能提出来

剩下的继续以一个文件存在,如果要避免跟原来的 grldr混淆,可以换个名字

这样,分区,重新格式化,mbr也还在,还能启动

而当该文件存在时,功能也没有比原来的grldr有任何减少

[ 本帖最后由 NicTense 于 2010-2-4 10:36 编辑 ]
回复

使用道具 举报

4#
 楼主| 发表于 2010-2-4 10:35:49 | 只看该作者
可以看作一个增强版的 grldr.mbr。比如说,目前 grldr.mbr 不支持访问子目录,grldr 必须放在分区根目录,才能被引导。而 MBR-GRUB 不会有这个问题。
回复

使用道具 举报

5#
 楼主| 发表于 2010-2-4 10:40:03 | 只看该作者
也就是说,grldr 可以放在任意的文件夹中,也可以用任意文件名。


3楼同学说的也不错。
原帖由 NicTense 于 2010-2-4 10:33 发表
我能想到的用途就是不怕格式化和重新分区

grldr.mbr 如果搜索不到 grldr ,就只能停在那里,没有后招。

而 mbr-grub 则可以进入命令行,通过手动输入命令 ( 如 ntldr (hd0,0)/bootmgr 之类),来启动其他引导器。

[ 本帖最后由 PTPTPTPTPTPT 于 2010-2-4 10:47 编辑 ]
回复

使用道具 举报

6#
 楼主| 发表于 2010-2-4 10:45:53 | 只看该作者
原帖由 NicTense 于 2010-2-4 10:33 发表
其实我觉得可以考虑另外一个方案

相当于 扩大 grldr.mbr 到63或者62个扇区,将grldr的部分功能,也就是mbrgrub要实现的功能提出来

剩下的继续以一个文件存在,如果要避免跟原来的 grldr混淆,可以换个名字

这样,分区,重新格式化,mbr也还在,还能启动

而当该文件存在时,功能也没有比原来的grldr有任何减少


基本上就是这样设想的。当然1楼贴出的 pre-stage2 还未完全实现。还需要时间  : )
回复

使用道具 举报

7#
发表于 2010-2-4 10:46:51 | 只看该作者
期待这个东西的成熟稳定
回复

使用道具 举报

8#
发表于 2010-2-4 11:14:50 | 只看该作者
63个扇区,把最后1个或者2个用来备份怎么样,其中一个留给nt或者其他单扇区的引导系统,即grub本来就有的mbr双重启动

还有一个留给0扇区备份
回复

使用道具 举报

9#
 楼主| 发表于 2010-2-4 12:25:05 | 只看该作者
原帖由 NicTense 于 2010-2-4 11:14 发表
63个扇区,把最后1个或者2个用来备份怎么样,其中一个留给nt或者其他单扇区的引导系统,即grub本来就有的mbr双重启动

还有一个留给0扇区备份


恩,可以,不过这些都是后话了。目前在作 ntldr 命令,正在看 grub4dos 中的相关代码,有点晕

ntldr 做好后,功能上就差不多了。以后再逐步添加引导 syslinux、io.sys 的功能。

还需要一个安装程序。其中要包括一个装在0扇区的引导扇区,用来加载将嵌在0磁道的 pre_stage2。这些都还没有眉目,希望 pauly 能帮帮忙 :)
回复

使用道具 举报

10#
发表于 2010-2-4 12:34:00 | 只看该作者

回复 #9 PTPTPTPTPTPT 的帖子

安装程序貌似就是一个写入数据的过程吧,相当于dd做的事情,0扇区446个字节,加最后2个字节
再写入剩下的62个扇区的数据
1扇区建议不用,留给第2引导程序
mbrgrub从2扇区开始,直到61扇区,共60个
最后一个62扇区,用来备份0扇区

呵呵,pauly应该稍微修改一下,就能增加这个引导,不过目前要加耶只能加为 bootice_test
回复

使用道具 举报

11#
发表于 2010-2-4 15:11:13 | 只看该作者
心里早就盼着有这么一个工具,原来做好的盘,一重新分区、格式化就都不行了,有了楼主这个东东,安全得多,期待早日见到成熟产品
回复

使用道具 举报

12#
发表于 2010-2-5 21:32:33 | 只看该作者
没有启动菜单,如果要选择多重启动的话只有自己知道还要在规定时间内按下默认键??是不是有点考人呢?
回复

使用道具 举报

13#
 楼主| 发表于 2010-2-8 14:42:23 | 只看该作者
2010.2.8更新
增加 ntldr 命令,可用来引导 ntldr 、peldr(setupldr.bin)、bootmgr 、grldr。
回复

使用道具 举报

14#
 楼主| 发表于 2010-2-25 10:54:59 | 只看该作者
今日更新:
增加倒计时和默认启动项相关功能,详见1楼。

第二次更新:
又考虑了下,觉得用“硬盘第63扇区”来保存配置 不太妥当。决定拿出来与 pre_stage2 合体为 63s-grub —— 这样相当于把“配置文件”内置了,修改 63s-grub 也比修改硬盘扇区更稳妥一些。
另,决定正式命名为 63S-GRUB,意为“ 63扇区的 GRUB ” 。

[ 本帖最后由 PTPTPTPTPTPT 于 2010-2-25 20:19 编辑 ]
回复

使用道具 举报

15#
发表于 2010-2-27 09:50:54 | 只看该作者
很期待这个作品早日成熟完善!!!楼主辛苦了!
回复

使用道具 举报

16#
 楼主| 发表于 2010-2-27 23:10:49 | 只看该作者
谢谢楼上支持 :)

刚刚上传了增加了菜单系统的新版本,见1楼。
回复

使用道具 举报

17#
发表于 2010-2-28 10:49:58 | 只看该作者
热切等待楼主开发写进0磁道的软件。我看好这软件好用
回复

使用道具 举报

18#
 楼主| 发表于 2010-2-28 10:55:24 | 只看该作者
2010-10-28
新版本已上传,见一楼。

今天这个应该比较完善了,修正了 ntldr 的 bug,改进了菜单系统,欢迎大家测试
回复

使用道具 举报

19#
发表于 2010-2-28 14:16:59 | 只看该作者
怎样把这工具写进磁盘0道?这个是很重要
回复

使用道具 举报

20#
 楼主| 发表于 2010-2-28 14:26:02 | 只看该作者
原帖由 diwu2005 于 2010-2-28 14:16 发表
怎样把这工具写进磁盘0道?这个是很重要


这个不难,在 linux 下用 dd 命令就可以了。windows 下也可以用 dd ,或其它扇区写入工具。
等 mbr 引导扇区做好后,再一并放出

[ 本帖最后由 PTPTPTPTPTPT 于 2010-2-28 14:27 编辑 ]
回复

使用道具 举报

21#
发表于 2010-3-1 18:23:00 | 只看该作者
这个和‘不点’说的要实现的微核grub是不是一个东西?
回复

使用道具 举报

22#
发表于 2010-3-1 18:41:59 | 只看该作者
占楼观看,不过不是很懂,下载个来研究下。
回复

使用道具 举报

23#
发表于 2010-3-1 19:50:52 | 只看该作者
原帖由 PTPTPTPTPTPT 于 2010-2-28 14:26 发表


这个不难,在 linux 下用 dd 命令就可以了。windows 下也可以用 dd ,或其它扇区写入工具。
等 mbr 引导扇区做好后,再一并放出

不会写进零磁道啊。先放出个写入磁道的软件先吧。等式不急想用了
回复

使用道具 举报

24#
 楼主| 发表于 2010-3-1 20:36:33 | 只看该作者
呵呵呵呵 ,莫急,正在搞0扇区 —— 没有引导扇区,写进 0磁道也没用啊
回复

使用道具 举报

25#
 楼主| 发表于 2010-3-1 20:37:41 | 只看该作者
原帖由 快雪时晴 于 2010-3-1 18:23 发表
这个和‘不点’说的要实现的微核grub是不是一个东西?


相似,不完全一样。

这里有讨论: http://bbs.znpc.net/viewthread.php?tid=5838&extra=page%3D1
回复

使用道具 举报

26#
发表于 2010-3-2 00:16:45 | 只看该作者
原帖由 PTPTPTPTPTPT 于 2010-3-1 20:36 发表
呵呵呵呵 ,莫急,正在搞0扇区 —— 没有引导扇区,写进 0磁道也没用啊

哎哟早点看到就好了。我写进了零磁道 差点完了我的硬盘。 费了九牛二虎之力才弄好了。期待楼主早日完成
回复

使用道具 举报

27#
发表于 2010-3-2 08:59:52 | 只看该作者
希望早日放出安装和配置程序!辛苦了!
回复

使用道具 举报

28#
 楼主| 发表于 2010-3-3 18:48:32 | 只看该作者

2010.03.03更新

有引导扇区了!详见1楼。
回复

使用道具 举报

29#
发表于 2010-3-4 09:01:29 | 只看该作者
原帖由 PTPTPTPTPTPT 于 2010-3-3 18:48 发表
有引导扇区了!详见1楼。

已成功写进引导区。有待完善。编辑菜单。不好弄。  我用分区软件PM 改写了  在C区容易将GRLDR 删除。我改了其他分区了。 但也只能是在根目录下。能否改路径保存在文件夹里的呢。放在文件夹里可以设置不能随便删除这样会好很多。
回复

使用道具 举报

30#
 楼主| 发表于 2010-3-4 09:05:59 | 只看该作者
原帖由 gzdiky 于 2010-3-4 09:01 发表
在C区容易将GRLDR 删除。我改了其他分区了。 但也只能是在根目录下。能否改路径保存在文件夹里的呢。放在文件夹里可以设置不能随便 ...


可以放在文件夹里。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-16 11:34

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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