tinybit 发表于 2010-5-8 18:10:01

回复 KDE:

grub4dos 的内核中,有关 Linux 文件系统的部分,不曾发生很大变化。如果您能找到相对于 grub 0.97 的reiser3/4的补丁,一般情况下,直接打到 grub4dos 上是没问题的。您也可以直接把补丁提交给维护人员。提交到 sysoft 时空论坛便可。

Linux给人提供了多种选择。这既是好事,也是坏事。微软制造了 FAT32 就不错了,后来又制造了垃圾的NTFS,目的是制造兼容壁垒。如果按照自然的发展,会是一个叫做FAT64的系统。

Linux 的文件系统很多,这并不是好事。作为发行版,我认为没有必要在文件系统上斤斤计较。争吵 vim 和 emacs,kde 和 gnome 谁好谁坏,没有太大的意思。Linux 发展中最主要的问题在于,与 windows 的兼容性。因为windows垄断了。那么,采用什么文件系统,已经是一个干巴巴的纯哲学问题了,也就没那么重要了。

应该采用各方面都比较好的文件系统。ext2/ext3 在各种软件中都有良好的支持。所以,应该采用它。如果非要采用别的高级系统,那样也可以,但是,应该分清楚,那些 reiser 之类的系统,不一定非要让 grub去访问。grub仅仅只是一个引导器,因此它也仅仅在启动的几个秒的时间之内有用,过了这几秒就没用了。所以,grub完全可以不再访问 reiser之类的文件系统。grub所应该访问的系统,就是启动时所需要的那些少数几个类型。没有必要把全部的分区都格式化为reiser。我这么说的意思是,用发行版制作人员的新思维,来弥补 grub4dos 在文件系统支持方面的不足。如果能够这样去思维,那么,grub4dos 就是完全可用的了。你甚至很难再发现 grub4dos 的缺点了。

另外,我个人并不看好 gnu 开发团队所开发的 grub2。他们的哲学理念,过分追求完美,支持了很多并不流行的平台,因此耗费了大量的精力。其结果,由于没能重视 x86 平台的兼容性,而逐渐远离用户。(这最后一段是给 KDE 个人的,不是想公开出来,以免被人误解为对于 GNU 开发团队的恶意攻击。但是贴出来,只是想让magic的开发团队看到而已。其他人请不要随便传播这段话。)(我之所以要说这段话,还有另外一个考虑。有人总是询问,为什么你不加入 grub2 的开发呀?为什么不基于 grub2 进行 for dos 的扩展呢?这个问题我在 sysoft 时空论坛有详细解答。主要有两点:其一,身体差和技术不强,不适合加入 grub2,即使想加入,也不一定会被接受。其二,grub2 的开发方向,我并不认同,即使身体完全没问题,我都不会加入的。)

[ 本帖最后由 tinybit 于 2010-5-8 21:43 编辑 ]

tinybit 发表于 2010-5-8 18:45:30

回复zy_sunshine:

中国人不差的。在电脑技术上,也不差的。我们只不过是起步晚了而已。你很棒。你和整个团队,都能证明,无论是思想上,还是技术上,中国人都不差的。

即便按照现有的法律,专利也是有年限的,不能是永永远远都阻碍科技进步。谁知道微软购买了字体的什么权利了?这个字体的原始发明人还拥有权利吗?这都是法律问题。而法律本身是可变的,不合理的法律,随时可以调整。

另外,文泉驿可以作为基本的字体。用户机器上的字体,用户自己负责其授权的合法性,这与发行版无关。发行版可以提供一个工具来拷贝,或者直接采用(而不拷贝)用户机器上的字体,应该是合情合理的。至少在给出一个询问框,征得用户的同意之后,就可以拷贝用户机器上的字体了。

微软敢说字体是它的?即便真是它的,它如果阻止用户采用,也要遭到道德的谴责。久而久之,就会导致各国采取相应的政策,对付这类案例。一句话,我们要遵守法律,但法律之外,还有人情,法律不是死的,而绝对是活的,而且是可变的。而且,各国的法律会不同。

