无忧启动论坛

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

[已解决] 关于 64位系统下编译GRUB4DOS的问题

[复制链接]
1#
发表于 2014-2-19 18:24:49 | 显示全部楼层
就连 Linux 能否成为桌面 Windows PC 的替代品,都有疑问,更不用说其中的某个文件系统了。

grub4dos 不支持的东西多了去,随便列出两个:EFI、GPT。

文件系统的支持,应该来说是不难的,原则上讲,可以从 grub2 里面或者 Linux 里面抽取文件系统支持代码。

待到 Linux 占据桌面统治地位之后,GRUB4DOS 再去支持 Linux,尚不为迟。

世上难有完美的事情,鱼与熊掌不可兼得。我个人建议你还是老老实实用 grub2 得了。grub4dos 严重依赖 BIOS,而 BIOS 要被微软以及 PC 厂商抛弃。这正好可以让 grub4dos 的开发者 “减负” —— 不用花费牛劲去大力开发那些很少被人使用的功能了(这里姑且认为 Linux 是少数人使用的操作系统)。

别误会,以上仅代表我个人的观点。我已经退出 grub4dos 的开发,我不代表任何其他人的观点,更不会代表 grub4dos 开发团队的观点。我永远只代表我自己。

回复

使用道具 举报

2#
发表于 2014-2-20 00:14:18 | 显示全部楼层
嗯,借这个话题再补充一下。当然了,依旧仅仅代表我自己的观点。

一方面,我身体不好,无法继续从事电脑软件的开发了。另一方面,微软以及 PC 厂商要取缔 BIOS,这也是我心目中的一个 “准绳”:只要这件事发生,我就应该终止开发 grub4dos。

考虑另外一种情况:假如微软和 PC 厂商没有下定决心取缔 BIOS,那么我觉得 grub4dos 应该继续开发下去,直到千真万确微软和 PC 厂商确确实实彻底取缔 BIOS 为止。我越来越认识到,我早年仅凭偶然的兴趣所开发的这个软件,早就已经超出了软件领域,而演变成一个非软件领域的斗争,类似于政治斗争。这个软件虽然很小,但能够让微软不放心,因为它可以寄生于 ntldr 和 bootmgr 之下,让微软封杀 Linux 启动的难度增加了,多了一层障碍。虽然 Linuxer 们很少有人使用 grub4dos,但是,微软是什么级别的?微软明白 grub4dos 的内涵和意义,所以它早就盯上了。在 Windows SP2 的时候,进行了一次强力封杀,在 Vista 的时候,从 ntldr 切换到 bootmgr,对 grub4dos 来说,也是一个大地震,我个人仍旧认为这是一次针对 grub4dos 的封杀行为。到了 Win8 的时候,又以新的形式(即取缔 BIOS 的形式)进行了强力封杀。当然,这次连同 XP 一起封杀掉,我也就不能说是完全针对 grub4dos 的。但 grub4dos 应该也是封杀的目标之一吧,至少可以这么说。或者也可能是封杀的主要目标,也未可知,诸位自己可以判断,我不能越俎代庖。

其他的软件,例如 grub2 和 syslinux,都支持 EFI,因此,都不受影响。而受到影响的,主要只有 grub4dos、DOS、Win98、WinXP 等系统。

彻底封杀掉 BIOS,这一点我完全欣然接受。我不愿意接受的是,对 BIOS 进行破坏,让 BIOS 只能启动 DOS、Windows 而不能顺利运行 grub4dos。这是最痛苦的事情。所以,封杀掉 BIOS,我拍手称快,我也总算是完成我心目中的政治任务了,可以不再费劲去开发这个 grub4dos 了。不过我目前并未彻底放心。我仍然有一丝怀疑,也许我被骗了:它们可能并非真正封杀 BIOS,而是制造一个封杀的假象,将来有可能继续让更加变态的 BIOS 存在,使得只有 DOS 和 Windows 可以启动,而 grub4dos 无法启动。不过,我不管这些事情了,因为碰巧我的身体也不好,所以,我也早该停止开发 grub4dos 了。我相信 grub4dos 开发团队能够恰当应对所有这些变化。

回复

使用道具 举报

3#
发表于 2014-2-25 13:33:28 | 显示全部楼层
世界发展变化还是很快的,办事越来越方便了。
回复

使用道具 举报

4#
发表于 2020-5-19 17:17:15 | 显示全部楼层
本帖最后由 不点 于 2020-5-19 17:22 编辑

支持 EFI?工作量好大呀!

win2flash  的 grub2 不是已经支持 EFI 而且也能 map 了吗?个人感觉,如果 grub2 能用,就凑合着用也行。

是的,grub2 在 legacy BIOS 层面,无法做到像 grub4dos 那样的兼容性(兼容各种恶意 BIOS,能抗住严厉的封杀)。这里所说的 “无法”,是指没人做这个工作,因此那当然就是 “无法” 的了。假若有人做这工作的话,那还是 “有法” 的。win2flash 做了 map 的工作,这是给 grub2 在 EFI 层面增添了功能,而在 legacy BIOS 层面,还是没人去做工作。

鉴于 legacy BIOS 在遭到淘汰,因此,grub2 之下的开发,似乎更接地气一点。让 grub4dos 支持 EFI 也是可以考虑的,不过,个人感觉,工作量可能太大了吧,怕是会让开发者身体吃不消。

yaya 编译 64 位的 C 代码,应该没啥困难吧?只要你的 gcc 是 64 位的,就能编译吧?

在 64 位之下,asm.S 里面的汇编代码,估计都不能运转了。我猜,你可能本来也就不需要 asm.S 了,因为 EFI 底下的启动逻辑,全都变了,而 asm.S 大概也就用不上了吧。

不懂 EFI,想帮也帮不上忙。

随便异想天开一下:假若能够在 EFI 之下建立一个 legacy BIOS 兼容层,那或许可以减轻工作量。兼容层不需要很全面,只要能够让 grub4dos 转起来就行。grub4dos 调用的 BIOS 并不多,大概只有 int13、15、16 等少数几个。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-6 11:17

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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