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-07-22 18:17
中国DOS联盟论坛 » DOS启动盘 & LOGO技术 (启动盘室) » Single Boot CD Production 1 View 2,729 Replies 5
Original Poster Posted 2003-01-19 00:00 ·  中国 北京 263网络通信股份有限公司
银牌会员
★★★
nre
Credits 1,210
Posts 361
Joined 2002-12-28 00:00
23-year member
UID 629
Gender Male
Status Offline
! This post is only for friends who are interested in the principle of bootable CDs! If your only purpose is to make a bootable CD, you'd better skip this post.

The method mentioned here is implemented according to the "EL TORITO" Format Specification V1.0. In other words, to make a bootable disk through this method, only a hex editor and an ISO image making tool are needed. This is the most fundamental call, so there is no compatibility issue. Other tools for making bootable disks are actually based on this format.

"EL TORITO" BOOTABLE CDROM FORMAT V1.0 supports multiple boots (unlimited number), multi-platform 80X86, POWER PC, MAC, and multi-image formats (1.2M, 1.44M, 2.88M, HD).
Http://www2.zzu.edu.cn/ie/newdos/uploadImages/200311923251832792.jpg
This article mainly explains the production process of SINGLE BOOT-IMAGE.

Find an existing disk image or make one yourself. The image made by HD-COPY may not work, but the one made by WINIMAGE is okay. Use the ISO image making software to make this IMG into an ISO CD image.

Manually convert this ordinary ISO into a bootable single-boot CD. First, say a few concepts to help you understand the production process.

A standard ISO9660 CD has 333,000 sectors, each sector has 2,352 bytes, and 2048 bytes are used to store data. The sector in the CD is the same concept as the cluster in the disk, that is, the smallest storage unit of the CD. In other words, if a file is only 1 byte, it also occupies one sector of 2048 bytes in the CD.

The first 16 sectors (0-15 sectors) are not used by the system. The 17th one (sector 16) is the primary volume descriptor of the CDROM. The 18th sector (sector 17) is the Boot Record Volume of the CDROM, and the identification of the bootable CD is also here.

As mentioned earlier, each sector is 2048 bytes, so the address of the 18th sector (sector 17) is 2048 * 17 = 34816.

This is a common ISO CD image made by WINISO.

CD001 is the identification of the ISO9660 CD, which must exist, otherwise the CD may not be recognized. Only this CD001 identification is necessary in this sector. Other information is generated by the ISO making software, such as the volume label, etc. Clearing them all will not affect the CD.

This is the identification of the Boot Record Volume of the bootable CD, with 4 key points.
1. It must be the 18th sector (sector 17) because there is sector 0, so the 18th sector is sector 17.
2. After CD001, change the ASCII code to EL TORITO SPECIFICATION, which is the identification of the bootable CD. The BIOS recognizes whether it is a BOOTABLE CD through this.
3. The 2 bytes after EL TORITO SPECIFICATION must be 0, not ASCII space. The ASCII space is 20 in hexadecimal.
4. The 02 at the address 34887 is to specify the LBA address of the Booting Catalog mentioned in the first picture.

Theoretically, the Booting Catalog can be placed anywhere on the CD. I have seen some similar articles before. The method they use is to first create a 2048-byte file, put it and the boot disk image into the ISO together, and then put the LBA address of this 2048-byte file at 34887 to be used as the Booting Catalog. I think this method is unnecessary. As mentioned earlier, each sector of the ISO9660 CD is 2048, and the first 16 sectors are not used by the system, so you can directly take any one of the first 16 sectors as the Booting Catalog. For this boot disk, I used sector 2 as the Bootable Catalog, so I wrote 02 in 34887. So the Booting Catalog address of this disk = 2048 * 2 = 4096.


Teamwork !
Floor 2 Posted 2003-01-19 00:00 ·  中国 黑龙江 哈尔滨 联通
高级用户
★★
Credits 830
Posts 233
Joined 2002-11-29 00:00
23-year member
UID 364
Gender Male
Status Offline
Get rid of it! How nice it is to have multiple boots!
┃ \\\\//// ┃通缉:杨小邪 特点:贼丑
┃ (-●●-) ┃年龄:刚成年 性别:男
┃ \ / ┃罪名:长的丑/总想见网友
┃ \︶/ ┃犯罪事实:吓死一片~
Floor 3 Posted 2003-01-20 00:00 ·  中国 北京 263网络通信股份有限公司
银牌会员
★★★
nre
Credits 1,210
Posts 361
Joined 2002-12-28 00:00
23-year member
UID 629
Gender Male
Status Offline
If the simple ones can't be done, the complex ones definitely can't be done.

Teamwork !
Floor 4 Posted 2003-01-20 00:00 ·  中国 黑龙江 哈尔滨 南岗区 联通
高级用户
★★
Credits 830
Posts 233
Joined 2002-11-29 00:00
23-year member
UID 364
Gender Male
Status Offline
Technology is for people to serve! Calculating like this all the time is so troublesome! You can go to Wuyou! Yuwei to see and immediately understand multi-boot! But it's a pity that most of the software used are made by foreigners!
┃ \\\\//// ┃通缉:杨小邪 特点:贼丑
┃ (-●●-) ┃年龄:刚成年 性别:男
┃ \ / ┃罪名:长的丑/总想见网友
┃ \︶/ ┃犯罪事实:吓死一片~
Floor 5 Posted 2003-01-20 00:00 ·  中国 北京 263网络通信股份有限公司
银牌会员
★★★
nre
Credits 1,210
Posts 361
Joined 2002-12-28 00:00
23-year member
UID 629
Gender Male
Status Offline
What they actually made is a single-boot CD (you can compare with their ISO to understand the boot CD format). Because they want to implement multi-boot on a single-boot CD (and there is another purpose for the graphical interface), so they have to use third-party compiled software. In fact, the BIOS itself supports multi-boot CDs.





Teamwork !
Floor 6 Posted 2003-02-22 00:00 ·  中国 湖北 武汉 电信
中级用户
★★
Credits 327
Posts 69
Joined 2002-12-01 00:00
23-year member
UID 377
Gender Male
Status Offline
This article is good. I hope the poster can publish more articles introducing the principle of bootable discs. I hope to see "Single Boot Disc Making 2", "Single Boot Disc Making 3", "Single Boot Disc Making... N" soon.
Forum Jump: