无忧启动论坛

标题: 一个奇怪的引导出错现象 [打印本页]

作者: 小豪diao    时间: 2011-12-23 22:25
标题: 一个奇怪的引导出错现象
用虚拟VHD在虚拟机上挂了个PE

这个PE是用NTLDR引导的,我之前用bootice处理了grub引导NTLDR

虚拟机里面启动正常。
可是我要把控制权直接交给NTLDR。
于是把MBR设置NT5.x,PBR设置NTLDR。
可是启动就出错了
如图所示:


作者: 不点    时间: 2011-12-24 07:45
NTLDR 的微软引导扇区不含自动几何参数探测代码,因此,在理论上它比 grldr.mbr 有更高的失败率。

所有那些 “ 不含 CHS 自适应代码 ” 的引导扇区,都有同样的问题存在,是不治之症。只有一种办法来让它们成功启动,即,绝对保证 MBR 的分区表 以及 BPB 里面的 H、S 与 BIOS 将要认定的 H、S 是完全一样的,不能有丝毫差别。

而含有 几何参数自适应功能的引导代码,则不需要你在分区表以及 BPB 中写入正确的 H、S 值,错了也不影响启动,因为它能探测出 BIOS 所认定的 H、S 值,从而采用探测到的值来保证后续的启动过程顺利进行。

目前只有 grldr.mbr 和 fbinst 有此功能。这两者又有差别,互有优缺点,分析如下:

1。grldr.mbr 无须重新分区,安装方便。但失败率比 fbinst 高。
2。fbinst 成功率比 grldr.mbr 高很多,但安装时需要重新分区,这带来一定的麻烦,很可能正是因为这一点,才使得它不太容易被汉语圈以外的人采纳。也有人报告 grldr.mbr 成功而 fbinst 失败的情况。
作者: 2010_zheng    时间: 2011-12-24 08:57
标题: 回复 #1 小豪diao 的帖子
已经不关MBR的事了,楼主的出错提示中MBR已经正确读取PBR并把引导权交给PBR,楼主可以尝试写BOOTMGR的PBR(NTFS分区如果BOOTMGR文件不存在会引导NTLDR),看一下结果又如何。
作者: 不点    时间: 2011-12-24 09:41
标题: 回复 #3 2010_zheng 的帖子
错。

grldr.mbr 的几何参数探测功能本身是在 MBR 上,因为 PBR 上没有放置探测代码。

如果不采用探测代码,则任何一个引导程序都是一样的(前面解释过了),它们之间没有本质的差别。楼主已经证明了,即使微软的引导代码(在 PBR 上),也找不到自己的 NTLDR 文件,倒是 MBR 上的 grldr.mbr 代码(把 GRLDR 字符串修改为 NTLDR 字符串)后,能够找到 NTLDR。这里面就差一个 CHS 的自动适应能力,别的都没什么差别。
作者: 小豪diao    时间: 2011-12-24 13:40
标题: 回复 #3 2010_zheng 的帖子
经过ABS的备份还原的实验后,今天早上来实验又发现可以引导了。而且设置bootmggr第一引导,ntldr第二引导。
也是可以跳到NTLDR,总之就是。早上就正常了 = =
作者: 2010_zheng    时间: 2011-12-24 13:40
标题: 回复 #4 不点 的帖子
呵呵,从我回复楼主的观点上来说,哪点错了?既然我回复了#1,观点就不针对#2了。

不否认grub4dos的强大,但和ms的mbr/pbr引导观点上本来就不同,grub4dos认为不管你引导区参数正确与否,我都可以启动,而ms则认为你一定要符合我的要求,才可以启动,从出发点不同注定ms的mbr/pbr引导能力不如grub4dos,这点不容置疑。

至于兼容性,很不好说清楚,包括投票贴都只反映了极少的个例,GRUB4DOS 0.4.5b 2011-05-19应该不算旧的版本了,我也遇见grldr加载后所有对文件操作失效的例子,包括所有的find -set或ls命令(印象中出错提示为no such partition),幸好再换更新的版本后解决。这个例子不算在mbr/pbr之内了,而是grldr已经加载后的情况了。grldr.mbr前期版本普遇到过搜索不到grldr的现象,后期版本基本没遇到问题。

所以,引导功能强大当然是grub4dos,但兼容性还是不好判断

