无忧启动论坛

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

[求助] chenall 和不点大师指点一下,G4D0.45装载RAMOS不能启动

[复制链接]
31#
发表于 2011-9-27 22:07:45 | 只看该作者
你得确定首次引入 bug 是在哪一天才行,否则很难定位。你的是 iMAC,别人的都没问题,就你的有问题,因此,也只有你能够定位是在哪一天引入的 bug。
回复

使用道具 举报

32#
 楼主| 发表于 2011-9-27 22:30:16 | 只看该作者
原帖由 <i>不点</i> 于 2011-9-27 22:07 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2311026&ptid=200520" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
你得确定首次引入 bug 是在哪一天才行,否则很难定位。你的是 iMAC,别人的都没问题,就你的有问题,因此,也只有你能够定位是在哪一天引入的 bug。
<br />


正在测试,已确定 Chenall  2011-01-06 没有问题,2011-02-17 有问题,正在做更精确的定位。
回复

使用道具 举报

33#
 楼主| 发表于 2011-9-27 22:48:25 | 只看该作者
确定了,2011-02-15 没有问题,2011-02-17 有问题。

终于找到一个能用的版本了(02-15版),哈哈。
测试的我好辛苦,从昨天早上到现在,除了今天白天,其他时间一直在尝试这个。

[ 本帖最后由 Yonsm 于 2011-9-27 22:53 编辑 ]
回复

使用道具 举报

34#
发表于 2011-9-27 22:58:36 | 只看该作者
原帖由 Yonsm 于 2011-9-27 22:48 发表
确定了,2011-02-15 没有问题,2011-02-17 有问题。

终于找到一个能用的版本了(02-15版),哈哈。
测试的我好辛苦,从昨天早上到现在,除了今天白天,其他时间一直在尝试这个。

这位兄弟好执着,佩服!!
回复

使用道具 举报

35#
发表于 2011-9-27 23:04:44 | 只看该作者

回复 #33 Yonsm 的帖子

辛苦了。请 chenall 先估计一下问题在什么地方吧。
回复

使用道具 举报

36#
发表于 2011-9-27 23:07:08 | 只看该作者
Yonsm 杰出青年好久没有来论坛了。
回复

使用道具 举报

37#
 楼主| 发表于 2011-9-27 23:20:20 | 只看该作者
原帖由 <i>freesoft00</i> 于 2011-9-27 23:07 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2311053&ptid=200520" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
Yonsm 杰出青年好久没有来论坛了。
<br />

平均每个月来一两次有的,没怎么说话了。已经很久没搞这些了,偶尔自己要用装系统或者之类用到的时候才搞搞。
回复

使用道具 举报

38#
发表于 2011-9-27 23:27:15 | 只看该作者
平均每个月来一两次有的,没怎么说话了。已经很久没搞这些了,偶尔自己要用装系统或者之类用到的时候才搞搞。

现在去开发手机软件去了,pc机上又少了一个好的软件开发者呀。
回复

使用道具 举报

39#
 楼主| 发表于 2011-9-27 23:27:48 | 只看该作者
To Chenall
#5的问题,可以试试以下方案<br />1.创建2G的VHD。
2.复制需要的文件进行。

用WINHEX打开这个VHD文件,删除后面全面是0000的内容(以扇区为单位)即每次删除512字节。

用GRUB4DOS加载到内存中时应该会自动扩展。


这个方案似乎也不行,我创建了一个3G 的IMG文件,用 WinHEX 把整个文件清零,然后VDM装载,格式化,拷贝文件(一次性拷贝1G数据),然后卸载IMG。再用WinHEX查看,发现最末尾都有非0数据了,唉……

虚拟磁盘空间没有被连续使用,真是郁闷的。

有没有其他方案?(VHD动态容量有没有可能能支持一下?)

[ 本帖最后由 Yonsm 于 2011-9-27 23:29 编辑 ]

捕获.gif (184.41 KB, 下载次数: 170)

捕获.gif
回复

使用道具 举报

40#
 楼主| 发表于 2011-9-27 23:31:57 | 只看该作者
原帖由 <i>freesoft00</i> 于 2011-9-27 23:27 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2311063&ptid=200520" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />

<br />
现在去开发手机软件去了,pc机上又少了一个好的软件开发者呀。
<br />

其实我做Mobile上比搞PC启动之类的时间更早,04年就开始搞SP/PPC了,现在搞 iOS、WP7了。
怎么我编辑和引用就会出现 <br>这种 HTML tag,你引用就不会?
回复

使用道具 举报

41#
发表于 2011-9-27 23:41:17 | 只看该作者

回复 #40 Yonsm 的帖子

你用的 chrome 浏览器就是这个 “德性”。
回复

使用道具 举报

42#
发表于 2011-9-27 23:45:11 | 只看该作者
怎么我编辑和引用就会出现 <br>这种 HTML tag,你引用就不会?

我也奇怪,怎么一些会员发帖引用老是有这个,原来是第三方浏览器的兼容性问题。
知道你是从这里,是从你的pe开始的,不知道你原来开发手机软件。不扯了。你们讨论技术吧。
回复

使用道具 举报

43#
 楼主| 发表于 2011-9-27 23:49:43 | 只看该作者
原帖由 不点 于 2011-9-27 23:41 发表
你用的 chrome 浏览器就是这个 “德性”。


原来如此。没有计划解决一下?现在论坛竟然还是Discuz 5.5,够老啦。
回复

使用道具 举报

44#
发表于 2011-9-27 23:56:14 | 只看该作者
原来升级过一次,大部分会员都反馈不适应。论坛就又恢复到5.5了。
我觉得现在就挺好的。技术论坛不太喜欢像外面其它坛子那样花哨。只是论坛有些bug,搜索的时候有部分帖子搜索不到。
回复

使用道具 举报

45#
发表于 2011-9-28 00:14:38 | 只看该作者

回复 #43 Yonsm 的帖子

grub4dos 的问题,或许我能解决。但网络服务器方面,我是外行。我似乎觉得那是 chrome 的问题。我以前偶尔用过一次 chrome,知道它有这毛病。firefox 很好,没问题。
回复

使用道具 举报

46#
发表于 2011-9-28 08:47:03 | 只看该作者
我太概看了一下可能是GPT分区识别的问题,但是我看了它前面的(hd0)+1的输出应该是不会出错的,因为没有0xee分区,不会认为是GPT代码.

02-15和02-17之间还隔了一个版本,麻烦再试一下附件的版本.

以确认问题版本,比较好查.



另外,如果使用WINDOWS系统,可以考虑使用QEMU来测试.....

我一起上传了,附近的QEMU附带了R139的GRUB.EXE,解压后直接执行QEMU.CMD就可以测试了,默认挂载了系统的第一硬盘,可以方便测试(我现在的测试一般都是用QEMU来测的)

注:附带的QEMU,不会改写实际硬盘的内容,可以放心测试.


如果使用QEMU的话,建议先试试有问题的版本,看看用QEMU是否还有同样的问题,这样可以消除虚拟机的影响.

如果QEMU的测试结果和实机一样,以后测试也比较方便.


打包好的QEMU下载.

http://www.kuaipan.cn/file/id_119657788903531.html

grub4dos_r139 test.zip

278.67 KB, 下载次数: 18, 下载积分: 无忧币 -2

回复

使用道具 举报

47#
发表于 2011-9-28 08:57:13 | 只看该作者
我也看了,错误应该就是这个变化:

  1. --- r138_/stage2/disk_io.c
  2. +++ r140/stage2/disk_io.c
  3. @@ -807,15 +807,13 @@
  4.                 return 0;
  5.         if (*(unsigned long long *)&tmp_buf[24] != 1LL) /*Current LBA (location of this header copy),must be 1*/
  6.                 return 0;
  7. -        *next_partition_ext_offset = *(unsigned long *)&tmp_buf[84];/* Size of a partition entry (usually 128) */
  8. -        if (*next_partition_ext_offset != 0x80)
  9. +        if (*(unsigned long *)&tmp_buf[84] != 0x80) /* Size of a partition entry (usually 128) */
  10.         {
  11. -                *next_partition_ext_offset = 0;
  12.                 return 0;
  13.         }
  14. +        *next_partition_ext_offset = 0x494645;//EFI
  15.         *next_partition_offset = *(unsigned long *)&tmp_buf[72];/* Partition entries starting LBA */
  16.         *next_partition_entry = *(unsigned long *)&tmp_buf[80];/* Number of partition entries */
  17. -        *next_partition_type = 0xEE;
  18.         return 1;
  19. }

  20. @@ -1046,7 +1044,7 @@
  21.        /* Ignore the error.  */
  22.        errnum = ERR_NONE;
  23.      }
  24. -  return (*next_partition_type == 0xEE)?next_gpt_slice():next_pc_slice ();
  25. +  return (*next_partition_ext_offset == 0x494645)?next_gpt_slice():next_pc_slice ();
  26. }

  27. static void
复制代码


其他更改都是关于 realmode_run 的,毫无影响。因此,错误就在上述补丁。
回复

使用道具 举报

48#
发表于 2011-9-28 09:20:00 | 只看该作者
找到毛病了,错误就在这里:


  1. *next_partition_ext_offset = 0x494645;//EFI
复制代码


不可以赋值。

*next_partition_ext_offset 是分区枚举的关键变量,其他地方要用它,不可以把它当作无用变量随意赋值。

如果确认问题就是如此,请 chenall 把相关代码一并加以纠正。
回复

使用道具 举报

49#
发表于 2011-9-28 09:22:32 | 只看该作者

回复 #47 不点 的帖子

嗯,看来最终问题就在这里了,这里的判断有误..

对于GPT分区来说,这个变量没有用到的,所以我当时就用了这个作为判断.也许得考虑重新设一个变量.

[ 本帖最后由 chenall 于 2011-9-28 09:24 编辑 ]
回复

使用道具 举报

50#
发表于 2011-9-28 09:45:32 | 只看该作者
重新设置了一个变量,修改了一下判断方式.这个应该正常了.

grub4dos test.rar

262.06 KB, 下载次数: 36, 下载积分: 无忧币 -2

回复

使用道具 举报

51#
发表于 2011-9-28 10:22:31 | 只看该作者
这个 bug 应该影响很大的。请充分测试。

测试成功以后,提请 0pe 等各大软件都要更新。
回复

使用道具 举报

52#
 楼主| 发表于 2011-9-28 10:37:56 | 只看该作者
原帖由 chenall 于 2011-9-28 09:45 发表
重新设置了一个变量,修改了一下判断方式.这个应该正常了.



测试成功啦……非常感谢!

说实话用G4D似乎4年+了,我竟然不知道这是无忧坛子里的两位搞的。

GRUB4DOS这个4DOS名称似乎也很普通用户对这个的认知,对比一下苹果电脑中使用比较多的类似功能的Loader:rEFIt,名字取得贼精妙,一语相关(基于“EFI”的“改装”工具,或者改装EFI的工具)。

另外 GRUB 的命令提示符交互也不够友好,输入命令不支持简化输入或者自动补全输入,输出显示也可以改进一下(现在ls输出没有换行,看起来都头晕)……

再弱弱问一句,tinybit 的 GRUB4DOS 的源代码在哪里?一直没找到。只找到chenall的。
回复

使用道具 举报

53#
发表于 2011-9-28 11:11:19 | 只看该作者

回复 #52 Yonsm 的帖子

关于改名,这是没办法的事情。grub4dos已经是一个品牌,更名代价太高。grub4dos是靠口口相传来宣传的,改名的话,就需要从零开始了。

按TAB自动补全。

不点源代码原本的存放空间因遭到入侵而停止使用,现在也都放在 http://code.google.com/p/grub4dos-chenall 上,这就是主干,Chenall现在是主要维护者。

[ 本帖最后由 dihuo0 于 2011-9-28 11:57 编辑 ]
回复

使用道具 举报

54#
发表于 2011-9-28 12:01:40 | 只看该作者
新版本已经重新编译上传..

http://grub4dos-chenall.googleco ... .4.5b-2011-09-28.7z

grub4dos 最早是设计为在DOS下运行的,所以就for dos,谁知后面一直改进,就变成现在这个样子了.

ls目前是使用空格分隔的,因为这样可以显示更多的文件,如果使用回车符一行一个,那.....LS只是临时使用的,问题不大..

论坛里面有ls的增强版外部命令,超级DIR
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=194685
回复

使用道具 举报

55#
 楼主| 发表于 2011-9-28 13:02:04 | 只看该作者
原帖由 <i>chenall</i> 于 2011-9-28 12:01 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2311308&ptid=200520" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
新版本已经重新编译上传..<br />
<br />
http://grub4dos-chenall.googleco ... .4.5b-2011-09-28.7z<br />
<br />
grub4dos 最早是设计为在DOS下运行的,所以就for dos,谁知后面一直改进,就变成现在这个样子了.<br />
...
<br />

我看了一下那个也非常短小,既然这么小干嘛不整合进来呢。

或者类似configfile的模式(既可以内置,也可以外置configgile),设计过一个可扩展的且可以整合的命令插件(现在已经可以扩展,但不可以整合到一起),比如把官方的GRLDR+RUN+DIR 拼接在一起就支持这个扩展命令了——呵呵,瞎掰了,闲着没事才考虑的。

另外似乎还有个问题,我等下试试再提问。
回复

使用道具 举报

56#
发表于 2011-9-28 14:53:49 | 只看该作者
dir是一个压缩成gz格式的脚本,不适合整合。

现在支持模块功能,可以用insmod把脚本或外部命令加载到内存中以提高效率。可以把你设想的用法、语法详细的写出来,让大家一起讨论,也许有更好实现形式。
回复

使用道具 举报

57#
发表于 2011-10-4 03:05:09 | 只看该作者
Yonsm 真的是那个传说中的宇宙杰出青年啊,一直觉得这个 ID 很眼熟,原来我 WM 手机上的3个常用软件作者都是这个ID


IMG 文件大小跟仿真容量的问题可以这样试试:按正常的1G大小建立文件,用WinImage打开自定义格式,直接修改CHS、扇区总数等参数。
RAMOS没试过,我试过普通的软件镜像,9.xM的文件修改容量为10M,map后可以写入新的文件(map时会提示CHS参数错误,说实际容量小于标称容量云云,但不影响使用)。
回复

使用道具 举报

58#
发表于 2011-10-4 08:22:39 | 只看该作者
嘻嘻,现在WM手机上最经常使用的CELEDIAL,不知Yonsm什么时候有空移植到Android上去呀..

很多人都在等着..
回复

使用道具 举报

59#
发表于 2011-10-4 09:39:35 | 只看该作者

回复 #58 chenall 的帖子

哈哈,就是就是。我也很喜欢 传说中的宇宙杰出青年 的智能拨号。我现在也换安卓了
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-3 21:31

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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