无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: PTPTPTPTPTPT
打印 上一主题 下一主题

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

[复制链接]
91#
发表于 2010-3-9 14:15:46 | 只看该作者
原帖由 天涯海角1216 于 2010-3-9 09:23 发表

现在的GRUB已经有了这样的功能了,比如分区表损坏无法进入系统或PE,可以用此63S-GRUB加载存放在硬盘剩余扇区的PLOP.BIN(位置在123456扇区,大小占用88个扇区,用    chainloader (hd0)123456+88   )或启动本地硬 ...


也就是所谓的 块列表 表示法
回复

使用道具 举报

92#
 楼主| 发表于 2010-3-9 15:09:38 | 只看该作者

2010.03.09

上传了一个测试版,更新如下:

1. 加入 map 命令;
2. 调整命令行和 boot 执行后 字符的颜色;
3. checkkey() 和 getkey() 中加入 hlt 指令,以降低cpu使用率。

这次加入的 map 命令不是 grub4dos 的 map ,而只是 gnu grub 原带的、最基本的磁盘映射功能,只能用来交换硬盘序号,比如 hd0 和 hd1 互换。
回复

使用道具 举报

93#
 楼主| 发表于 2010-3-10 14:32:54 | 只看该作者

2010.03.10

放出 1.0 版和源码,祝大家玩的开心 :)

[ 本帖最后由 PTPTPTPTPTPT 于 2010-3-10 14:34 编辑 ]
回复

使用道具 举报

94#
发表于 2010-3-11 12:57:02 | 只看该作者
xxxxxxxxxxxxxxxx

[ 本帖最后由 gzdiky 于 2010-3-12 20:37 编辑 ]
回复

使用道具 举报

95#
 楼主| 发表于 2010-3-11 13:59:02 | 只看该作者
原帖由 gzdiky 于 2010-3-11 12:57 发表
我发现重装GHOST 系统也有时候会启动不了。连菜单都没了。太不稳定了。不敢用了。


“重装GHOST 系统”指的是用 ghost 恢复系统??恢复到分区还是整个硬盘?

启动不了的具体表现是什么??
回复

使用道具 举报

96#
发表于 2010-3-12 01:35:32 | 只看该作者
xxxxxxxxxxxxxxxxx

[ 本帖最后由 gzdiky 于 2010-3-12 20:36 编辑 ]
回复

使用道具 举报

97#
 楼主| 发表于 2010-3-12 09:12:49 | 只看该作者
可否贴一下你的硬盘分区信息?最好用 diskgen 抓图。

我昨天亲自试了下,用 win32 版的 ghost 11.5 恢复xp系统到C盘,没有损坏 63s-grub 的引导啊。

你恢复的系统是不是 vista 或 win7 ?

顺便请教各位达人, ghost 恢复分区时会往0磁道写东西吗??
回复

使用道具 举报

98#
发表于 2010-3-12 09:45:26 | 只看该作者
ghost恢复应该是不往0磁道写入东西的吧,包括分区表都是不动的。至于前63扇区我想也是不动的吧
回复

使用道具 举报

99#
发表于 2010-3-12 10:01:36 | 只看该作者

回复 #98 freesoft00 的帖子

GHOST 会修改分区 ID,如果 ID 不相符的话,但也不至于影响启动吧
回复

使用道具 举报

100#
发表于 2010-3-12 12:11:06 | 只看该作者
map (hd0) (hd1)
map (hd1) (hd0)
启动 hd1 上的系统失败。
回复

使用道具 举报

101#
 楼主| 发表于 2010-3-12 12:39:07 | 只看该作者
原帖由 zjq20032006 于 2010-3-12 12:11 发表
map (hd0) (hd1)
map (hd1) (hd0)
启动 hd1 上的系统失败。


