! 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.
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 !



