可启动光盘启动原理 2007-04-10 21:52 可启动光盘启动原理 一张可启动的光盘是指在你的PC启动时可以从光盘中装载相应的操作系统启动映像文件,完成启动。它之所以能够启动是因为它上面记录的启动信息符合ISO9660和El Torito标准,ISO9660标准定义光盘的相对于本段开始处的第16个扇区为主卷描述信息“Primary Volume Descriptor”,El Torito标准定义光盘最后一段的第17个扇区为启动记录卷描述信息“Boot Record Volume Descriptor”。用光盘启动时,系统BISO根据主卷描述信息可以方便地找到光盘中带启动信息的段,然后按启动记录卷描述信息中的绝对指针读取启动目录“Boot Catalog”文件,再读取相应的启动映像文件完成引导过程。 制作可启动WINDOWS光盘的常用方法 1. 使用ISO文件 这是最方便的方法,只需要将相应的ISO文件刻录到光盘中即可,但是你没有办法根据需要增减光盘中的文件。 2. 使用软盘模拟方法 常用的刻录软件,如Nero、Easy CD Creator和WinOnCD等都提供了这个功能。只要你在这些软件中选中“制作启动光盘”选项,它就可以从预先准备好的启动软盘中提取启动映像文件并刻录到光盘中,从而实现用光盘模拟软盘启动。 3. 使用CDRWIN从原版光盘中提取启动映像文件 4. 使用使用Bart的工具cdrpack v1.3制作 此方法使用大小仅为640K的刻录包,在DOS下就可以完成全部操作,而且灵活性比较大,适用于各种类型可启动的安装光盘的制作,下面我将做详细的介绍。 制作以下光盘所需的系统要求 安装有Windows 98/ME或Windows NT 4.0 SP4+或Windows 2000或Windows XP. SCSI 或ATAPI接口的刻录机 ASPI管理器 (可以用aspichk.exe 检测ASPI管理器的版本,如果未安装,可以在Adaptec公司的网站下载aspi32.exe) 一张空白刻录盘(CDR或CDRW) 一台从CDROM启动的PC以检测完成的刻录盘 制作可启动的Windows NT4安装光盘 以下步骤将告诉你如何制作一张可启动的Windows NT 4.0 Workstation版本或Server 版本的安装光盘。这张光盘采用了最新的atapi驱动程序,可以支持大于10G的硬盘。最方便之处在于,你还可以在这张光盘上按需要添加Windows的service pack,安全补丁(hotfix)及其它任意内容。 此外,由于采用了Joliet格式刻录,这张光盘支持长文件名。 下载 cdrpack v1.3 (~640KB)并解压到硬盘中,本例中为D:/cdrpack13/目录。 这个文件中包含了制作可启动光盘的基本刻录程序。. 下载Windows NT 4.0 add-on并解压到硬盘的相同目录中,本例中为D:/cdrpack13/目录。 这个包中包含了Windows 2000的bootstrap loader、bootfix.bin、build.mak及相应的目录结构。使用了Windows 2000的bootstrap loader,我们就会在用这张光盘启动是看到“Press any key to boot from CD”(按任意键从光盘启动)的提示。 在步骤1的解压目录中找到目录cds/nt4ws_us/disk1/,本例中为D:/cdrpack13/cds/nt4ws_us/disk1/,并将Windows NT 4.0光盘中i386目录复制到此目录中。 复制Windows NT 4.0光盘中以下文件到步骤3相同的目录中: 如果是制作Windows NT 4.0 Workstation版本的光盘,复制文件cdrom_w.40如果是制作Windows NT 4.0 Server版本的光盘,复制文件cdrom_s.40 5.(可选)复制Windows NT 4.0光盘中的文件autorun.inf到步骤3相同的目录中。 6.如果你是从MSDN光盘中复制Windows NT 4.0,你还需要修改在i386目录中的文件txtsetup.sif 本例中为D:/cdrpack13/cds/nt4ws_us/disk1/i386/txtsetup.sif,更改[SetupData]部分中的相应行为SetupSourcePath = "/" 7.复制Service Pack 6a和其它补丁到目录cds/nt4ws_us/disk1 本例中为.D:/cdrpack13/cds/nt4ws_us/disk1/。 8.更新Atapi驱动程序: 先使用/x参数将Service Pack 6a解压到一个临时目录,然后从这个目录中复制以下文件到cds/nt4ws_us/disk1/i386/,本例中为D:/cdrpack13/cds/nt4ws_us/disk1/i386/:ntldr、ntdetect.com、atapi.sys 9.接着你可以在刻录盘容量允许的范围内在目录cds/nt4ws_us/disk1 本例中为D:/cdrpack13/cds/nt4ws_us/disk1/,加入任意你所需要的内容,例如最新版的DirectX和IE。 10.(可选)用记事本编辑目录cds/nt4ws_us中的文件build.mak 本例中为D:/cdrpack13/cds/nt4ws_us/build.mak,你可以更改卷标(volumeid)和作者名(preparer)为你需要的值。11.在刻录之前检查以下文件,确认它们存在: cds/nt4ws_us/disk1/w2ksect.dat, 本例中为D:/cdrpack13/cds/nt4ws_us/disk1/w2ksect.dat cds/nt4ws_us/disk1/i386/bootfix.bin 本例中为D:/cdrpack13/cds/nt4ws_us/disk1/i386/bootfix.bin cds/nt4ws_us/disk1/i386/setupldr.bin 本例中为D:/cdrpack13/cds/nt4ws_us/disk1/setupldr.bin cds/nt4ws_us/disk1/cdrom_w.40 本例中为D:/cdrpack13/cds/nt4ws_us/disk1/cdrom_w.40 (制作Windows NT 4.0 Workstation版本的光盘) cds/nt4ws_us/disk1/cdrom_s.40 本例中为D:/cdrpack13/cds/nt4ws_us/disk1/cdrom_s.40 (制作Windows NT 4.0 Server版本的光盘) 如果在检查中发现缺少一个或多个文件,建议你返回逐步检查是否有遗漏。 12.最后运行步骤1解压目录中的批处理文件run.bat,本例中为D:/cdrpack13/run.bat,在菜单中选择"Build & Burn" 和 "nt4ws_us"。 13.(可选)如果你还想用cdrpack制作其它版本的Windows NT 4.0启动光盘,你只需要更改cds目录下的nt4ws_us目录名为你想要的,然后从步骤2开始重复即可。 至此,你的Windows NT 4.0启动光盘已经制作完成,你可以在任何能从光盘启动的PC上测试一下你的成果了。 制作可启动的Windows 2000安装光盘 以下步骤将告诉你如何制作一张可启动的Windows 2000 Professional版本、Server 版本和Server版本的安装光盘。最方便之处在于,你还可以在这张光盘上按需要添加Windows的service pack,安全补丁(hotfix)及其它任意内容。 此外,由于采用了Joliet格式刻录,这张光盘支持长文件名。 1.下载 cdrpack v1.3 (~640KB)并解压到硬盘中,本例中为D:/cdrpack13/目录。 这个文件中包含了制作可启动光盘的基本刻录程序。2.下载Windows 2000 add-on.并解压到硬盘的相同目录中,本例中为D:/cdrpack13/目录。 这个包中包含了Windows 2000的bootstrap loader、bootfix.bin、build.mak及相应的目录结构。使用了Windows 2000的bootstrap loader,我们就会在用这张光盘启动是看到“Press any key to boot from CD”(按任意键从光盘启动)的提示。 3.在步骤1的解压目录中找到目录cds/w2kpro_us/disk1 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/,并将Windows 2000光盘中i386目录复制到此目录中。 4.复制Windows 2000光盘中以下文件到步骤3相同的目录中: 如果是制作Windows 2000 Professional版本的光盘,复制文件cdrom_ip.5 如果是制作Windows 2000 Server版本的光盘,复制文件cdrom_is.5 如果是制作Windows 2000 Advanced Server版本的光盘,复制文件cdrom_ia.5 5.(可选)复制Windows 2000光盘中的文件autorun.inf、read1st.txt、readme.doc和setup.exe到步骤3相同的目录中。 6.如果你是从MSDN光盘中复制Windows 2000,你还需要修改在i386目录中的文件txtsetup.sif 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/i386/txtsetup.sif,更改[SetupData]部分中的相应行为SetupSourcePath = "/" 7.如果你是从MSDN光盘中复制Windows 2000,你还可以通过修改i386目录中的setupp.ini文件 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/i386/setupp.ini,实现免输入序列号安装。 解除此文件的只读属性,然后用记事本编辑,将Pid数字的最后三位改为270即可,例如:[Pid] ExtraData=123456789012345678901234567890 Pid=12345270 8.(可选)你也可以将最新的Windows 2000的service pack更新安装程序,这样安装好的Windows 2000本身就带了这个版本的service pack。要实现这个目的,你只要使用-s参数将service pack解压到目录cds/w2kpro_us/disk1/i386/,本例中为D:/cdrpack13/cds/w2kpro_us/disk1/i386/,例如(以service pack 2为例): w2ksp2.exe –s:D:/cdrpack13/cds/w2kpro_us/disk1/完成此步骤后,确认文件cds/w2kpro_us/disk1/cdrom_sp.tst或cds/w2kpro_us/disk1存在 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/cdrom_sp.tst或D:/cdrpack13/cds/w2kpro_us/disk1/cdromspx.tst,其中x代表service pack版本号。 9.复制Service Pack和其它补丁到目录cds/w2kpro_us/disk1 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/。10.接着你可以在刻录盘容量允许的范围内在目录cds/w2kpro_us/disk1 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/,加入任意你所需要的内容,例如最新版的DirectX和IE。 11.(可选)用记事本编辑目录cd/w2kpro_us中的文件build.mak 本例中为D:/cdrpack13/cds/w2kpro_us/build.mak,你可以更改卷标(volumeid)和作者名(preparer)为你需要的值。 12.在刻录之前检查以下文件,确认它们存在: cds/w2kpro_us/disk1/w2ksect.dat, 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/w2ksect.dat cds/w2kpro_us/disk1/i386/bootfix.bin 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/i386/bootfix.bin cds/w2kpro_us/disk1/i386/setupldr.bin 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/i386/setupldr.bin cds/w2kpro_us/disk1/cdrom_nt.5 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/cdrom_nt.5 cds/w2kpro_us/disk1/cdrom_ip.5 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/cdrom_ip.5 (制作Windows 2000 Professional版本的光盘) cds/w2kpro_us/disk1/cdrom_is.5 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/cdrom_is.5 (制作Windows 2000 Server版本的光盘) cds/w2kpro_us/disk1/cdrom_ia.5 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/cdrom_ia.5 cds/w2kpro_us/disk1/cdrom_sp.tst 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/cdrom_sp.tst (制作带service pack 1的Windows 2000光盘) cds/w2kpro_us/disk1/cdromspx.tst 本例中为D:/cdrpack13/cds/w2kpro_us/disk1/cdromspx.tst,其中x代表service pack 版本号(制作带service pack 2或更高版本的Windows 2000光盘) 如果在检查中发现缺少一个或多个文件,建议你返回逐步检查是否有遗漏。 13.最后运行步骤1解压目录中的批处理文件run.bat 本例中为D:/cdrpack13/run.bat,在菜单中选择"Build & Burn" 和 "w2kpro_us"。 14. (可选)如果你还想用cdrpack制作其它版本的Windows 2000启动光盘,你只需要更改cds目录下的w2kpro_us目录名为你想要的,然后从步骤2开始重复即可。 至此,你的Windows 2000启动光盘已经制作完成,你可以在任何能从光盘启动的PC上测试一下你的成果了。 制作可启动的Windows XP安装光盘 以下步骤将告诉你如何制作一张可启动的Windows XP(build 2600) Home Edition 版本和Professional版本的安装光盘。最方便之处在于,你还可以在这张光盘上按需要添加Windows的service pack,安全补丁(hotfix)及其它任意内容。 此外,由于采用了Joliet格式刻录,这张光盘支持长文件名。 15.下载 cdrpack v1.3 (~640KB)并解压到硬盘中,本例中为D:/cdrpack13/目录。 这个文件中包含了制作可启动光盘的基本刻录程序。 16.下载Windows XP add-on并解压到硬盘的相同目录中,本例中为D:/cdrpack13/目录。 这个包中包含了Windows XP的bootstrap loader(同Windows 2000)、bootfix.bin、build.mak及相应的目录结构。使用了Windows XP的bootstrap loader,我们就会在用这张光盘启动是看到“Press any key to boot from CD”(按任意键从光盘启动)的提示。 17.在步骤1的解压目录中找到目录cds/wxppro_us/disk1 本例中为D:/cdrpack13/cds/wxppro_us/disk1/,并将Windows XP光盘中i386目录复制到此目录中。 需要注意的是,如果你是从双系统启动的MSDN光盘中复制i386目录时,i386目录的位置会略有不同,它的路径一般为/%lang%/winxp/%edition%,这里的%lang%是指你所采用的语言版本,如“ENGLISH”, “GERMAN”;%edition%是指Windows XP的版本“Home” 或“Pro”。 18.复制Windows XP光盘中以下文件到步骤3相同的目录中: 复制文件win51 如果是制作Windows XP Home Edition版本的光盘,还需复制文件win51ic 如果是制作Windows XP Professional版本的光盘,还需复制文件win51ip 19.(可选)复制Windows XP光盘中的文件autorun.inf、readme.htm和setup.exe到步骤3相同的目录中。 20.修改在i386目录中的文件txtsetup.sif 本例中为D:/cdrpack13/cds/wxppro_us/disk1/i386/txtsetup.sif,更改[SetupData]部分中的相应行为SetupSourcePath = "/" 21.复制其它补丁到目录cds/wxppro_us/disk1/,本例中为.D:/cdrpack13/cds/wxppro_us/disk1/。 22.接着你可以在刻录盘容量允许的范围内在目录cds/wxppro_us/disk1 本例中为D:/cdrpack13/cds/wxppro_us/disk1/,加入任意你所需要的内容,例如最新版的DirectX和IE。23.(可选)用记事本编辑目录cd/wxppro_us中的文件build.mak,本例中为 D:/cdrpack13/cds/wxppro_us/build.mak,你可以更改卷标(volumeid)和作者名(preparer)为你需要的值。 24.在刻录之前检查以下文件,确认它们存在: cds/wxppro_us/disk1/w2ksect.dat, 本例中为D:/cdrpack13/cds/wxppro_us/disk1/w2ksect.dat cds/wxppro_us/disk1/i386/bootfix.bin 本例中为D:/cdrpack13/cds/wxppro_us/disk1/i386/bootfix.bin cds/wxppro_us/disk1/i386/setupldr.bin 本例中为D:/cdrpack13/cds/wxppro_us/disk1/i386/setupldr.bin cds/wxppro_us/disk1/win51 本例中为D:/cdrpack13/cds/wxppro_us/disk1/win51 cds/wxppro_us/disk1/win51ic 本例中为D:/cdrpack13/cds/wxppro_us/disk1/win51ic (制作Windows XP Home Edition版本的光盘) cds/wxppro_us/disk1/win51ip 本例中为D:/cdrpack13/cds/wxppro_us/disk1/win51ip (制作Windows XP Professional版本的光盘) 如果在检查中发现缺少一个或多个文件,建议你返回逐步检查是否有遗漏。 25.最后运行步骤1解压目录中的批处理文件run.bat,本例中为D:/cdrpack13/run.bat,在菜单中选择"Build & Burn" 和 "wxppro_us"。 26.(可选)如果你还想用cdrpack制作其它版本的Windows XP启动光盘,你只需要更改cds目录下的wxppro_us目录名为你想要的,然后从步骤2开始重复即可。 至此,你的Windows XP启动光盘已经制作完成,你可以在任何能从光盘启动的PC上测试一下你的成果了。