呵呵,还真有人遇到了。我昨天也刚刚发现,正在查找原因。
  1. 某些时候,用 63s-grub
  2. map (hd0) (hd1)
  3. map (hd1) (hd0)
  4. 之后,去启动 hd1 上的系统,会失败。

  5. 此时 map 操作其实已经成功,在 grub 里面可以看到,hd1 和 hd0 已经交换了,然而,chainloader +1
  6. 某些分区,却无法启动。
  7. 用 ubuntu 原版的 grub ,也有同样的问题。

  8. 然而在同样的条件下,用 grub4dos  map,或用 xorldr “从下一设备启动” ,都能启动成功。

  9. 看来这个问题源自 ubuntu 9.04 的 grub 。

  10. 这个过程中用到了 set_int13_handler (bios_drive_map) 。不知是由于 grub4dos
  11. 改进了set_int13_handler(),还是其他某些原因??
复制代码
现在的 map 代码完全取自 ubuntu 9.04 grub ,感觉好像 map 得不够彻底。但也不知道到底缺了什么。

zjq20032006 你的 hd1 分区情况如何?其中装的什么系统,什么引导器??最好用 diskgen 抓个图。

另外,还可以试试在
map (hd0) (hd1)
map (hd1) (hd0)
之后,加上一句 root (hd1,x) —— x是要启动的分区
然后再 chainloader (hd1,x)+1,或者直接 ntldr 其中的 ntldr/bootmgr ,看看结果如何??

我这里把(hd1)装上 nt5 的 mbr ,(hd1,0)装上xp,是可以启动的。

[ 本帖最后由 PTPTPTPTPTPT 于 2010-3-12 12:45 编辑 ]
回复

使用道具 举报

102#
发表于 2010-3-12 19:49:29 | 只看该作者
HD0用Pauly大63sgrub_inst.exe安装的
菜单没动,我看了一下后面有 root ....等

我的HD1是WD160G
MBR用的是XORLDR
回复

使用道具 举报

103#
 楼主| 发表于 2010-3-12 20:29:55 | 只看该作者
系统呢??win7?vista ?装在 (hd1,0) 吗?

(hd1,0) 的起始扇区是 0-1-1 还是 0-32-33 ?

启动失败的具体表现是什么?

[ 本帖最后由 PTPTPTPTPTPT 于 2010-3-12 20:31 编辑 ]
回复

使用道具 举报

104#
发表于 2010-3-12 22:55:30 | 只看该作者
1 winxp

2 (hd1,0)起始扇区 这个不知道怎么看

3 启动失败的具体表现
英文意思是:请按任意键继续

按了之后又返回63sgrub
回复

使用道具 举报

105#
 楼主| 发表于 2010-3-13 00:22:11 | 只看该作者
除了 请按任意键继续 ,还有其它提示信息吗??
回复

使用道具 举报

106#
发表于 2010-3-13 01:33:05 | 只看该作者
这个程序希望更新下去
小程序帮大忙
回复

使用道具 举报

107#
发表于 2010-3-13 12:28:28 | 只看该作者
原帖由 PTPTPTPTPTPT 于 2010-3-13 00:22 发表
除了 请按任意键继续 ,还有其它提示信息吗??

黑了一下,应该没有
回复

使用道具 举报

108#
发表于 2010-3-13 12:29:48 | 只看该作者
我再试试看吧                                .
回复

使用道具 举报

109#
发表于 2010-3-14 16:11:39 | 只看该作者
请教,源码怎么下载?没搞懂下载方式。
回复

使用道具 举报

110#
 楼主| 发表于 2010-3-15 00:04:07 | 只看该作者
原帖由 wenliangyu 于 2010-3-14 16:11 发表
请教,源码怎么下载?没搞懂下载方式。


安装 svn 客户端后,运行下面的命令就会自动下载
  1. svn checkout http://63s-grub.googlecode.com/svn/trunk/ 63s-grub
复制代码
回复

使用道具 举报

111#
 楼主| 发表于 2010-3-15 20:01:26 | 只看该作者
原帖由 zlgs 于 2010-3-13 01:33 发表
这个程序希望更新下去
小程序帮大忙


