无忧启动论坛

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

GRUB4DOS更新建议、bug反馈专帖

    [复制链接]
2521#
发表于 2012-3-29 12:38:57 | 只看该作者

回复 #2513 不点 的帖子

谢谢不点、chenall、zhaohj、……

把asm部分的代码移到 main前面,问题解决。

发现一个奇怪的问题,有问题的代码用 4.3.3编译出来竟然可以运行。

有问题的代码编译出来的文件尾对比:

4.6.x:
12F100004752554234444F530803330105180503BAA7BABC0000000000000000

4.3.3:
12F1000047525542000000000000000034444F530803330105180503BAA7BABC

asm移到main前面后用4.6.1编译,可以正常使用:
12F1000000000000000000004752554234444F530903330105180503BAA7BABC

[ 本帖最后由 Plantsoot 于 2012-3-29 12:42 编辑 ]
回复

使用道具 举报

2522#
发表于 2012-3-29 17:29:56 | 只看该作者

回复 #2524 chenall 的帖子

外部命令的源代码中,main 必须是第一个函数,不可以在 main 之前插入别的函数。别的函数必须放在 main 之后。

所有的全局变量都要用 static 来定义。

估计正是因为不遵守上述这些条件而引起的问题。我也是很晚才发现这一问题的。
回复

使用道具 举报

2523#
发表于 2012-3-29 17:42:00 | 只看该作者

回复 #2526 不点 的帖子

嗯,这个倒是有可能,因为FAT命令比较庞大,是由多个C语言文件构成的.

以后有空也许应该把它整成一个单文件.或许会比较好,但是会比较麻烦.
回复

使用道具 举报

2524#
发表于 2012-3-29 18:20:19 | 只看该作者
多个文件如果都 include 到主文件中,也是一样的。

但如果是分开编译,那就没有保障了。

最好合并成一个,减少问题的发生。
回复

使用道具 举报

2525#
发表于 2012-3-30 07:19:19 | 只看该作者

回复 #2514 dvd008 的帖子

终于搞定 了....................
可以顺利找到GRLDR了
回复

使用道具 举报

2526#
发表于 2012-3-31 13:59:04 | 只看该作者

回复 #1 zhaohj 的帖子

不知道 Grub4DOS 有没有打算支持 ExFAT 格式呢?

将来 Fat32 应该会逐步被 ExFAT 所取代,如 Grub4DOS 能直接就太好了。
回复

使用道具 举报

2527#
 楼主| 发表于 2012-3-31 14:45:29 | 只看该作者
原帖由 sacdcn 于 2012-3-31 13:59 发表
不知道 Grub4DOS 有没有打算支持 ExFAT 格式呢?

将来 Fat32 应该会逐步被 ExFAT 所取代,如 Grub4DOS 能直接就太好了。


2011-06-04 (namiltd)added exFAT filesystem accessibility.
回复

使用道具 举报

2528#
发表于 2012-3-31 20:13:27 | 只看该作者
default 0
# 设置默认启动项为第一项。
如果要设置默认启动项为最后一项(动态的),该如何设置?如果是倒数第二项呢?
哪位大侠赐教一下?!
回复

使用道具 举报

2529#
发表于 2012-3-31 21:18:38 | 只看该作者
倒数第二是正数几,就为几。
回复

使用道具 举报

2530#
发表于 2012-3-31 21:57:09 | 只看该作者

回复 #2533 幸运的草 的帖子

2011phzhc的意思是有没有一个通用的命令

比如 default -1 是倒数第一个  default -2 是倒数第二个等
回复

使用道具 举报

2531#
发表于 2012-4-1 11:32:06 | 只看该作者
grub4dos 可以不可以智能地判断当前磁盘几个分区?然后加载不同的菜单(或者xxldr)?
回复

使用道具 举报

2532#
发表于 2012-4-1 17:34:11 | 只看该作者

标题

grub4dos有没有打算添加声音支持?比如可以加一个菜单的背景音乐等等。
刚看到一个帖子,已经有人做成了。我OUT了。

[ 本帖最后由 三块石头 于 2012-4-2 09:12 编辑 ]
回复

使用道具 举报

2533#
发表于 2012-4-1 22:28:29 | 只看该作者

回复 #2531 zhaohj 的帖子

我可能没有讲清楚,我指的是 grldr.mbr 能写入 ExFAT 分区?grldr 文件能否加载 ExFAT 分区根目录下的文件?望解答为盼。
回复

使用道具 举报

2534#
发表于 2012-4-1 23:20:30 | 只看该作者

