021yin.com的“无忧社区”的“光盘启动区”(也就是本论坛了:)中的部分帖子。闲话少说,咱们言归正传。
一、启动光盘的形式(从原理上来说)共有三种理光cl2000错误代码sc486。
1、从光盘启动时模拟软驱(或者硬驱)的一种启动光盘,最常见的是模拟软驱(A:),这种光盘的引导区存储的一般为一张软盘的映象文件(可以使用Winimage软件制做,类似于HD-COPY的制做方法,但hd-copy制做的映象不能用于制做光盘启动映象文件)理光cl2000错误代码sc486。基本制做方法(以Nero Burning-Rom为例):软盘映象 + CD-ROM(Boot)即可。
2、直接光盘启动形式的光盘:引导区存储的是一小段程序,这段程序直接运行光盘上的其它程序理光cl2000错误代码sc486。例如Windows NT/2000/XP的安装光盘均为这种形式。
3、比第一种方法更进一步:直接从光盘启动,但是有多个引导映象文件(Multiple boot images),这种规范名为El Torito multiple boot image理光cl2000错误代码sc486。前面的两种实际上属于同一种规范格式:El Torito single boot image。这里的这一段文字是我从支持,事实上是很多主板不支持这种启动光盘(现象就是只能从第一个启动映象启动)。
2003.10.06新增:Bart’s way to create bootable CD-Roms(用Bart的方法制做各种启动光盘理光cl2000错误代码sc486,由Climbing翻译)
该页面的英文版原始链接:。
二、具体的启动光盘刻录方法
021yin.com/software/mkisofs-1.15a40.rar(这里提供的下载版本是 wwashington 在水木清华的 dfbb 以及COMMAN 等网友的工作基础上,深入探索、不断完善的一个版本。现在最新版的 mkisofs 可以通过加参数的方式来支持 dos 和 win 下面的 GBK 中文代码,而且它可以做基于MD5 技术的文件识别,实现 ISO 文件的空间优化,即节省存储空间。)在具体刻录过程中,建议使用Bart在这个命令的用法,从而进一步通过定制其参数来制做出适合自己需要的启动光盘。
021yin.com/testiso.htm理光cl2000错误代码sc486。这篇文章中没有提及RAMDiskNT,但Daemon Tools虚拟的光驱可以作为虚拟机器中的物理光驱使用,受此启发,那么RAMDiskNT虚拟的软驱也可以作为虚拟机器中的物理软驱使用。另外需要用到的软件为:WinISO(iso镜象文件编辑软件)、Winimage(软盘及光盘映像制做软件)、UltraEdit(16进制及文本文件编辑器)、isobuster(支持很多光盘镜像格式)、Nero Burning-Rom(功能强大的刻录软件)等,这些软件在网上都比较好找,同样可以在上面提供的两个站点找。至于这些软件的注册或者破解,请搜索。
作者注:上面提到的主要软件在本帖末尾都将提供可用的下载链接(2003年10月6日)
1、第一种光盘的制做(假设我们要将Win98的启动盘做入光盘理光cl2000错误代码sc486,光盘启动时就好象使用Win98启动盘一样),两种方法:
(1) 使用Nero直接制做:先准备一张Win98启动盘,然后启动Nero,选择光盘的格式为CD-ROM(Boot),将98启动盘放入A:,然后在“Boot”标签选择使用“A:\”(或者将98启动盘使用Winimage制做成ima的镜像格式(不要使用IMZ),然后在“Image file”处选择那个映象文件即可->New,后面的操作与刻录正常的数据光盘相同理光cl2000错误代码sc486。
(2) 使用mkisofs命令来制做启动镜像iso文件,先用Winimage将98的启动盘制做成的映象文件名为w98se.ima理光cl2000错误代码sc486。假设我们工作在D:\cdr目录(要求该盘空闲空间至少在1.4G以上),在cdr目录下bin目录中存放mkisofs程序包,在cdr\iso目录中存放要制做的iso文件(命名为mycd.iso),在cdr\disk1目录中存放需要刻录到光盘上的所有文件,那么把w98se.ima文件放到disk1目录下,同样,你要把disk1目录当做你的光盘的根目录来组织你要刻录到光盘(即制做的iso文件)中的数据。组织好后,在cdr目录下运行如下命令:
bin\mkisofs.exe -J -N -l -no-iso-translate -relaxed-filenames -gbk4dos-filenames -gbk4win-filenames -optimize -v -volid “W98SEBOOT“ -p “Climbing“ -P
“Little Stone Corp.“ -A “Created ’Barts way’ Bootable CD-ROM using MKISOFS“ -eltorito-boot w98se.ima -hide w98se.ima -hide-joliet w98se.ima -hide boot.catalog -hide-joliet boot.catalog -o iso/mycd.iso disk1
命令中各参数解释如下(我不明白什么意思的就使用英文原来的解释):
-J制做Joliet文件系统,好象比iso9660的优点就是支持长文件名理光cl2000错误代码sc486。
-N Omit version numbers from ISO9660 file names. This violates the ISO9660 standard, but no one really uses the version numbers anyway.
-l(-full-iso9660-filenames) Allow full 31 character filenames for ISO9660 names理光cl2000错误代码sc486,好象就是允许文件名有31个字符
-no-iso-translateDo not translate illegal ISO characters ’~’, ’-’ and ’#’ (violates ISO9660)理光cl2000错误代码sc486,不转换文件名中的~、-、#等符号
-relaxed-filenames允许文件名中使用小写字符(不符合ISO9660规范)
-gbk4dos-filenames允许dos下的中文文件名(不符合ISO9660规范)
-gbk4win-filenames允许windows下的中文长文件名(不符合ISO9660规范)
-optimize优化iso文件存储(即所有目录中相同的文件只存储一份儿到iso文件中理光cl2000错误代码sc486,节省存储空间,对于制做win2000三合一光盘特别有用)
-v(-verbose)理光cl2000错误代码sc486,在命令执行时显示详细的信息
-volid “W98SEBOOT“设置光盘短卷标理光cl2000错误代码sc486,本例中设置为W98SEBOOT(即将光盘放入光驱后在光驱盘符上显示的卷标)
-p “Climbing“光盘制做人(自由设置)
-P “Little Stone Corp.“光盘制做公司(自由设置)
-A “Created ’Barts way’ Bootable CD-ROM using MKISOFS“设置应用ID(Application ID)理光cl2000错误代码sc486,自由设置
-eltorito-boot w98se.ima(-b)启动映象文件名(这一项设置十分关键理光cl2000错误代码sc486,光盘能否启动,全在这一步)
-hide w98se.ima ISO9660隐藏文件理光cl2000错误代码sc486,在dos下不可以看到,但在Windows下可以看到
-hide-joliet w98se.imaJoliet隐藏文件,无论在什么系统下均无法看到这个文件(在isobuster中可以看到)理光cl2000错误代码sc486。
-hide boot.catalog -hide-joliet boot.catalog隐藏boot.catalog文件,这个文件好象在光盘上就是一个2K长的空白文件,由mkisofs命令自动生成理光cl2000错误代码sc486。
-o iso/mycd.iso要生成的iso文件的存放路径及文件名(即destination)理光cl2000错误代码sc486。
disk1 [other path\filename ...]指定用来放入iso文件中的内容,可以有多个(即Source)理光cl2000错误代码sc486。
021yin.com/software/mkisofs-1.15a40.rar)理光cl2000错误代码sc486。在后面提供的mkisofs命令行参数中,与上面重复的我不再解释,只解释那些不同的。
021yin.com021yin.com021yin.com021yin.com/winxp.htm),这些文章中都是用CDIMAGE命令来制做iso文件,我只能说mkisofs是比cdimage功能更强的制做iso文件的工具,但其用法要比cdimage复杂上百倍。当然,你也可以在disk1目录下放置你自己定义的内容,例如XP的所有补丁程序等(估量着不要刻不下就行了)。文件组织好后(怎么算组织好,请参考前面的文章或者Bart的介绍)。在cdr目录下执行下面的命令:
bin\mkisofs.exe -J -N -l -no-iso-translate -relaxed-filenames -gbk4dos-filenames -gbk4win-filenames -optimize -v -volid “WINXPPROCHS“ -p “Climbing“ -P “Little Stone Corp.“ -A “Created ’Barts way’ ISO using mkisofs“ -no-emul-boot -eltorito-boot wxpsect.bin -hide wxpsect.bin -hide boot.catalog -hide-joliet wxpsect.bin -hide-joliet boot.catalog -o iso/myxpcd.iso disk1
这一次多了一个参数就是:
-no-emul-boot非模仿软驱或者硬盘启动方式,即区别于使用软驱映像启动方式,光盘启动时不再模仿从软驱启动,而是直接执行wxpsect.bin文件来进入安装程序理光cl2000错误代码sc486。
3、第三种光盘的制做,即多映像文件启动方式理光cl2000错误代码sc486。在实际使用中我并没有试验制做这种光盘,但Bart提供了这种光盘的制做方法,大家可以参照他的说明制做一张来试试,在mkisofs中与启动映象相关的参数如下(其它参数略,因为我没有试验,大体应该与上面的设置相同):
-hide boot.catalog -hide-joliet boot.catalog\
-eltorito-boot cdrom.img -hide cdrom.img -hide-joliet cdrom.img \
-eltorito-alt-boot \
-eltorito-boot msnet.img -hide msnet.img -hide-joliet msnet.img \
-eltorito-alt-boot \
-eltorito-boot scsitool.img -hide scsitool.img -hide-joliet scsitool.img \
-eltorito-alt-boot \
-eltorito-boot cpuid.img -hide cpuid.img -hide-joliet cpuid.img
上面命令中的“\”表示命令行连接符的意思,也就是说这些命令应该都在一行上,在win2000的dos提示符下使用时请去掉这些字符,因为win2000并不支持这种写法理光cl2000错误代码sc486。
这些参数中一个关键的参数即为:-eltorito-alt-boot,而cdrom.img, msnet.img, scsitool.img, cpuid.img是多个启动软盘的映像文件理光cl2000错误代码sc486。
021yin.com/nin1.htm理光cl2000错误代码sc486。
需要注意的是:这种多个启动映象文件的格式可能不会被某些主板支持,并不推荐这种做法理光cl2000错误代码sc486。
4、集大成者,也是Bart给我们贡献最大的多映象启动光盘制做方法(此种方法绝对不会产生主板bios不支持的问题):loader.bin + diskemu1x.bin + diskemu.cmd方式理光cl2000错误代码sc486。这种方式是我所知的最先进的方式,也是无忧启动论坛及国内启动光盘制做论坛目前使用最多的技术,与此类似的技术还有isolinux/memdisk技术(注:现在这种多映像光盘启动程序是太多了,例如BootScript、BCDW等,2003.10.06),其原理相同,Bart在网站上有详细介绍,请自行参考。
先说原理:所有的主板都支持一个启动文件(Single Boot image)的启动方法,那么可以做一个小的系统供启动程序调用(由这个系统来模拟一个BIOS),而这个模拟的BIOS系统可以接着调用其它的映象文件来启动系统,你可以同时将很多启动映象文件刻入光盘(包括模拟软驱的、不模拟软驱直接启动的),然后在光盘启动时,由这个模拟的BIOS系统进一步调用各个启动映象文件来启动系统理光cl2000错误代码sc486。
Bart提供的loader.bin就是那个光盘启动程序,而loader.bin的目的就是将那个模拟的BIOS系统diskemu1x.bin由光盘调入并运行,而diskemu.cmd文件则用来配置开机启动时有哪里启动映象文件可以供diskemu1x.bin文件来进一步调用理光cl2000错误代码sc486。光盘启动时类似的画面如下:
021yin.com021yin.com/cgi-bin/topic.cgi?forum=2topic=2464,事实上有很多版本的中文菜单制做程序(有的甚至可以做子菜单),方法较复杂,咱们还是先以Bart的方法为主,搞清楚状况后再进行美化理光cl2000错误代码sc486。
使用mkisofs制做Bart方式的多启动光盘的方法:首先将loader.bin、diskemu1x.bin 及diskemu.cmd文件(这些文件可以从Bart的网站上获得:。下面是我的制做实例:
bin\mkisofs.exe -J -N -l -no-iso-translate -relaxed-filenames -gbk4dos-filenames -gbk4win-filenames -optimize -v -volid “WinXpProCHS“ -p “Climbing“ -P “Little Stone Corp.“ -A “Created ’Barts way’ Boot CD-ROM using MKISOFS“ -no-emul-boot -eltorito-boot loader.bin -hide loader.bin -hide boot.catalog -hide-joliet loader.bin -hide-joliet boot.catalog -o iso/diskemucd.iso disk1
diskemu.cmd文件的内容如下:
; diskemu.cmd sample file v0.8
; Created by Bart Lagerweij
; Some notes:
; - do not use tabs in this file! Use spaces!
; - the key “tags“ like “esc“, “entr“, ... must be lowercase!
; [*** Added by customer users ***]
021yin.com for Windows XP Pro Setup Disc
; Modified by Little Stone on 2002.07.19
021yin.com
:start
cls
print ------------------------------------------------------------------------------
print Bootable CD main menu
print ------------------------------------------------------------------------------
print F1=Help
print 0) Windows XP Pro Setup
print 1) Windows 98SE Boot Disk
print 2) Bart Network Boot Disk
print 3) Bart CD-ROM Boot Disk
print 4) NT Password Editor
print 5) Bart SCSI Utilities
print a) Boot floppy [A:]
print c) Boot first harddisk [C:]
print q) Quit to command prompt
print r) Reboot
print Hit the key of choice(Timout=20sec, Default=0):
:mainkey
; timeout is 20 seconds, default key is key 0
getkey 20 0
onkey 0 goto winxp
onkey 1 goto w98se
onkey 2 goto net
onkey 3 goto cdrom
onkey 4 goto editpasswd
onkey 5 goto scsi
onkey a boot 0
onkey c boot 80
onkey q quit
onkey r reboot
onkey esc goto winxp
onkey spc goto winxp
onkey entr goto winxp
onkey f1 goto help
onkey 0x1C0D goto winxp
; When no key found...
goto winxp
;*** HELP ***
:help
cls
print HELP
print ----
print Here you can type help for your customers
print Press any key to return to main menu
getkey
goto start
;***Start Windows XP Boot Installation***
:winxp
print Start to install the Windows Xp in Normal Mode
cd BootImg
run wxpsect.bin
getkey
goto start
;*** Boot the Bart DOS network Boot Image ***
:net
print Starting Bart Network on DOS Boot
cd BootImg
run net.ima
getkey
goto start
;*** Boot Win98SE DOS Image ***
:w98se
print Boot Windows 98 SE dos prompt
cd BootImg
run w98se.ima
getkey
goto start
;*** Boot Bart CD-ROM Boot Disk ***
:cdrom
print Boot Bart CD-ROM Boot Disk
cd BootImg
run cdrom.ima
getkey
goto start
;*** Boot Bart SCSI-Tool Boot Disk ***
:scsi
print Boot Bart SCSI-Tool Boot Disk
cd BootImg
run scsi.ima
getkey
goto start
;*** Starting Edit Windows NT/2000 Adminitrator Password Tools
:editpasswd
print Edit NT or Windows 2000 Administrator Password
cd BootImg
run ntpass.ima
getkey
goto start
; EOF
这种光盘的启动效果如何,自己做一张就知道了,因为我不方便贴图片,这里就不演示了,有一个详细的说明帖子(来自):。
唉,写到这里发觉自己真是白痴,费了这么大的力气,不知道有没有把问题说清楚理光cl2000错误代码sc486。在这篇总结文章里引用了很多高手的著作,无法一一注明的,请各位高手原谅,特别感谢Bart高手、wwashington大虾(没有他的中文版mkisofs,一切都是白扯)、无忧社区CEO 地址。而且定有很多错误之外,望各位高手批评指正,再次感谢!
附1:diskemu.cmd文件中可以使用的命令请参考:。
附2:mkisofs(wwashington高手制做版)命令行各参数的简要说明
Usage: mkisofs [options] file...
Options:
-nobak Do not include backup files
-no-bak Do not include backup files
-abstract FILE Set Abstract filename
-A ID, -appid ID Set Application ID
-biblio FILE Set Bibliographic filename
-cache-inodes Cache inodes (needed to detect hard links)
-no-cache-inodes Do not cache inodes (if filesystem has no unique unides)
-check-oldnames Check all imported ISO9660 names from old session
-check-session FILE Check all ISO9660 names from previous session
-copyright FILE Set Copyright filename
-debug Set debug flag
-b FILE, -eltorito-boot FILE
Set El Torito boot image name
-eltorito-alt-boot Start specifying alternative El Torito boot parameters
-B FILES, -sparc-boot FILES Set sparc boot image names
-G FILE, -generic-boot FILE Set generic boot image name
-sparc-label label text Set sparc boot disk label
-c FILE, -eltorito-catalog FILE
Set El Torito boot catalog name
-C PARAMS, -cdrecord-params PARAMS
Magic paramters from cdrecord
-d, -omit-period Omit trailing periods from filenames (violates ISO9660)
-dir-mode mode Make the mode of all directories this mode.
-D, -disable-deep-relocation
Disable deep directory relocation (violates ISO9660)
-file-mode mode Make the mode of all plain files this mode.
-f, -follow-links Follow symbolic links
-gid gid Make the group owner of all files this gid.
-graft-points Allow to use graft points for filenames
-help Print option help
-hide GLOBFILE Hide ISO9660/RR file
-hide-list FILE File with list of ISO9660/RR files to hide
-hidden GLOBFILE Set hidden attribute on ISO9660 file
-hidden-list FILE File with list of ISO9660 files with hidden attribute
-hide-joliet GLOBFILE Hide Joliet file
-hide-joliet-list FILE File with list of Joliet files to hide
-hide-joliet-trans-tbl Hide TRANS.TBL from Joliet tree
-hide-rr-moved Rename RR_MOVED to .rr_moved in Rock Ridge tree
-gui Switch behaviour for GUI
-i ADD_FILES No longer supported
-input-charset CHARSET Local input charset for file name conversion
-output-charset CHARSET Output charset for file name conversion
-iso-level LEVEL Set ISO9660 conformance level (1..3)
-J, -joliet Generate Joliet directory information
-jcharset CHARSET Local charset for Joliet directory information
-l, -full-iso9660-filenames Allow full 31 character filenames for ISO9660 names
-max-iso9660-filenames Allow 37 character filenames for ISO9660 names (violates ISO9660)
-L, -allow-leading-dots Allow ISO9660 filenames to start with ’.’ (violates ISO9660)
-log-file LOG_FILE Re-direct messages to LOG_FILE
-m GLOBFILE, -exclude GLOBFILE
Exclude file name
-exclude-list FILE File with list of file names to exclude
-pad Pad outout to a multiple of 32k (default)
-no-pad Do not pad output to a multiple of 32k
-M FILE, -prev-session FILE Set path to previous session to merge
-N, -omit-version-number Omit version number from ISO9660 filename (violates ISO9660)
-new-dir-mode mode Mode used when creating new directories.
-force-rr Inhibit automatic Rock Ridge detection for previous session
-no-rr Inhibit reading of Rock Ridge attributes from previous session
-no-split-symlink-components
Inhibit splitting symlink components
-no-split-symlink-fields Inhibit splitting symlink fields
-o FILE, -output FILE Set output file name
-O, -optimize Optimize for iso space(md5 technology)
-path-list FILE File with list of pathnames to process
-p PREP, -preparer PREP Set Volume preparer
-print-size Print estimated filesystem size and exit
-P PUB, -publisher PUB Set Volume publisher
-quiet Run quietly
-r, -rational-rock Generate rationalized Rock Ridge directory information
-R, -rock Generate Rock Ridge directory information
-sort FILE Sort file content locations according to rules inFILE
-split-output Split output into files of approx. 1GB size
-sysid ID Set System ID
-T, -translation-table Generate translation tables for systems that don’t understand long filenames
-table-name TABLE_NAME Translation table file name
-ucs-level LEVEL Set Joliet UCS level (1..3)
-udf Generate UDF file system
-uid uid Make the owner of all files this uid.
-U, -untranslated-filenames Allow Untranslated filenames (for HPUX AIX - violates ISO9660). Forces -l, -d, -L, -N, -relaxed-filenames, -allow-lowercase, -allow-multidot
-relaxed-filenames Allow 7 bit ASCII except lower case characters (violates ISO9660)
-gbk4dos-filenames Allow 8 bit ASCII GBK standard code characters (violates ISO9660)
-gbk4win-filenames Allow 8 bit ASCII GBK standard code characters (violates ISO9660)
-no-iso-translate Do not translate illegal ISO characters ’~’, ’-’ and ’#’ (violates ISO9660)
-allow-lowercase Allow lower case characters in addition to the current character set (violates ISO9660)
-allow-multidot Allow more than one dot in filenames (e.g. .tar.gz) (violates ISO9660)
-use-fileversion LEVEL Use file version # from filesystem
-v, -verbose Verbose
-version Print the current version
-V ID, -volid ID Set Volume ID
-volset ID Set Volume set ID
-volset-size # Set Volume set size
-volset-seqno # Set Volume set sequence number
-x FILE, -old-exclude FILE Exclude file name(depreciated)
-hard-disk-boot Boot image is a hard disk image
-no-emul-boot Boot image is ’no emulation’ image
-no-boot Boot image is not bootable
-boot-load-seg # Set load segment for boot image
-boot-load-size # Set numbers of load sectors
-boot-info-table Patch boot image with info table
-z, -transparent-compression
Enable transparent compression of files
-hfs-type TYPE Set HFS default TYPE
-hfs-creator CREATOR Set HFS default CREATOR
-g, -apple Add Apple ISO9660 extensions
-h, -hfs Create ISO9660/HFS hybrid
-H MAPPING_FILE, -map MAPPING_FILE
Map file extensions to HFS TYPE/CREATOR
-magic FILE Magic file for HFS TYPE/CREATOR
-probe Probe all files for Apple/Unix file types
-mac-name Use Macintosh name for ISO9660/Joliet/RockRidge file name
-no-mac-files Do not look for Unix/Mac files (depreciated)
-boot-hfs-file FILE Set HFS boot image name
-part Generate HFS partition table
-cluster-size SIZE Cluster size for PC Exchange Macintosh files
-auto FILE Set HFS AutoStart file name
-no-desktop Do not create the HFS (empty) Desktop files
-hide-hfs GLOBFILE Hide HFS file
-hide-hfs-list FILE List of HFS files to hide
-hfs-volid HFS_VOLID Volume name for the HFS partition
-icon-position Keep HFS icon position
-root-info FILE finderinfo for root folder
-input-hfs-charset CHARSET Local input charset for HFS file name conversion
-output-hfs-charset CHARSET Output charset for HFS file name conversion
-hfs-unlock Leave HFS Volume unlocked
-hfs-bless FOLDER_NAME Name of Folder to be blessed
-prep-boot FILE PReP boot image file -- up to 4 are allowed
--cap Look for AUFS CAP Macintosh files
--netatalk Look for NETATALK Macintosh files
--double Look for AppleDouble Macintosh files
--ethershare Look for Helios EtherShare Macintosh files
--exchange Look for PC Exchange Macintosh files
--sgi Look for SGI Macintosh files
--macbin Look for MacBinary Macintosh files
--single Look for AppleSingle Macintosh files
--ushare Look for IPT UShare Macintosh files
--xinet Look for XINET Macintosh files
--dave Look for DAVE Macintosh files
--sfm Look for SFM Macintosh files
相关软件下载:
1、请访问下面的链接(链接到我的论坛上):
021yin.com/dvbbs/dispbbs.asp?boardID=6ID=181
2、由大侠Wwashington修改并出品的支持中文以及基于md5技术的空间优化等功能的mkisofs 1.15版:841KB理光cl2000错误代码sc486。
3、Bart的bcd 1.1.1经过我修改后的版本:4259KB,包含上面的新版mkisofs,同时包含cdimage,详细使用方法请参考Bart的网站:。