谢谢鼓励,我会尽力的 :)
回复

使用道具 举报

112#
发表于 2010-3-15 20:46:36 | 只看该作者
若要用它启动USB-HDD应该怎么改?
回复

使用道具 举报

113#
 楼主| 发表于 2010-3-15 21:06:29 | 只看该作者
原帖由 tercel0624 于 2010-3-15 20:46 发表
若要用它启动USB-HDD应该怎么改?


什么意思??
回复

使用道具 举报

114#
发表于 2010-3-15 21:12:05 | 只看该作者

回复 #112 tercel0624 的帖子

直接用Pauly的63sgrub_inst安装到U盘就是了!
回复

使用道具 举报

115#
发表于 2010-3-19 13:49:40 | 只看该作者
装入硬盘0磁道,不受重新分区和格式化的影响。
是不是说,这个东西是完全安装到mbr上的?
不过,重新分区和格式化似乎是会改写mbr的呀,windows的安装也过程也会改写mbr的。
回复

使用道具 举报

116#
 楼主| 发表于 2010-3-19 14:05:57 | 只看该作者
原帖由 135956 于 2010-3-19 13:49 发表
装入硬盘0磁道,不受重新分区和格式化的影响。
是不是说,这个东西是完全安装到mbr上的?
不过,重新分区和格式化似乎是会改写mbr的呀,windows的安装也过程也会改写mbr的。


重新分区会修改分区表,但不会影响 mbr 中的引导程序。(或许某些分区工具会向0磁道扇区写东西??)

重装 windows 就没办法了。不过此时只是第一扇区被覆盖,启动菜单、配置信息都还在,只要用 63sgrub_inst重新装一下(安装时保留菜单扇区内容)就行了。
回复

使用道具 举报

117#
发表于 2010-3-21 16:18:10 | 只看该作者

回复 #116 PTPTPTPTPTPT 的帖子

报告bug ,当菜单有磁盘交换时
map (hd0) (hd1)
map (hd1) (hd0)
如果进入菜单失败(如hd1 不存在等)情况下,再次选择其他菜单会失败,如果进入命令行map(hd1) (hd0) 则回复正常


另外,中间如果有一项菜单为空,后面的菜单就都不显示了

[ 本帖最后由 jianliulin 于 2010-3-21 16:47 编辑 ]
回复

使用道具 举报

118#
 楼主| 发表于 2010-3-21 17:07:33 | 只看该作者
原帖由 jianliulin 于 2010-3-21 16:18 发表
报告bug ,当菜单有磁盘交换时
map (hd0) (hd1)
map (hd1) (hd0)
如果进入菜单失败(如hd1 不存在等)情况下,再次选择其他菜单会失败,如果进入命令行map(hd1) (hd0) 则回复正常


恩,谢谢报告,目前 map 命令确实有缺陷,因为涉及到一些底层的东西,个人能力有限,短期内难以解决,只能请大家在使用时小心一些,避开 bug 。

期望能有实模式汇编高手来帮忙解决一下。


原帖由 jianliulin 于 2010-3-21 16:18 发表
另外,中间如果有一项菜单为空,后面的菜单就都不显示了


呵呵,老兄用的很细致。确实有这个现象,不过这不是 bug ,就是这样设计的。因为0磁道空间有限,为了尽量节省空间,菜单处理函数就写的比较简单。
回复

使用道具 举报

119#
发表于 2010-3-22 18:37:54 | 只看该作者
很肤浅的认为菜单确实不大好看...能不能小偷下NTLDR?那样的看着习惯,也舒服
回复

使用道具 举报

120#
 楼主| 发表于 2010-3-22 19:09:44 | 只看该作者
呵呵,一开始是想做成那样的。后来觉得,既然是 grub ,应该接近 grub 的风格,就搞成现在这样了。

大家可以提出自己的意见,讨论确定一个令大部分人满意的界面。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-25 09:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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