China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-06-24 09:10
中国DOS联盟论坛 » 其它操作系统综合讨论区 » [Repost] The Origin of Bootable CDs View 1,610 Replies 2
Original Poster Posted 2010-08-14 15:36 ·  中国 四川 绵阳 电信
初级用户
★★
Credits 121
Posts 57
Joined 2010-08-09 13:43
15-year member
UID 172053
Gender Male
Status Offline
A lot of friends here who are nostalgic, myself included, must find it strange: the genuine original MSDN Win98/NT4 installation CDs and all Windows installation CDs up to the present are bootable, but the Win95 OSR2.1/NT3.51 CDs are not bootable. Why is that? To understand this, we have to start with the origin of bootable CD-ROMs. The following is my repost.
The concept of a bootable CD-ROM (also called a bootable CD) was proposed as early as 1994, in the glorious DOS era. At that time, CD-ROM was still an expensive peripheral for PCs (a CD-ROM plus sound card was then called a multimedia kit, and a computer with a multimedia kit was called a multimedia computer). Also, there were some technical difficulties in implementing CD booting on the DOS platform: the CD-ROM had to be detected before DOS was loaded, and at that time this could not be done through software. The only solution was to modify the BIOS on the computer's motherboard (or the BIOS on the SCSI or IDE controller) so that it would recognize the CD-ROM at the hardware level rather than the software level, and automatically load the boot loader from the CD-ROM (a special piece of code stored in a specific area of the CD-ROM, used to control CD-ROM booting).
On January 25, 1995, Phoenix Technologies and IBM jointly published the Bootable CD-ROM Format Specification 1.0 — the El Torito specification. This specification defined the data structure of bootable CD-ROMs, the layout of image data, and some detailed instructions for disc creation. In fact, this specification also implicitly established the specification for BIOSes capable of reading bootable CD-ROMs, so that bootable CD-ROMs conforming to the El Torito specification could boot normally on computers. If there were bootable CD-ROMs but computers could not read them, wouldn't that still be useless?!
After that, Phoenix, either on its own or jointly with other manufacturers, successively released a series of specifications and standards supporting bootable CD-ROMs. One worth mentioning is the BIOS Boot Specification 1.01 released jointly by COMPAQ, Phoenix, and Intel on January 11, 1996. This specification provided BIOS makers with a standard for producing BIOSes that support bootable CD-ROMs.
Since the introduction of the El Torito specification, large numbers of bootable CD-ROMs using a single boot image have appeared, and the El Torito specification has become a de facto industry standard.
Bootable CD-ROMs still follow the ISO 9660 specification. Simply put, an ordinary CD-ROM + boot capability = a bootable CD-ROM.
This is the fundamental reason why the Win95/NT3.51 installation CDs are not bootable — when these two systems were released, the El Torito specification had not yet been born. (End of repost)
As for why the OSR2.1 CD also cannot boot, my guess is this: in order to maintain compatibility with older versions of 95, OSR2.1 was designed entirely according to the standards of the older versions, only adding support for FAT32, IE3.01, USB/AGP, and so on on that basis. For example, the OSR2.1 boot disk also did not include a CD-ROM driver. Given the above reasons, there was likewise no need to make OSR2.1 into a bootable CD.
As for NT4.0, a great many improvements were made over 3.51, and the boot method also had subtle differences. According to my tests, if you load the 4.0 boot loader into the NT3.51 ISO, it reports that txtsetup.sif cannot be found as soon as the blue screen appears.
Floor 2 Posted 2010-08-14 16:19 ·  中国 上海 浦东新区 电信
金牌会员
★★★★
Credits 3,467
Posts 1,616
Joined 2004-06-21 00:00
22-year member
UID 27148
Status Offline
This issue was discussed in the boot disk and grub4dos sections. The OP missed a very key point: Microsoft played a major role in the establishment of the el torito standard (more specifically, a negative role).

In 93-94, Microsoft came up with the DOS file system driver for accessing CDs, mscdex.exe. After that, in order to preserve the CD-ROM driver + mscdex method, it influenced the el torito standard and obstructed the implementation of one very key point in the el torito standard, namely using the int 13 interrupt to access the CD-ROM when not booted from CD. This made it necessary under DOS to load a driver in config.sys in order to access the CD-ROM (by contrast, floppy drives and hard disks can still be accessed under DOS without separately loading drivers even when booted from other devices)

And boot tools such as grub4dos also ran into great difficulties accessing CD-ROMs because of this problem

[ Last edited by fujianabc on 2010-8-14 at 16:20 ]
Floor 3 Posted 2010-08-14 16:30 ·  中国 上海 浦东新区 电信
金牌会员
★★★★
Credits 3,467
Posts 1,616
Joined 2004-06-21 00:00
22-year member
UID 27148
Status Offline
There are altogether 3 modes for el torito CD booting: floppy emulation, hard disk emulation, and no emulation.

The first examples of boot CDs for the latter two modes were both made by Microsoft according to the standard.

The first example disc using no emulation was the nt 4 system disc. NT 3.51 files still won't work even if you use the nt 4 boot sector, because NT 3.51's setupldr.bin does not support the iso file system, so it cannot find txtsetup.sif on the CD

The first example of hard disk emulation appeared in nt 4 embedded, and later xp embedded also used it. But aside from that, hard-disk-emulation boot CDs were hardly ever used in other situations.
Forum Jump: