中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [转]可启动光盘的起源 上一主题 | 下一主题
xkai2010
初级用户





积分 121
发帖 57
注册 2010-8-9
状态 离线
『楼 主』:  [转]可启动光盘的起源

在这里怀旧的很多朋友,包括本人,一定觉得奇怪:正宗的MSDN原版Win98/NT4到现在的所有版本Windows的安装光盘都是可启动的,可是Win95 OSR2.1/NT3.51的光盘却是不可启动的,这是为什么呢?要弄清这个问题,就得从可启动CD-ROM的起源说起。下面是我的转帖。
可启动CD-ROM(或称可引导光盘)的概念早在1994年(辉煌的DOS年代)就被提出来了,当时CD-ROM还是PC机的一个昂贵的附属设备(CD-ROM加声卡在当时被成为多媒体套件,带多媒体套件的电脑被成为多媒体电脑),而且在DOS平台下实现光盘引导还存在一些技术上的困难:要在载入DOS之前就必须检测到CD-ROM,而这一点,当时从软件上是无法实现的,惟一的解决之道就是修改电脑主板上的BIOS(或是SCSI与IDE控制器上的BIOS),使之在硬件级而不是软件级首先识别CD-ROM,并自动加载CD-ROM上的启动引导器(存放在CD-ROM上特定区域的一段特殊代码,用以控制CD-ROM的启动)。
1995年1月25日,Phoenix Technologies与IBM联合发表了可启动CD-ROM格式规范(Bootable CD-ROM Format Specification)1.0--El Torito规范,该规范中定义了可启动CD-ROM的数据结构与映像数据的配置及光盘制作的一些详细说明。实际上,该规范也隐含地制定了能够读取可启动CD-ROM光盘的BIOS的规范,使得符合El Torito规范的可启动CD-ROM在电脑上能够正常启动。如果可启动CD-ROM有了,但在电脑上无法读取,岂不还是白搭?!
随后,Phoenix又独自或联合其他厂家相继发布了一系列支持可启动CD-ROM的规范和标准,其中值得一提的是1996年1月11日COMPAQ、Phoenix与Intel联合发布的BIOS启动规范(BIOS Boot Specification)1.01,该规范为BIOS厂家提供了制造支持可启动CD-ROM的BIOS的标准。
自从El Torito规范推出之后,采用单重启动映像的可启动CD-ROM大量涌现,El Torito规范也成为事实上的工业标准。
可启动CD-ROM仍遵循ISO 9660的规范,简单地说,普通CD-ROM+开机功能=可启动CD-ROM。
这也就是Win95/NT3.51安装光盘不可启动的根本原因——这两个系统发布时El Torito规范还没有诞生。(转帖结束)
至于为什么OSR2.1的光盘也不能启动,我猜想是这样:OSR2.1为了保持与旧版本95的兼容性,一切都是按照旧版本的标准来设计的,只是在其基础上增加FAT32、IE3.01、USB/AGP等功能的支持。举例来说,OSR2.1的启动盘也没有带光驱驱动。鉴于以上原因,OSR2.1同样没必要做成可启动光盘。
而NT4.0,则在3.51上做了大量改进,启动方式也有了细微的差别。根据我的测试,NT3.51的ISO里加载4.0的引导后,蓝色屏幕刚刚出现就报找不到txtsetup.sif错误。

2010-8-14 15:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 2 楼』:  

这个问题在启动盘和grub4dos板块里面讨论过,楼主漏了一个很关键点,就是微软在el torito标准建立的过程中起过很大作用(更具体来说是反作用)。

在93-94年,微软搞出了dos下访问光盘的文件系统驱动mscdex.exe。之后为为了保持光驱驱动+mscdex的方式,影响了el torito标准,阻碍了el torito标准中一个很关键点的执行,也就是非光盘启动时的int 13中断访问光驱,使得dos下必须在config.sys中加载驱动才能访问光驱(与此形成对比的是,软驱,硬盘即时从其它设备启动,dos下部另外加载驱动也能访问)

而诸如grub4dos等引导工具访问光驱也因为此问题遇到了很大困难

[ Last edited by fujianabc on 2010-8-14 at 16:20 ]

2010-8-14 16:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 3 楼』:  

el torito光盘启动一共有3种模式:软盘模拟、硬盘模拟和无模拟。

后两种模式的第一张启动光盘实例都是微软根据标准作出的。

无模拟方式的第一张光盘实例便是nt 4的系统盘,nt 3.51的文件即使用nt 4的启动扇区也不行,因为nt 3.51的setupldr.bin不支持iso文件系统,所以找不到光盘上的txtsetup.sif

硬盘模拟方式的第一个实例出现在nt 4 embedded中,后来xp embedded也在使用。但除此之外,硬盘模拟的启动光盘几乎没在其他场合使用过。

2010-8-14 16:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: