|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
31 楼』:
> 由于没有BCDL的源代码和详细的工作原理说明文件,所以至于BCDL所期望的是“软的”还是“硬的”,确实无法说明。
它要引导真实光驱,又假定它无法使用 BIOS 本身的光驱引导程序,那么,它大概也只有这一个办法了,用硬件 IO 标准 ATAPI 来实现。不排除它也同时实现软的方法,但,那可能性太小了,它如果实现了软的方法,那么它应当顺便就实现了 ISO 文件的引导。或者说,实现软的方法,其目的就是实现 ISO 文件的引导。
> 不过,如果GRUB针对BIOS写补丁程序的话,虽然可能实现一些非常美好的功能,但是,由于BIOS的光盘读功能本来就没有标准,GRUB的此补丁能做到通用吗?还有,如果BIOS本身就不支持光盘引导功能怎么办(比如我的那台电脑就是)?
GRUB 做出补丁的话,当然是 GRUB 自己的调用方法了(放在 int 13h 中),跟谁的都不一样;也没有谁的曾经出现过,所以,想跟它一样都不可能了。既然是 GRUB 自己的,当然就统一了。只要使用 GRUB,就会有这个统一的补丁。不使用 GRUB 的话,当然没有了。
GRUB 的补丁,就是要把 BIOS 里面的光盘扇区函数找出来,这些函数,可能不是以 int 的形式出现的,GRUB 补丁的意图,就是把这些函数封装到 int 13h 之中。如果某个主板对此进行加密(不太可能这么做),那我们就可能无法找到这个函数,这样,我们当然就放弃对这类主板的支持。我的机器是华硕的主板,看来这个函数比较容易找到,现在已经有点眉目了,只是没有时间去做。
如果 BIOS 本身都不支持,那么,当然没有这样的函数了。放弃对这个主板的支持。
在 GNU GRUB 的 TODO 列表中也有这样明确的暗示,要求 BIOS 本身必须支持光盘引导。看来 GNU GRUB 的开发者也是这么考虑的,其思路可能和我们的是一样的。
当如上所说无法支持某个主板的时候,我们是指不支持从真实光驱引导。从 ISO 文件引导完全是支持的,这个与 BIOS 是否支持光驱引导无关。ISO 文件是软的,使用“可引导的 CDROM 标准”。
要想在那些主板之下支持真实光驱引导,可以选择 SBM 或者 BCDL。两个都是漂亮的软件。GRUB 不可能代替它们。
|
因为我们亲手创建,这个世界更加美丽。 |
|
2003-10-7 00:00 |
|
|
Wengier
系统支持
“新DOS时代”站长
积分 27734
发帖 10521
注册 2002-10-9
状态 离线
|
『第
32 楼』:
我这几天发现BCDL最新的3.0版也推出了,它显然扩充了自身的灵活性。具体情况是,它自动在C:\下查找以下文件:
VIDE-CDD.SYS (IDE/ATAPI光驱驱动)
USB_CD.SYS (USB光驱驱动)
USBASPI.SYS + ASPICD.SYS (USB光驱驱动)
ASPI2/4/7/8DOS.SYS + ASPICD.SYS (SCSI/ASPI光驱驱动)
等等。。。
可见,BCDL.BIN并非通过硬件方法将驱动定死在IDE/ATAPI光驱上,而是通过从网上到处拼凑一些各种类型(如SCSI、USB等)的光驱驱动程序来实现其相应光驱的引导的。说不定哪天BCDL真会通过SHSUCDHD来实现ISO文件的引导呢?
|
Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
|
|
2003-10-7 00:00 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
33 楼』:
那些光驱的驱动程序,应当都是用 ATAPI 硬件标准的。实现 ISO 文件的引导是不难的,别说有了 BCDL 以及 SBM 等,即便是没有它们,那么白手起家--用可引导的 CDROM 标准--也可以编写 ISO 的引导程序。引导 CDROM 同时需要上述两个标准。
GRUB 当然也可以加入对 ATAPI 标准的支持从而引导 CDROM。但是,那样的代价是,代码增大到不可接受的程度。这还是小事,更重要的,可能没有人去写了。即使把 SBM 的程序移植过来,都是相当不容易的。
我们现在的 GRUB 仿真程序,代码只有 1K,将来加入 CDROM、ISO 的支持,估计要增大到 2K 甚至 3K 了(仅就 int13的处理程序而言)。
如果用 ATAPI 标准把光驱的引导给以实现,那么,BIOS 中的CDROM 引导程序就不能得到有效的利用,这也是一种损失。
如果把 CDROM 的 int13 接口予以实现,那么,我们在 DOS 下不需要任何驱动程序,仅仅像对硬盘那样使用 int13 就可以任意访问光盘上的扇区了。这是用 ATAPI 硬件方法所不可能得到的、一个非常革命性的优点。
ATAPI 的方法,本质上只对老的 BIOS 才有价值【这些 BIOS 不能引导 CDROM】。我认为,支持老的 BIOS 以及老的 CPU 如 286,是意义不大的。
-----------
补充一下。似乎看到有人说某些 SCSI 光驱的主板,本身就可以把光驱当作硬盘来使用,是把光驱当作 BIOS 的硬盘号如 0x83 来实现。在 BIOS 设置程序中可以设置是否把光驱当作硬盘。
也许,不久之后,IDE 的光驱也会这么做的。果真如此,那就太方便了,也就不用我们再去 HACK 了。现在刷新 BIOS 是很方便的。也许我们应该等待,而不是急于去编写什么。我最害怕作无用功了。
有个人写了 BIOS 优化程序,是用来刷新 BIOS 的。也许我们可以等待他写出新的程序,将 CDROM 的补丁加入其中,这不就省事儿了?果真如此,我们也就只剩下编写从 ISO 文件来引导的程序了。所以,也许,应当只干这 ISO 文件的工作,这样,就不会白干了。
[此贴子已经被作者于2003-10-7 22:26:02编辑过]
|
因为我们亲手创建,这个世界更加美丽。 |
|
2003-10-7 00:00 |
|
|
hunome
银牌会员
颓废青年
积分 2265
发帖 721
注册 2003-5-12
状态 离线
|
『第
34 楼』:
有没有可能和bcdl的作者联系一下呢?
|
|
2003-10-9 00:00 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
35 楼』:
> 有没有可能和bcdl的作者联系一下呢?
应当是可能的. 这个我不擅长, 不知道 wengier 能否.
有硬件的驱动, 再加入软件的驱动, 比较容易. 而从软件的驱动, 再去做硬件的驱动, 比较难.
我的意思是说, BCDL 或 SBM 的作者, 可以比较容易地加入 ISO 的仿真支持, 而别人不容易加入对 CDROM 硬件的支持. 硬件规范理解起来难, 而软件标准要容易理解一些.
|
因为我们亲手创建,这个世界更加美丽。 |
|
2003-10-10 00:00 |
|
|
xiaojun
银牌会员
积分 2202
发帖 499
注册 2003-6-12
状态 离线
|
『第
36 楼』:
[em04][em04][em04]
[em04][em04][em04]
[此贴子已经被作者于2003-10-14 0:41:41编辑过]
|
一年四季,枫叶红了又红;人生四季,失去的,还能再来吗?—— ! |
|
2003-10-10 00:00 |
|
|
Gandalf
中级用户
CPU
积分 362
发帖 96
注册 2004-7-8 来自 北京
状态 离线
|
|
2004-8-11 00:00 |
|
|
fujianabc
金牌会员
积分 3467
发帖 1616
注册 2004-6-21
状态 离线
|
『第
38 楼』:
其实个人觉得,就算支持iso文件模拟光驱,意义也不大,原因如下:
光盘启动有三种模式:模拟软盘启动、模拟硬盘启动、无模拟启动
对于前两种模拟启动,grub已能支持,所以只需要把光盘内的镜像提取出来即可,
而至于无模拟启动模式的iso文件,现在所见到的其实只有2k/xp/pe系列的光盘,就算能够模拟光驱启动,也只是基于bios的模拟,而2k/xp/pe不是基于bios的系统,就算能够模拟成功,也只能完成启动过程,无法完成进入操作系统。这就如同2k/xp/pe下不能访问grub所模拟的软驱一样,同理grub所模拟硬盘和光盘也无法进入winpe。 而从bcdl的引导原理来看,却可以从中得到借鉴,有可能(?)用类似的原理实现从不支持u盘启动的主板上启动u盘。
|
|
2004-8-11 00:00 |
|
|
dato
高级用户
积分 916
发帖 377
注册 2004-3-8
状态 离线
|
|
2004-8-11 00:00 |
|
|
fujianabc
金牌会员
积分 3467
发帖 1616
注册 2004-6-21
状态 离线
|
『第
40 楼』:
现在不能模拟iso,但可以这样,提取出iso的启动镜像,先用虚拟软驱启动,然后加载dos下的虚拟光驱程序,再从iso开始安装。或许可以建议版主做成一个 img+iso 更方便,其中在img内完成虚拟光驱加载iso文件的步骤。
|
|
2004-8-11 00:00 |
|
|
newjordan2004
初级用户
积分 134
发帖 9
注册 2004-7-30
状态 离线
|
『第
41 楼』:
请问版主怎么样才能使用虚拟机?因为本人装不了MS-DOS7.10,所以想用虚拟机玩,版主帮帮忙~~~
|
|
2004-8-12 00:00 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
42 楼』:
修改别人写的程序是痛苦的, 我最近在看 edd30, myint13h 等模块, 发现其中有不少错误, 同时也感觉到很难全面把握其编程思想, DOC很不详细.
我现在重又想起我以前的观点了, 就是 HACK BIOS, 直接找出 CDROM 的扇区函数. 这样虽然也难, 但至少是我自己编写的, 我自己可以读懂, 这是肯定的了.
我先HACK我自己机器上的 BIOS, 成功之后积累经验, 再 HACK 办公室机器上的 BIOS. 并且把 HACK 的方法公开出来, 然后别人也可以用类似的方法进行 HACK 了. 在理想的情况下, 所有的 BIOS 都可以支持了.
有源代码不见得就比没有源代码容易. 我的华硕主板的 BIOS, 即便用 DEBUG, 都非常清楚, 可是 edd30 以及 myint13 等程序, 看起来太乱了, 也很臃肿.
|
因为我们亲手创建,这个世界更加美丽。 |
|
2004-8-14 00:00 |
|
|
bush
银牌会员
积分 2165
发帖 730
注册 2004-4-21
状态 离线
|
|
2004-8-25 00:00 |
|