tinybit 发表于 2010-5-8 19:09:50

原帖由 zy_sunshine 于 2010-5-8 17:06 发表 http://www.linuxfans.org/bbs/images/common/back.gif
终于知道为什么Xp和Vista下都可以只指定grldr.mbr就可以引导了,原来mbr、grldr.mbr和grldr三者前16扇区都是相同的。


功能相同,但具体的代码,并非完全吻合。放在 MBR 上的是 18 扇区,基本上是 grldr.mbr 的副本。位于 grldr 头部的,只有 16 扇区。


搜寻grldr文件所支持的文件系统 fat12/16 fat32 ntfs ext2 ext3已经足够了,如果能在grub环境中能支持全部Linux文件系统就更好了,毕竟grub都能引导起来,如果再不能将Linux引导起来那是非常恼火的事情。我从来不分boot分区的...


boot 分区的建立,并非多余。连微软的新系统都要建立一个 100M 的 boot 分区。其目的只有一个:提高启动的成功率。

如果机器的 BIOS 存在 BUG,机器在实模式的 boot 阶段就有可能无法访问 137G 之后的扇区。这些扇区只有进入 Linux 的 32 位保护模式之后,才可以通过驱动程序而访问。假如正好微软的系统以及用户的数据盘占据了 137G 以内的空间,Linux 不得不放在 137G 之后。那么在这样的情况下,Linux 是无法引导的。只有一个途径,就是把 Linux 的启动文件(grub,menu.lst,vmlinuz,initrd 等等)全部拷贝到 137G 之内的微软分区上,才可能引导成功。而且存在这类 bug 的机器是很多的。所以,启动程序的编写,是很不容易的。

我认为,应该考虑两种情况。

一种是与 windows 共存的情况。这种情况太好了,只要把启动文件放在 NTLDR 所在的分区,就比较安全了(启动成功率高)。也不用建立 boot 分区了。

另一种是用户不需要 Windows 了,而是全部格式化掉。此时,在征得用户同意之后,应该为用户建立 boot 分区(100M足够了吧?),以此来提高启动成功率。boot 分区越靠近硬盘的开头就越好。最起码,应该保证 boot 分区的整个分区全部落在 137G 以内,不要超出这个界限。

鉴于实模式下 BIOS BUG 137G 访问界限的存在,grub 有可能无法访问超过界限的任何文件系统了,因为物理上的扇区已经不可访问了,更不能奢谈文件系统的访问了。因此,对于启动而言,最要紧的问题是保证启动的成功率,保证不死机。至于说究竟支持了多少个文件系统,已经属于次要问题了。

Linux为什么难以被接受?其中一个重要的原因,就是启动时死机。较早时,Linux 内核本身在启动时就容易死机,现在这种情况少了,但由于引导器本身的死机所造成的启动失败,却经常发生。常用的几个引导器,我们都能数得过来:grub,lilo,grub2。另外 syslinux 在光盘上用得较多。死机是谁造成的?不都是它们造成的吗?Linux的用户只有Windows用户的1%,但报告启动死机的人数却每年都有很多。有哪个发行版不曾死机吗?Linux再好也不行,被引导器的死机挡住了通往成功的去路。Linus Torvalds 只负责内核的建立,不负责引导器的编写。引导器是一个大问题。而在如何避免启动死机方面,grub4dos 做了大量的工作,排解了用户报告的巨量的 bug。这是 grub4dos 的长处,是最重要的特色。

我在网络上还搜索到,某个发行版采用了 grub4dos。但是,用户报告说启动死机了。死机信息是“loading stage1.5...”。这真是有点可笑。既然采用了 grub4dos,却又不彻底。grub4dos 最拿手的是其 grldr 的引导过程,而不是传统的 MBR——stage1.5——stage2 三部曲。死在 stage1.5 那是死在 gnu grub legacy 的程序代码中,与 grub4dos 完全无关。grub4dos 不建议采用MBR——stage1.5——stage2 三部曲,而且是强烈的不建议。采用这三部曲,就等于是练功走偏了。这个发行版就是 quirky Linux 1.0,刚刚于三天前发布。我也是通过 yahoo 才搜索到,而通过 google 搜 grub4dos 是根本搜不到的。

我当然承认 grub4dos 在文件系统支持方面不够跟进 Linux 的发展。这有两方面可以思考。其一,新的文件系统支持代码,需要内行才能写出来。我已经多年远离 Linux 了,无法完成这样一个艰巨的任务。只要有人愿意,他就能够给 grub4dos 打上补丁。单靠一两个开发人员是很难做到的。其二,事物要达到完美,那是需要一个过程的。各种启动软件,都有其优缺点。grub4dos 的启动成功率高,而支持的文件系统数量不多。是启动成功率重要,还是文件系统支持的数目重要,这样一个问题,发行版制作者们应该权衡。显然,启动成功率是致命的,没了它,其他的就无从谈起。试想这样一个问题:假如 grub4dos 的启动成功率最好,磁盘和光盘的仿真也最好,支持的文件系统又最多,等等等等,全部的优点都具备了。这样的话,还让别的引导器生存吗?那不早就普及了,怎么会直到现在还没有被各大 Linux 发行版采纳?我们的兄弟们在谈恋爱找对象的时候,是不是要求对方在各方面都最好呢?那样肯定找不到一个如意的。解放思想,才能大踏步前进。套上紧箍咒,只能固步自封,难有突破性的发展。有些东西,应该坚持。但有些东西,应该放弃。放弃了思想包袱,才可能轻松上阵,才可能把有限的精力用在真正该用的地方,把好钢用在刀刃上。

由于我们都是中国人,都是自家人,所以,我也放开来说。在外国网站上,我可不敢这么说,我要考虑说这话时,对方的接受程度如何。假如对方根本接受不了,那就很危险了,我就是找骂的,而且还给中国人丢脸。我可不傻,不能去得罪那么多外国人。下面我就一家人不说两家话,放开说了。对于启动软件而言,重视启动兼容性的并不多。syslinux 算是一个,grub4dos 也算是一个。其他的就没有了,即使有,也不能很快进入大众的视线,或者因为功能不强而遭到淘汰。syslinux 主要用于 iso 制作。grub4dos 才继承了 gnu grub 的 PC 机传统,用于硬盘启动。所以,grub4dos 在可见的几年内,是不可替代的。其他软件,都会因为启动失败率高而逐步被边缘化。无论什么发行版,当用户自己遇到失败的时候,用户自己就要寻找补救的措施。一找就找到了 grub4dos。这样,久而久之,发行版都被迫采用 grub4dos,不管他们愿意还是不愿意。

[ 本帖最后由 tinybit 于 2010-5-9 00:17 编辑 ]

zy_sunshine 发表于 2010-6-19 19:09:21

0.2.1下载

http://magicwin.googlecode.com/
点击Downloads下载
源码下载:
svn checkout http://magicwin.googlecode.com/svn/trunk/ magicwin-read-only

haulm 发表于 2010-6-19 23:35:57

看了各位的讨论,不过插上不话题,只好纯水一次。

haulm 发表于 2010-11-21 05:15:33

准备在SP3更新magicwin

zy_sunshine 发表于 2010-11-21 16:57:28

过阵子能上网了还会发布下一个版本,适用于MI1 MI2,还集成了U盘启动功能…哈哈,已经写好了…

zy_sunshine 发表于 2010-11-21 16:58:44

又看了一遍不点前辈的回复,获益良多。

zy_sunshine 发表于 2010-12-25 12:22:28

e,发布新版本啦。
magicwin-0.4.0-1mgc.win32.7z         0.4.0版本rc1支持MI1 MI2,支持硬盘安装和USB启动安装。
MI1 测试不多...因为手中没有 MI1 的镜像啦。其他正常。
页: 1 2 [3]
查看完整版本: magic_win 发布 0.4.1