回复 #2534 sratlf 的帖子

知我者,S大也。
我的意思,正是S大理解的,
可能是我表述不清楚,让幸大误会了!
回复

使用道具 举报

2535#
发表于 2012-4-2 11:44:44 | 只看该作者
grub4dos 如何判断分区数量或者判断最后一个分区为第几个分区?
希望有老师可以答复,先谢谢了。
回复

使用道具 举报

2536#
发表于 2012-4-2 14:21:12 | 只看该作者
原帖由 zhaohj 于 2012-3-26 10:53 发表
title  清除HD0的55AA标志
clear
cat --skip=510 (hd0)+1 > (md)0x200+1
checkrange 0xaa55 read 0x40000 && write --offset=510 (hd0)+1 \x00\x00
pause Clear finish
kernel || clear



是0xaa55 ,还是 0x55aa ?

aa55 or 55aa ?
回复

使用道具 举报

2537#
发表于 2012-4-2 15:34:45 | 只看该作者

回复 #2540 dvd008 的帖子

0xaa55  不是55aa
回复

使用道具 举报

2538#
发表于 2012-4-2 16:11:10 | 只看该作者

回复 #2536 三块石头 的帖子

你说的贴子在哪?我也想看看。我也OUT了。
回复

使用道具 举报

2539#
发表于 2012-4-3 06:48:45 | 只看该作者
原帖由 2011phzhc 于 2012-4-2 16:11 发表
你说的贴子在哪?我也想看看。我也OUT了。

不好意思,我看错了。那个帖子里说的声音不是由grub4dos实现的,而是启动了dos后,利用dos的声卡驱动发出声音才做成的。
看样子,grub4dos本身依旧是有必要添加声音支持的。
回复

使用道具 举报

2540#
发表于 2012-4-3 15:33:49 | 只看该作者
grub4dos 添加声音支持,应该属于 “不可能完成的任务”。

这里解释一下主要的困难在哪里。困难就在硬件厂商生产的硬件上。看它标准不标准,以及有没有标准。有了标准之后,有没有厂家故意破坏标准。

在一定的范围内,在要求不高的前提下,这倒是可以完成的。比如,假如有人把 Linux 下的声卡驱动移植到 grub4dos 下,那就可以了。

另外一点,目前 grub4dos 连鼠标都没有驱动,怎会有开发者愿意去驱动声音呢?

不要搞 “ 大跃进 ”。还是 “ 一步一个脚印 ” 比较实在。到了将来某一天, grub4dos 过时了,被 UEFI 之类的启动方式淘汰掉了,那么,grub4dos 的开发者也不至于太难过,因为毕竟没有陷进去太深,即,毕竟没有去开发鼠标啊、声音啊这类支持程序。试想,当我们好不容易支持了,但很快又被淘汰了(被 “连根拔掉”,或者被 “连窝端了”),那岂不很 “ 恶心 ”?

哲学说,够用即可,不要陷入太深,不能自拔。
回复

使用道具 举报

2541#
发表于 2012-4-3 15:50:37 | 只看该作者

标题

原帖由 不点 于 2012-4-3 15:33 发表
grub4dos 添加声音支持,应该属于 “不可能完成的任务”。

这里解释一下主要的困难在哪里。困难就在硬件厂商生产的硬件上。看它标准不标准,以及有没有标准。有了标准之后,有没有厂家故意破坏标准。

在一 ...
说得好!我赞成您的观点。您所说的应该算是简洁的可行性分析和风险分析,您将“不可能完成的任务”这个短语添加了引号,即表明在目前情况下grub4dos添加声音支持具有一定的不可行性,没有必要或是代价太大而不值得。我再次表明赞成您的观点。
回复

使用道具 举报

2542#
发表于 2012-4-3 18:52:39 | 只看该作者

回复 #2545 三块石头 的帖子

献丑了。多谢抬举。

世界是普遍联系的,世界是大一统的。当一个环境的生存状况遭到极度破坏之后,生物会转向新的生存环境。当 X86 系统之下 “寸草不生” 的时候,开发者们被迫迁移到 x86 之外的系统之下,在那里寻求发展。苹果的 ipad 就是一个很好的实践。谷歌 android 也是一个尝试。虽然这些尝试者们最终不一定能够稳住阵脚、长久保持胜利果实,但它们的实践本身,必然也给 x86 下的破坏者造成一定的压力,甚至有一举推翻 x86 统治的可能性。

举例来说,GRUB2 已经在努力支持多平台,而不仅仅是 x86 的一个附庸(就像 grub4dos 目前的状况那样)。据我个人的观察,GRUB2 的开发者放任攻击者的攻击,让它们随便攻击去吧!真正做到 “我行我素”,“你攻击你的,我开发我的,互不干涉”。当 x86 之下的 GRUB2 遭到攻击的时候,如果 ARM 等平台没有攻击 GRUB2,那么 GRUB2 就对 ARM 等平台就有了倾向性,即,它的运行更平滑,较少遇到阻力。当 ARM 平台运行大多数软件都更平滑的时候,它也就会成为一个通用的平台,各类大型软件都可能针对 ARM 平台而开发,到那时候,ARM 就大获全胜了。

虽然短期内 grub4dos 还不会遭到硬件厂家的彻底封杀,但迟早有这一天的。所以我个人觉得,目前 grub4dos 开发的程度已经很高了,或者说,差不多到头了,没什么可做的了。继续做更多功能性的开发,也没有太大意义,因为 grub4dos 早已被盯上,封杀掉只是时间问题。当硬件厂商不再支持 BIOS 的时候,grub4dos 也就玩完了。一旦时机成熟,硬件厂商就要这么干了,这一点应该是十分明显的。

开发者们可以考虑转向 ARM 系统,或者干脆脱离引导管理器的开发,而转向别的软件开发领域。比如,针对 Linux 环境,做一个好用的输入法,做一个很好的语音输入软件,做一个很好的飞鸽传书,也可以创立一种编程语言,等等吧。可做的事情应该也是很多很多的。
回复

使用道具 举报

2543#
发表于 2012-4-3 23:03:05 | 只看该作者
如果硬件厂商一定要封杀grub4dos这样优秀的启动软件,我真的很难过,又有些气愤。可是软件终究是要在硬件的基础上跑的,如果硬件不支持,软件很多时候是无能为力的。
因为硬件厂商并没有一个统一的声卡标准(也许是我不知道),加上其它原因,grub4dos目前不会考虑添加声音支持或其它附加功能。毕竟作为一个引导程序,grub4dos已经做的很好了。
回复

使用道具 举报

2544#
发表于 2012-4-4 09:55:07 | 只看该作者
用mkisofs.exe生成ISO(接近1G),然后用UltraISO添加一个INSTALL.WIM(3.7G左右)
用grub4dos 0.4.5.c  20120227版的ISO量产到U盘正常(我是银灿主控的USB3.0U盘,用如意烧直接将ISO写入的DVD区的);

用grub4dos 0.4.5.c  20120326版的ISO量产到U盘则不行
(卡在"Booting find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst"这里了,我是菜单外置的/BOOT/GRUB/MENU.LST,没修改过内置菜单);

我稍后试试看grub4dos 0.4.5.c  20120324版是否正常?

不知道这算不算新版grub4dos引入的bug?
--------------------------------------------------------------------------------------------------------------------------------------
grldr换回grub4dos 0.4.5.c  20120324版,也可正常启动,只有grub4dos 0.4.5.c  20120326版不行!

是不是ISO大小限制为4G了,超过4G就无法启动/BOOT/GRUB/MENU.LST?

我就暂时使用grub4dos 0.4.5.c  20120324版的grldr,
时空论坛最新测试版的没下载测试,估计和20120326的有同样的问题

[ 本帖最后由 zhs509 于 2012-4-4 11:08 编辑 ]
回复

使用道具 举报

2545#
发表于 2012-4-4 19:02:17 | 只看该作者

回复 #2548 zhs509 的帖子

grub4dos 的发展,人人有责。chenall 说他要离开一段时间。这期间,各位要提高一下解决问题的能力,不要总是依赖 chenall。帮 chenall 找一下毛病,同时也提高自己的水平。
回复

使用道具 举报

2546#
发表于 2012-4-4 19:18:55 | 只看该作者

回复 #2549 不点 的帖子

可能内置菜单没问题。。。

我换回20120324版的,转0PE的grldr(我替换为20120326版的,0PE的内置菜单可以执行)

有可能是新版导致超过4G的文件无法正常加载外置菜单/BOOT/GRUB/MENU.LST
回复

使用道具 举报

2547#
发表于 2012-4-4 19:43:46 | 只看该作者

回复 #2547 三块石头 的帖子