我#2是从ms的引导流程上进行看待问题,而不是从grub4dos的角度看楼主的问题

[ 本帖最后由 2010_zheng 于 2011-12-24 13:51 编辑 ]
作者: 小豪diao    时间: 2011-12-24 13:42
标题: 回复 #4 不点 的帖子
我昨天找到一个可以正常启动的XP虚拟磁盘,用bootice把它的pbr和mbr备份出来,然后还原到这个虚拟磁盘上。结果还是一样的失败。
作者: 2010_zheng    时间: 2011-12-24 13:44
原帖由 小豪diao 于 2011-12-24 13:40 发表
经过ABS的备份还原的实验后,今天早上来实验又发现可以引导了。而且设置bootmggr第一引导,ntldr第二引导。
也是可以跳到NTLDR,总之就是。早上就正常了 = =


ABS我没用过,看样子在对引导区的处理方面和ghost差不多,当引导区的参数错误时,用ghost备份后再进行还原可以修复。
作者: 小豪diao    时间: 2011-12-24 13:46
我是觉得不点说的耶没错,貌似就是所谓的NTLDR”探测“比较死板问题导致。
但这个出错情况到底是为什么,我还是不晓得,RP?
作者: 2010_zheng    时间: 2011-12-24 13:46
原帖由 小豪diao 于 2011-12-24 13:42 发表
我昨天找到一个可以正常启动的XP虚拟磁盘,用bootice把它的pbr和mbr备份出来,然后还原到这个虚拟磁盘上。结果还是一样的失败。


MBR和PBR不是问题,你引起的问题是引导区中的分区参数表,而BOOTICE的备份和还原是不修复这段引起引导失败的参数表的
作者: 2010_zheng    时间: 2011-12-24 13:48
原帖由 小豪diao 于 2011-12-24 13:46 发表
我是觉得不点说的耶没错,貌似就是所谓的NTLDR”探测“比较死板问题导致。
但这个出错情况到底是为什么,我还是不晓得,RP?


呵呵,好象没人说不点说错了
作者: 小豪diao    时间: 2011-12-24 13:48
标题: 回复 #8 2010_zheng 的帖子
你的分析也没错……的确不关MBR的事。
昨天我也有试过把pbr设置bootmgr,而根目录没有bootmgr。
然后也是一样的错误。这说明是NTLDR的问题吗?

对了!我的这个虚拟硬盘里面装的是PE系统,2003核心的,跟这个有关吗?
作者: 小豪diao    时间: 2011-12-24 13:49
<br />
MBR和PBR不是问题,你引起的问题是引导区中的分区参数表,而BOOTICE的备份和还原是不修复这段引起引导失败的参数表的
<br />

这个回答很有针对性……
作者: 小豪diao    时间: 2011-12-24 13:51
两边倒了……
整理下思路

不点的解释是:ntldr的容错性差导致的。
而zheng的说法是因为bootice在处理分区表问题导致
作者: 2010_zheng    时间: 2011-12-24 14:00
原帖由 小豪diao 于 2011-12-24 13:51 发表
两边倒了……
整理下思路

不点的解释是:ntldr的容错性差导致的。
而zheng的说法是因为bootice在处理分区表问题导致


不,不点不是这个意思,不是ntldr的容错性,而是微软的MBR/PBR这两种引导程序的容错性差引起,你根本还没加载成功NTLDR。grldr.mbr其实功能上包括了MBR和PBR两部分了。

我也不是指bootice处理分区问题,本来这段参数表就不是这些程序处理的,包括MS的bootsect都不处理这一段的内容,这段内容一般由格式化时就已经固定(包括ghost的分区恢复操作会重写这段参数表),打个例子,你在LBA环境下格式化了一个分区后生成的参数表,在你BIOS把硬盘参数设置为LARGE模式就有可能会引起引导失败。

