close
9660

開機光碟檔案結構????????

開機光碟檔案結構是由哪幾個檔案所構成的?????
◎◎◎ 可開機光碟再進一步研究 (Enhance CD-ROM Boot) ◎◎◎ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓2倍燒錄強烈推鑒 Yamaha CDR-200

HP 6020

SONY CDU-926▓ ▓4倍燒錄強烈推鑒 TEAC CD-R50S

Yamaha CDR 400 ▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓開機型光碟的觀念己成型許久了

只是要如何在Dos的平台上有此能力相較於 Mac及Unix平台是比較困難罷了。

對Mac及Unix系統而言

製作開機型光碟一直 都不是問題

只要將這兩個系統的硬碟

做Byte-to-Byte的拷貝

再將它寫入CD

系統即會自動偵測並對此光碟進行開機的動作。

但是如果你對Dos的硬碟做同 樣的動作

結果還是無法使CD開機的。

在Dos下

你需要有兩個要素才可以讀取CD-ROM:第一是需要有驅動程式隨系 統載入以便使系統能偵測到光碟機的存在;第二便是需要有像MSCDEX的程式 來分配一個磁碟機編號給光碟機以使Dos能從光碟機讀取檔案。

所以要製作一 個可以在Dos下開機的CD-ROM首先的困難便是開機的問題。

一般Dos開機的程 序是先要能將Dos的指令直譯器COMMAND.COM載入

然後是驅動程式(Device Driver)

再來便是MSCDEX可以分配磁碟機編號給光碟機

才可以讀取CD-ROM 的資料。

但是如果要從光碟載入COMMAND.COM必需先載入MSCDEX才行

問題 是如不先載入COMMAND.COM又如何能載入MSCDEX呢? 要在載入COMMAND.COM之前就能偵測到CD-ROM存在的解決方案是透過修改電 腦主機版上的BIOS(Basic Input /Output System)或是SCSI與IDE連接卡上的BIOS。

一旦光碟機被BIOS偵測到之後

CD-ROM必然有能力可以使得BIOS將 COMMAND.COM載入。

Phoenix Technologies與IBM共同發表了開機型光碟的規格書El Torito

規格書 中不但定義了開機映像資料(bootable image)該如何配置在CD-ROM中

還包含了有關開機型光碟製作與結構的一些低階的詳細說明。

這些低階的 說明可能需要花些功夫來了解它

但好處是至少你可以運用現成的工具及 CD-ROM的燒錄程式即可完成開機型光碟的製作。

此外

開機型光碟的規格 仍不脫離ISO 9660的規範

意思就是說

如同其它正常的CD-ROM

Bootable CD-ROM是可以被正常複製或大量生產發行的

只是多了開機的能力罷了。

使用者可以根據個人的需要

選擇以CD-ROM開機或者將Bootable CD-ROM 當做正常的CD-ROM來讀取其中的檔案

甚至於兩者可以同時並存。

製作一片Bootable CD-ROM的過程是非常冗長的

但是除非CD-ROM燒錄程 式的發展商能將程式發展成會自動將ISO 9660的Image File修改成Bootable的 Image File

否則手動的方式還是最好的選擇。

事實上

Creative Digital Reserch的CD-R Publisher已經將製作開機型光碟的功能加入程式中

讓使 用者免去修改ISO 9660 Image的手續

只是程式註冊的費用可不便宜

大約 在四百多塊美金左右。

而另一方面

雖然手動的過程稍嫌繁複

但是彈性 則比較大

至於為什麼

後文自會鈙述。

使用者於製作Bootable CD-ROM所 需的背景知識雖不致如規格書中所提的需要對於BIOS INT 13、ISO 9660、 ATAPI等知識有一定程度的了解

但是如果對於ISO 9660的sector結構有概念

那麼製作Bootable CD-ROM就比較能事半功倍。

要能讀取Bootable CD-ROM的資料

首先你的PC的BIOS要能符合El Torito 的規格以便能讀取CD-ROM上的開機磁區。

大部份的BIOS製造商都已賦予 其CD-ROM的開機能力

也就是說現在大部份的電腦也都有此功能。

Adaptec這家公司便是首先將開機能力加注在其SCSI卡的BIOS中。

以1542CF為例

只要BIOS的版本是2.10或以後的版本都可讓你從CD-ROM 開機。

要確定你的Adaptec SCSI Card是否有支援CD-ROM開機的功能

只要在開機時按下CTRL-A進入設定SCSI Card的公共程式

再選擇 Advanced Configuration Options的選項

此時如果你的SCSI Card有支援開機 功能

你將會看到BIOS Support for Bootable CD-ROM的選項。

在CD-ROM黃皮書(Yellow Book)中定義了一片CD-ROM包含了333

000 個sectors

而每個sector又包含了2

352個Bytes。

2

352 Bytes中的2

048 Bytes是用來存放使用者資料(User Data)的

剩下的304 Bytes則分別 是同步資訊(sync)

位址指標檔頭(header)

錯誤修正與錯誤偵測碼 (errorcorrection and error detection code)

這些304 Bytes的資料都是在錄製 CD-ROM時

由CD-R燒錄器本身或錄寫的程式自動產生的。

在標準的 CD-ROM中

最前面的16個sector(編號0到15的sectors)是沒有用到的

而sector 16(即第17個sector)則包含了主卷冊描述(Primary Volume Descriptor)

接下來是任意數目的次卷冊描述(secondary volume descriptors)

最後則是終結卷冊描述(Set Terminator Volume Descriptor). 在符合 ISO 9660規格的CD-ROM中

PVD永遠位於第17個sector(sector 16)中

且此sector的開頭字串一定是

arrow
arrow
    創作者介紹
    創作者 9601 的頭像
    9601

    9601

    9601 發表在 痞客邦 留言(0) 人氣()