硬件厂商本来应该尽可能地让更多的软件运行,这好像才 “ 正常 ”。但是,霍金的 《大设计》告诉我们,世界是多元的,任何可能性都会出现。任何事情的出现,都是不奇怪的,它都是合理的。有时候是因为技术的进步而淘汰旧的技术。但有时候并非如此,而是因为利益而淘汰旧的技术。当然,同时因为技术和利益而淘汰旧的技术的情况,也是存在的。

作为最终的用户,倒是不必太担心,因为淘汰了旧的技术,就一定有新的技术提供给你,让你使用。当然,最终的用户有时候也像个奴隶一般,完全是无奈的。自己喜欢的技术,被淘汰了,却被强制要求学习新的技术。不管你情愿不情愿,人家迫使你学,你完全没有自由。人家给你的是唯一的选择,你没有别的可选。比如说,你想用 XP,可是人家不卖。迫使你用新版的 Windows。假如其他大多数人都可以忍受(包括本来就喜欢新系统的那些人),那么你就得牺牲 “ 小我 ”,而成就 “ 大我 ”,即,欢欢喜喜地跟随大家一起转向新版本。假如大多数人都不能忍受,则有可能 “ 翻了天 ”,即,放弃微软,选择别的系统。假如别的系统(例如 Linux)也处于 “ 无法使用 ” 的状态,则此时人们还是被迫使用微软的新系统。世界并不完美,不能够在任何情况下都同时让商家和客户都满意。当商家太满意了,客户的利益就要受到损失。如果让商家不满意,那么商家也不答应。当商家太强大了,它甚至可以要挟客户,让客户完全沦为奴隶(所以商家的最高商业目标就是垄断)。当商家有很多强劲的竞争对手的时候,商家的日子也很艰难。以上这些分析,都是很平常的分析,所说的似乎都是废话。但是,我们现在所处的时代,恰恰是 “ 一个商家太强大了 ” 的时代,这个时代的特点就是,商家可以让它的客户成为奴隶,客户完全失去反抗之力。另一方面,竞争者的出现,有时候也是一件很艰难的事。并非你想让它出现,它马上就会出现,而是需要一个发展过程的。当时机不成熟的时候,竞争者也不能出现,或者说,竞争者的实力太差,不能构成有效竞争。

其实,当一个商家 “ 一手遮天 ” 的时候,也正是孕育 “ 竞争者 ” 的时候了。“ 孕育 ” 的过程可长可短,这要看具体情况了。历史上有很多次的革命是失败的,几次失败的革命之后,才来一次成功的革命。要想推翻微软,那也不是一件轻松的事情,不是 “ 一蹴而就 ” 可以搞定的。在推翻它以前,人们必须忍受这一切。
回复

使用道具 举报

2548#
发表于 2012-4-4 21:23:19 | 只看该作者

标题

原帖由 不点 于 2012-4-4 19:43 发表
硬件厂商本来应该尽可能地让更多的软件运行,这好像才 “ 正常 ”。但是,霍金的 《大设计》告诉我们,世界是多元的,任何可能性都会出现。任何事情的出现,都是不奇怪的,它都是合理的。有时候是因为技术的进步 ...
恩,是的。
事物存在必有其合理性;旧技术被新技术取代在计算机世界是十分频繁的,并且这种取代往往是技术进步的标志;而事物的生存与灭亡又并非完全被动。
grub4dos在当下是一个生命力相当旺盛的事物,其存在有着极大的合理性。如果grub4dos的生态环境受到了严峻的挑战,其如果已经成为“旧技术”、“旧事物”而将要被“新技术”、“新事物”所取代(当然这还很遥远),那么grub4dos就到了一个十字路口:消亡或改变自己。
我知道是您首先从gnu grub lagecy中找到不足而创建了grub4dos项目,并一直蓬勃发展至今。您也提到了:grub4dos的发展,人人有责。
做为一群默默无闻在无忧潜水学习的人中的一份子,我觉得:在grub4dos成为“旧事物”之前,我们应该为其不断添加新的活力,就好像grub2也在向跨平台发展一样(而这个问题又必须要在软件工程的框架下解决)。
回复

使用道具 举报

2549#
发表于 2012-4-4 23:09:52 | 只看该作者
继续再谈,好像谈的都是废话了。不过,也不全是废话。

以微软的强大,微软的手段之狠,它连自己的产品都可以下手封杀(虽然力度上也有所顾忌),更不会在乎别人的软件。尤其是对于开源、自由软件这类已经被视为头号敌人的软件,更不会手下留情的。这些结论,应该很容易分析得到,不需要多么曲折的分析过程。

微软要封杀谁,它甚至可以精确到日期,定准哪一天,它让你灭亡,你想多活一天,都不可能。它有这个实力。除非它不想封杀你,否则,你根本躲不过。

当然,它也会考虑策略,考虑封杀的最佳时机,考虑何时封杀何种软件,找到利益最佳点。但是,一旦确定了封杀的日期,它会毫不犹豫,毫不吝惜,痛下杀手。这是它的性格决定了的。分析它以前的行为,可以了解它的性格,推知它的未来。

如果微软继续强大下去,像 Linux、grub4dos、grub2 这类自由软件,必然被整死,或者半死不活,近乎死亡。

反之,如果这些自由软件能够有喘息的机会,微软无法继续垄断下去,它必然让出它的一部分垄断利益,让其他商家也分享一部分权利。

微软之下,寸草不生。这是前人总结出的一个观点。从 XP 以后,以我的眼光,看不出微软有什么技术上的进步。那些夸大其词的 FUD 不算数。我所看到的,只是不兼容性的增加而已。而且我认为这正是其目的所在。我还有佐证,微软强制推销 Win7,这本身就证明,Win7 并不受欢迎,否则,它完全可以让用户自由选择究竟是用 XP 还是 Win7。它不让你选择,所以,这个行为就是要强制推行不兼容的系统,达到遏制、整治它从前的某些敌人的目的。

微软的系统确实早已达到了很高的完善程度,Linux 追了这么多年,也没赶上。但是,微软在达到了那样一个高度之后,却停滞不前了,这也是不争的事实。如果有人是来 FUD 的,他可能要来骂了。他当然不会承认。他非要把某个小小的进步说成是天大的进步,那谁又有什么办法呢?任何人的认识都是正确的,所以,他那种认识,也算是正确的吧。是在他自己的那种逻辑框架之下的正确。正确性是相对的。

为什么微软停滞不前了呢?有人也给出了答案,说微软把对手干掉了,没人愿意投入开发了。微软自己落得很清净,不再有敌人了。可问题是,没有敌人的情况,却是死水一潭,发展也变得不活跃了。开发者已经不知不觉地在远离微软这个商家。惹不起,躲得起。

当开发者们认识到微软是制造麻烦的根源,他们都会把目光聚焦在微软身上。微软的一举一动,都会引起强烈的、敏感的、巨大的反响。

当这种聚焦效应很强大之后,就可以把微软烧焦。当开发者们都把微软当作一个令人头痛的麻烦事去对待和思考的时候,他们都要围绕 “ 微软 ” 这个问题去寻求解决办法,就是要 “ work around 微软 ”,围绕 “ 微软 ” 问题而 “ 工作 ”,即,寻找突破口,寻找出路。这努力寻找的结果,正是把焦点对准微软。

当微软只靠自己去开发的时候,它的创新力肯定大大降低了。没有朋友的情况其实是蛮可怕的,可是微软似乎并没有意识到这点。它被它自己的强大冲昏了头脑。强大其实是一个假象。强大也是相对的。学如逆水行舟,不进则退。如果自满,则很容易滑坡。讲话一点也不谦虚,到处横行霸道,这其实是在毁灭自己而已。那些 FUDder 通常都是很横的。他只承认他说的正确,不承认别人的正确。他还要打击别人,打击反对者。当你能够以无可辩驳的事实压倒他的时候,他不再接帖了,溜溜地走掉了事。他绝不会接一帖,承认他自己错了,或者承认你是正确的。为什么呢?因为这是不允许的,是他的老板禁止他做的。他根本不敢违反。即使他本人想回帖,他也不敢回帖。他胆敢不按老板的意图发言,就没有那五毛钱了。只要稍稍留意,就能发现谁是 fudder。

谁也不能精确预言事情的发展。但现阶段的大致情况,还是可以做个短期预测的。每个人都有这种预测能力。您的预测是什么,您自己最清楚。

[ 本帖最后由 不点 于 2012-4-4 23:30 编辑 ]
回复

使用道具 举报

2550#
发表于 2012-4-5 14:18:42 | 只看该作者
原帖由 不点 于 2012-4-4 23:09 发表
继续再谈,好像谈的都是废话了。不过,也不全是废话。

以微软的强大,微软的手段之狠,它连自己的产品都可以下手封杀(虽然力度上也有所顾忌),更不会在乎别人的软件。尤其是对于开源、自由软件这类已经被视 ...

好了,我不继续再谈下去了。还是让大家说一些对grub4dos的发展有实际意义话题吧。
非常感谢您愿意为我们后来者解答疑惑。谢谢!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-7 03:14

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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