MS的PBRFAT32和NTFS这两个最常见的引导程序处理方式没统一,FAT32的DL值而BPB表中获得,而NTFS的DL值则从MBR中继承。一些U盘在系统中格式化后成FAT32后一般BPB参数表该值为0,作为引导时就会引起和楼主同一现象的故障提示。
作者: wannaknow    时间: 2011-12-24 14:13
标题: 回复 #15 2010_zheng 的帖子
我认为,ms的fat引导的整个思路就是“脑残”的思路。如果ms从一开始就不在bpb里保存dl值和chs参数,而是坚持使用bios传递的dl和int 13h返回的chs参数,那么就不会有现在的混乱了。
作者: 不点    时间: 2011-12-24 14:15
标题: 回复 #10 2010_zheng 的帖子
>>> 你引起的问题是引导区中的分区参数表

你所说的 “ 分区参数表 ” 是什么意思?我猜猜看,你是不是说的就是 BPB 表?

如果 “是” 的话,我前面已经解释了,在没有 H、S 自动探测代码的情况下,必须完全 “ 正确 ” 才能引导成功,无论是不是微软的引导代码,都是如此。从楼主到目前为止的描述,似乎也验证了。

在你所说的 “分区参数表” (即我所说的 BPB 表)中,其他敏感的系统参数都不可以随便更改,更改之后整个分区就不可识别了,(大约)只有 H 和 S 可以更改。就是说,一个不正确的 H 和 S,会导致微软的引导代码失败。但位于 MBR 上的 grldr.mbr 却能够避免失败。这就是自动几何探测强的地方啊。技术关键点就在这里呢。

>>> 从我回复楼主的观点上来说,哪点错了?

哪点错了,难道你还不明白?难道需要再重复写一遍?(不幸的是,在上一段,我已经重复写了。)

>>> 既然我回复了#1,观点就不针对#2了。

你针不针对 2 楼,有什么关系呢?这里是论坛,任何人都可以从自己理解的角度出发,来考虑问题。而且这又是在 grub4dos 讨论专区里面。难道不允许我回复你的帖子?

从回复时间来看,你的回帖在我的回帖之后 1 个多小时,你应该看到了我的回帖。可你贴子的内容仍旧说是与 MBR 无关。尽管你是回复 1 楼,但我也可以认为,你可能也 “附带地” 回复了 2 楼。所以我也接着 “澄清”,以免别人误解。

[ 本帖最后由 不点 于 2011-12-24 15:37 编辑 ]
作者: 2010_zheng    时间: 2011-12-24 14:21
原帖由 不点 于 2011-12-24 14:15 发表
>>> >>> 从我回复楼主的观点上来说,哪点错了?

哪点错了,难道你还不明白?难道需要再重复写一遍?(不幸的是,在上一段,我已经重复写了。)

>>> 既然我回复了#1,观点就不针对#2了。

你针不针对 2 楼,有什么关系呢?这里是论坛,任何人都可以从自己理解的角度出发,来考虑问题。而且这又是在 grub4dos 讨论专区里面。难道不允许我回复你的帖子?


呵呵,我从没有说你错了,你不用来这里对我说教吧。

倒是我从MS的引导角度上对楼主而说的#3的说法哪一点错了,请明示!难道我就一定要从grldr.mbr的角度一并分析才算正确?

我#3只说了 - 已经不关MBR的事了,楼主的出错提示中MBR已经正确读取PBR并把引导权交给PBR

你一定要说我错了的意思是说关MBR事?或根本没已经正确读取pbr?还是不允许我从ms的引导角度上说,这里是grub4dos专区就一定要从grldr.mbr的角度上说?可是楼主的出错提示明明就是ms的错误提示,呵呵,你永远是对的,可是我错在哪的确不清楚。

[ 本帖最后由 2010_zheng 于 2011-12-24 14:31 编辑 ]
作者: 小豪diao    时间: 2011-12-24 14:36
我就是墙头草,刚开始就是看谁说的有理就觉得谁是对的,后来就发现了两个人从两个角度分析。没有对错之分。
总之受益者无非是楼主我啦~好多新词汇,我得去搜索下,扩展下这方面的知识。嘎嘎

[ 本帖最后由 小豪diao 于 2011-12-24 14:38 编辑 ]
作者: wannaknow    时间: 2011-12-24 14:42
标题: 回复 #17 不点 的帖子
我觉得bpb里不止H和S可以错,DL号也可以错。

或者说,这仨就不该存在。
作者: 小豪diao    时间: 2011-12-24 14:47
标题: 回复 #20 wannaknow 的帖子
有个问题,那,什么h,s,dl ,出错,那经过各种折腾后,早上又都全部正常了
之前是说那些是在格式化后就固定了。这点有点乱
作者: my9823    时间: 2011-12-24 14:48
苦命的楼主,不过没关系,有争论才有动力撒!
作者: 不点    时间: 2011-12-24 15:02
我首先指出你的一个错误:你说你从来没有说我错了,但是,你指出我说你错了,你不满意(或者否认),这本身就是说我错了。论坛、论坛,本来就是辩论的地方,本来就有 “ 正确 ” 与 “ 错误 ” 的争辩,回避它,是没有用的。

我要是错了,根本不怕人指出。谁指出错误,我感谢谁。

如果我对你有 “说教”,我道歉。但是我自认为主观上从未有这种念头。

>>> 倒是我从MS的引导角度上对楼主而说的#3的说法哪一点错了,请明示!

可惜的是,你在 3 楼并未特别指明是以 “微软” 的思路来说的。你不指明,别人就可以随意理解。所以说,别人理解“ 错 ” 了,并且又反过来说你 “ 错 ” 了,这都很正常,没啥奇怪的。这里不是 MS 论坛,而是 grub4dos 论坛,大家的讨论,肯定不愿意停留在若干年前的 MS 的水平上,而是希望用最新的技术,给出最有力的答复。我们不能 “ 以老眼光看新问题 ”,因为那是 “ 裹足不前 ”。以一种眼光看问题,那结果可能判定是 “ 对 ” 的。但换个角度,以另外一种眼光看同一个问题,则可能判定是 “ 错 ” 的。这不稀奇,很正常。我觉得是你理解力有问题,所以,看到一个 “ 错 ” 字,就以为是挨 “ 批评 ” 了。事实上,“ 对 ” 和 “ 错 ” 都是正常的。

>>> 还是不允许我从ms的引导角度上说

当然不会是这样的。

>>> 可是楼主的出错提示明明就是ms的错误提示

失败是 MS 的失败,但原因的探讨,可以超出这个范围吧?总不能一直停留在 MS 的范畴而不能前进一步吧?你来到这里,你也经常使用 grub4dos,这本身不就说明,你是超出 MS 的范畴了吗?

>>> 呵呵,好象没人说不点说错了

我不是神。说错了是有可能的。高深技术讨论,难免出现错误。出错不丢人。不出错恐怕才不对劲。

>>> 可是楼主的出错提示明明就是ms的错误提示,呵呵,你永远是对的,可是我错在哪的确不清楚。

我认为,你这句话,暴露了你的 “攻击性”。就是 “ 你永远是对的 ” 这句。不过,我声明,我完全不在乎,任何攻击,对于我来说,都等于 0,完全与不存在是一样的,我也不可能计较。

>>> 所以,引导功能强大当然是 grub4dos,但兼容性还是不好判断

既然你的身份是 grub4dos 的用户,所以,我有理由 “ 不失时机地 ” 向你推销 grub4dos,顺便也为 grub4dos 做一个广告。grub4dos 除了功能强大以外,兼容性还 “ 真的 ”不错。楼主的问题就是一个证明。假如你是一个攻击者的话,你能够承认 grub4dos 的强大功能,这也算是 grub4dos 多年被打压而仍然有生命力的极好的证明:连攻击者都不得不承认了。如果你不是攻击者,你不要在乎我说的话,而且我相信,你甚至能够理解我。——对不起,我又把我的哲学运用到这里了,用来对付潜在的攻击者。向攻击者们说声 “ 对不起 ” 了!

[ 本帖最后由 不点 于 2011-12-24 15:58 编辑 ]
作者: 不点    时间: 2011-12-24 15:05
原帖由 wannaknow 于 2011-12-24 14:42 发表
我觉得bpb里不止H和S可以错,DL号也可以错。

或者说,这仨就不该存在。


这都是细节了。总扇区数错了也没关系。
作者: wannaknow    时间: 2011-12-24 15:08
标题: 回复 #21 小豪diao 的帖子
这仨是保存在你那分区的第一扇区上的。格式化的时候这仨会被改写(一般是255/63,盘号对于“类软盘"u盘是0x00,移动硬盘是0x80)
平常,这仨一般不变,你可以把它们改成别的,我只知道xp手欠,喜欢改盘号。
你的所谓“折腾”,就会改写这仨了,所以有时候“折腾”会影响u盘的启动兼容性。
作者: wannaknow    时间: 2011-12-24 15:18
标题: 回复 #24 不点 的帖子
这仨会严重影响默认xp版fat引导扇区的启动成功率。

比如一个一般的u盘,在我的电脑上u启是0x80   255   63。

如果我手动把bpb里的盘号改成0x80,默认xp版fat引导扇区就能直接u启成功。

但是xp很喜欢纠正这个“错误”的盘号,因此经常会坏掉,失败。

我后来改了引导程序一条指令,使其相信dl而不是bpb里的盘号,就不怕xp手欠了。
作者: 不点    时间: 2011-12-24 15:21
原帖由 wannaknow 于 2011-12-24 14:13 发表
我认为,ms的fat引导的整个思路就是“脑残”的思路。如果ms从一开始就不在bpb里保存dl值和chs参数,而是坚持使用bios传递的dl和int 13h返回的chs参数,那么就不会有现在的混乱了。


好像没这么简单。

我觉得那可能是历史遗留的问题。是逐步的发展所造成的。当初只有软盘的存在,而最初的软盘没有 int13/ah=8 的功能调用。甚至今天的软盘(包括 USB 被识别为软盘时)也可能没有 int13 的功能 8。于是才有 BPB 表决定软盘的几何参数。这不是 MS 的错误,而是历史遗留的问题。
作者: 小豪diao    时间: 2011-12-24 15:24
标题: 回复 #26 wannaknow 的帖子
为什么软件不做这个功能去干涉这仨蛋疼的玩意儿呢
作者: 2010_zheng    时间: 2011-12-24 15:44
标题: 标题
原帖由 不点 于 2011-12-24 15:02 发表
我首先指出你的一个错误:你说你从来没有说我错了,但是,你指出我说你错了,你不满意(或者否认),这本身就是说我错了。论坛、论坛,本来就是辩论的地方,本来就有 “ 正确 ” 与 “ 错误 ” 的争辩,回避它, ...


呵呵,不承认错误居然可以理解成一样认为你错,不得不感叹中文的博大精深和对文字灵活应用的重要性,呵

你看不懂我#3从微软的角度说,那如果从grub4dos的角度上说我能那样描述吗?呵呵,也许我汉字的确运用不灵所以大家看不清楚了

也许一开始就应该说清楚微软的落后,这样就不会引起第一感觉好象我在否定某些事那样了
作者: 2010_zheng    时间: 2011-12-24 15:53
呵呵,看了不点编辑后的回帖,我终于明白,一个人如果始终认为别人在攻击他的话会很累,怪不得一小段回帖会遇到如此回复。也不难理解为什么说我错了。
作者: 小豪diao    时间: 2011-12-24 15:58
可别升华 - - !讨论而已讨论而已。角度不同,角度不同……

和气生财和气生财~
作者: 不点    时间: 2011-12-24 16:04
标题: 回复 #30 2010_zheng 的帖子
无论你是不是攻击,都无用。帖子到这里,已经没有价值了。主要是,技术已经弄清了。

是攻击咋了?不是攻击又咋了?都没人再看了。

if 是攻击,

别人不会认为不点在 xxx 方面有毛病,或者 grub4dos 有某个不存在的缺陷,攻击的目的达不到,完结。

else

什么事都没发生,也完结。

都完结了。

我只不过是按照我的逻辑、用我的分析,怀疑你是攻击者,并且把它 “ 明说 ” 出来而已(所谓  “ 明人不做暗事 ”)。至于说别人信不信,我哪有那能力来决定啊?一切得看自己的 “ 造化 ” 了,谁都无法控制别人的思想。特别是,假如你是攻击者,而你想控制别人的思想,那也一样的,没那么容易。这里没有幼儿园的孩子。

[ 本帖最后由 不点 于 2011-12-24 16:38 编辑 ]
作者: 2010_zheng    时间: 2011-12-24 16:07
呵呵,同意,无论我有没得说我错在哪的解释,也已经不重要了
作者: sgw888    时间: 2011-12-24 16:13
楼主的问题,我之前就已经找到问题的原因了,当使用GRUB4DOS做为主引导时,因为它有自己的CHS探测机制所以不容易失败.  使用ABR还原软件,分区BPB参数表,主要是磁头数一般会被认为是16,如果这儿的磁头数是错的,那么使用微软的MBR引导就会失败(除G4D外的其它大多数引导程序也会失败)

分区表部分的CHS参数跟分区DBR 扇区BPB参数表要一致才行.
作者: 不点    时间: 2011-12-24 16:16
标题: 回复 #33 2010_zheng 的帖子
是的,连同你上一个帖子一起回复吧:

>>> 我终于明白,一个人如果始终认为别人在攻击他的话会很累,怪不得一小段回帖会遇到如此回复。也不难理解为什么说我错了。

我看了霍金的《大设计》一书,觉得整个地球都很渺小。一个人、一件事,那都是微不足道的。很快就会被遗忘。争论、口角,全都是浪费。为什么呢?因为别人主要是来看技术的,谁有闲工夫去注意打架斗殴的帖子?谁去花费精力来分辨谁对谁错?一切皆是 “ 过眼烟云 ”。

你对我个人有任何 “成见”,我完全不在乎。你用不用 grub4dos,我也完全不在乎。假如你一直在用 grub4dos,今天就因为我的某句话惹你不高兴,让你远离了 grub4dos,我认为,那是不可能的。就算是那样的,也一样是浩渺太空中一个被厚厚的大气层掩盖之下的一群能生产粮食和制造核武器的生物的某些奇怪的行为罢了,很渺小,非常之渺小.......非常...非常之渺小......(很抱歉,我是中国人,又在运用汉语的丰富表达能力了......)

别 “ 气馁 ”。假如你不是攻击者(我说 “ 万一 ”),你看到我这么难以对付,你应该至少感到一丝高兴,连你都对付不了,又怎能对付真正的攻击者呢?一个优秀的乒乓球运动员,不就是需要战胜自己的队友才能夺取世界冠军吗?因为确确实实在以往的几年,我们遭到了大量的攻击。注意,这不仅仅是我个人,而是整个开发团队。我们有证据的,如果你一直关心着我们,你也一定知道这事。论坛、网站、管理员、开发者,统统遭到了攻击。你 “ 可以 ” 不是攻击者,但你不可以否定别的攻击者的存在,如果你敢试图否定,那我可以断定,你就是攻击者无疑了,因此给你最终判个死刑,让你心服口服。

[ 本帖最后由 不点 于 2011-12-24 17:16 编辑 ]
作者: 2010_zheng    时间: 2011-12-24 17:14
标题: 标题
原帖由 不点 于 2011-12-24 16:16 发表
是的,连同你上一个帖子一起回复吧:

>>> 我终于明白,一个人如果始终认为别人在攻击他的话会很累,怪不得一小段回帖会遇到如此回复。也不难理解为什么说我错了。

我看了霍金的《大设计》一书,觉得整个地 ...

该说的终于在你最后编辑的几句中说出来了,呵呵,太不好意思了,我在用grub4dos,又得罪了你,早知道你会拿这个说事,我就不敢得罪你老人家了,算了好吗?给我继续用吧,我这里没说过grub4dos坏话啊,我只是问问你错在哪而已嘛,现在可更不敢再纠缠问下去了
作者: 不点    时间: 2011-12-24 17:19
标题: 回复 #36 2010_zheng 的帖子
那我真该向你道歉了。一个真正的攻击者,还真不会像你这样呢,至少以前没有这样。

实在对不起,请你原谅。就当我没有说过那些过于 “ 张扬 ” 的话吧,我为曾经说了那些过分的话来对付自己的 “ 队友 ” 而感到羞愧。对不起!
作者: 2010_zheng    时间: 2011-12-24 17:21
说到底,还是多疑引起,你也不想想,不是你先说我错了,我会回复你帖?由头至尾说过grub4dos的哪句不中听的话?攻击你的逻辑是从哪分析出来?手机看帖有些慢,不过就你楼上的两个双引号,我觉得你道歉太没必要,或许反过来是我多心了

[ 本帖最后由 2010_zheng 于 2011-12-24 17:27 编辑 ]
作者: 不点    时间: 2011-12-24 17:29
知道了,是我多疑。我有这毛病,一时也难以改掉啊。还请原谅了。

别为 双引号 多心。我一直使用双引号,表示 “ 强调 ”,不表示 “ 反义 ”。这是我的习惯。你看我别的帖子,都是这样的。看来我得改用别的方式来表示强调了,淘汰有歧义的双引号。这是我的错,但我也觉得 “ 冤枉 ”,因为汉语缺乏一个表示强调的符号。“ 着重号 ” 不适合用于电脑(甚至 GB18030 里面究竟有没有 “ 着重号 ” 的一席位置,我都感到怀疑,即使有它,但 “ 怎么使用它 ” 也是一个疑问)。看来这个问题应该提交 “ 文字改革委员会 ” 了。今后,在 “ 文字改革委员会 ” 出台 “ 新方案 ” 以前,我可能 “ 不会说话 ” 了,正如 “ 邯郸学步 ” 的故事那样。

[ 本帖最后由 不点 于 2011-12-24 17:56 编辑 ]
作者: wannaknow    时间: 2011-12-24 18:00
标题: 回复 #39 不点 的帖子
你可以这样:

你们俩在技术上的观点事实上是一样的。
或者下划线。

http://bbs.wuyou.net/faq.php?action=message&id=18

[ 本帖最后由 wannaknow 于 2011-12-24 18:06 编辑 ]
作者: 小豪diao    时间: 2011-12-24 18:22
好吧,其实导火线在于我……
不管怎么样,你们彼此都没有恶意。只是在观点上的争论升华到语言的火星罢了。

如果可以的话,强烈欢迎再弄个基情版块。然后直播╮(╯_╰)╭ 好像想的有点歪了。
作者: 不点    时间: 2011-12-24 19:04
标题: 回复 #40 wannaknow 的帖子
“ 下划线 ”,或者 “ 斜体 ”,是 “ 西式 ” 表示强调的方式,不喜欢。那玩艺像一道 “ 完型填空 ” 的题,有些 “ 难受 ”。而且在打字时,与敲入 “ 粗体 ” 的格式一样很麻烦。而且,从未见到有人用这些方式表示强调。倒是屡屡见到有人用很大的彩色字来表示强调的。
作者: 不点    时间: 2011-12-24 20:31
既然已经有很多 题外话 了,就顺便再说点 题外话 吧。任何事情,都有 “ 两面性 ”。当初随意开发一个软件,不曾想,它却早早都被 “ 盯上 ”,并不断遭受 “ 封杀 ”。——说到此处,打断一下,也许有人反驳,说 “ 不曾有人封杀 grub4dos ”。好了,那是你的见解,不关我什么事。你说没人封杀 grub4dos,那或许有人信。但你假如想说的是任何软件都不曾遭到封杀,那就太 “ 过火 ” 了,没人信了。

言归正传。当我发现 grub4dos 遭到封杀的时候,我首先感到十分震惊,其次感到十分恼火,再次感到我必须担负起责任,站好这个岗,竭尽全力击退所有封杀的企图,不让他们轻易得逞。让封杀者即使干掉了 grub4dos,它自己也得受伤挂彩。其实这也是可以理解的心情,任何人都不希望 “ 自己的工作白做了,自己的日子白过了 ”。不管我的工作有多大还是多小,不管我是出于兴趣还是为了发财,我的所作所为,我自己负责,岂能容忍别人来摆布自己的命运?人都是一样的,都要争一口气。为了争一口气,生命都在所不惜。为了争一口气,可以打官司。为了争一口气,可以行凶。大家都是一样的心情。假如当初没有人封杀的话,可以坦白地说,我根本不可能坚持这么多年一直开发 grub4dos,最多也就一两年就没有兴趣了。而那时,距离我第一次得病还早着呢。正是封杀者造就了我这么多年的坚持。不解决封杀问题,决不罢休,死也要对抗到底!

这就是 “ 哲学 ”:封杀的效果,不一定比本来就不封杀强。敌人都是自己树立的。自己不树立敌人,那很可能就没有敌人。正如本帖,可能一开始就是我自己树立了敌人。万事万物,其道理是相通的。

要封杀,就一定要制造不兼容。而制造不兼容,却是 “ 双刃剑 ”,既可以杀别人,也可以杀自己。这是封杀者应该得到的、符合逻辑的结果。这里没有幼儿园的小孩,因此这结果也就不用明说了。

哦,还要补充一点。当初只是写一个 grub.exe 运行于 DOS 下,假如没人封杀的话,我怎么可能后来又学了很多关于 A20 的知识?怎么可能把每个中断反反复复研究?到后来往操作系统上发展,更是当初不可能想象的事情。

广而告之:硬件制造商们!你们是干什么的,你们自己心里是明白的。假如你们没有封杀开源软件的主观意图,你们一定要小心。你们所采用的芯片组可能是别人早已设计好的。那是用来封杀开源软件的芯片组。你们要小心,排除掉那些恶意的 bug,或者采取 workaround,即后续的硬件补救措施。否则你们就有意无意的成为了封杀者的帮凶。假如你们本来就是帮凶,那也无所谓了。但假如你不是的,那很冤枉。不是说我要冤枉你,我怎么想,都没用,我一个人,没有什么力量。你要是能保证众人不冤枉你,而且将来的大众都不会冤枉你,那你就是成功的。假如你不是帮凶,你最好测试开源软件的运行,尤其是 Linux 等著名大型软件,当发现没什么问题以后再发布你们的硬件。否则你怎么可能洗清你自己?难道你们的硬件一定要给大众一个铁定的印象:经过严格权威认证的、绝对不支持开源软件的电脑!非要如此,那么你们一定会遭到报应!等报应来到的时候,没人救你,上帝也不救你的。

比如说,我本人由于开发 grub4dos 的关系,了解到 intel 有主板、显卡等外设不能顺利运行 grub4dos。其实是说故意 “ 设卡 ”。甭说已经有好几个证据了,哪怕只有一个证据,那在我的心目中,你 intel 就是一个帮凶无疑了。你想改变我的想法,那简直 “ 蜀道难,难于上青天 ”。既然如此,那么在与 ARM 的芯片竞争中,我就没有理由倾向于你 intel 了,而是有可能更倾向于 ARM。就是说,虽然你只是在主板等外设上有问题,但你丢掉的却是整个品牌形象,这是无形的损失,其损失之大,无法用现金的多少来估量。

[ 本帖最后由 不点 于 2011-12-24 22:27 编辑 ]
作者: my9823    时间: 2011-12-24 21:46
**,不点老大你的广而告之太牛x了,鼓掌!!
作者: 不点    时间: 2011-12-24 22:30
标题: 回复 #44 my9823 的帖子
谢谢。既然这样,那就把那一段的字号加大加粗,便于阅读。

呵呵,看官们如果觉得可行,就给那些电脑制造商写信,或者在他们的论坛上贴出来。每天贴它几十个帖子。贴的人多了,他们就不敢太放肆了。

[ 本帖最后由 不点 于 2011-12-24 22:44 编辑 ]
作者: 小豪diao    时间: 2011-12-24 23:02
标题: 回复 #45 不点 的帖子
有料有内幕呀,看来俺们局外人还以为风平浪静
作者: 2011yaya2007777    时间: 2011-12-29 09:37
使用 bootice 设置分区引导记录,选择“NTLDR引导程序(FAT/FAT32/NTFS)”,其引导代码有待商榷。

它首先使用 int13/08 中断返回的 chs 参数计算磁盘总扇区数。当读取的扇区号小于磁盘总扇区数,则使用 int13/02 中断读扇区(这时的 chs 采用 BPB 表参数)。在实模式下问题还不大,但在虚拟机里,虚拟机认定的 chs 参数(即使用 int13/08 中断返回的 chs 参数),往往与 BPB 表参数不一致,这导致问题产生。

楼主说一开始不行,后来又正常了,那是“经过ABS的备份还原的实验后,今天早上来实验又发现可以引导了”,不知是否修改了代码或参数。

先采用 int13/42 中断,不行后采用 int13/02 中断的修改方法:
把偏移 0x0e0 开始的 663B46F80F824A00 修改为 9090909090909090,
把偏移 0x12a 开始的 6658665866586658 修改为 6190720690909090。

只能采用 int13/02 中断读扇区的情况很少。我遇到的是 bios 识别 u 盘为软盘,隐藏 pbr 前的扇区,修改 BPB 表的“隐藏扇区数” 3f 为 00,修改“驱动器号”80 为 00,禁止扩展读。此时读 0-0-1,即原先的 0-1-1.




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) Powered by Discuz! X3.3