命令中各参数解释如下(我不明白什么意思的就使用英文原来的解释):
-J制做Joliet文件系统,好象比iso9660的优点就是支持长文件名。
-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,好象就是允许文件名有31个字符
-no-iso-translateDo not translate illegal ISO characters '~', '-' and '#' (violates ISO9660),不转换文件名中的~、-、#等符号
-relaxed-filenames允许文件名中使用小写字符(不符合ISO9660规范)
-gbk4dos-filenames允许dos下的中文文件名(不符合ISO9660规范)
-gbk4win-filenames允许windows下的中文长文件名(不符合ISO9660规范)
-optimize优化iso文件存储(即所有目录中相同的文件只存储一份儿到iso文件中,节省存储空间,对于制做win2000三合一光盘特别有用)
-v(-verbose),在命令执行时显示详细的信息
-volid "W98SEBOOT"设置光盘短卷标,本例中设置为W98SEBOOT(即将光盘放入光驱后在光驱盘符上显示的卷标)
-p "Climbing"光盘制做人(自由设置)
-P "Little Stone Corp."光盘制做公司(自由设置)
-A "Created 'Barts way' Bootable CD-ROM using MKISOFS"设置应用ID(Application ID),自由设置
-eltorito-boot w98se.ima(-b)启动映象文件名(这一项设置十分关键,光盘能否启动,全在这一步)
-hide w98se.ima ISO9660隐藏文件,在dos下不可以看到,但在Windows下可以看到
-hide-joliet w98se.imaJoliet隐藏文件,无论在什么系统下均无法看到这个文件(在isobuster中可以看到)。
-hide boot.catalog -hide-joliet boot.catalog隐藏boot.catalog文件,这个文件好象在光盘上就是一个2K长的空白文件,由mkisofs命令自动生成。
-o iso/mycd.iso要生成的iso文件的存放路径及文件名(即destination)。
disk1 [other path\filename ...]指定用来放入iso文件中的内容,可以有多个(即Source)。
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 ***]
; diskemu.com for Windows XP Pro Setup Disc
; Modified by Little Stone on 2002.07.19
; E-mail: littlestone@netease.com
:start
cls
print
print ------------------------------------------------------------------------------
print Bootable CD main menu http://www.nu2.nu/diskemu
print ------------------------------------------------------------------------------
print F1=Help
print
print
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
print a) Boot floppy [A:]
print c) Boot first harddisk [C:]
print q) Quit to command prompt
print r) Reboot
print
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
print Here you can type help for your customers
print
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
唉,写到这里发觉自己真是白痴,费了这么大的力气,不知道有没有把问题说清楚。在这篇总结文章里引用了很多高手的著作,无法一一注明的,请各位高手原谅,特别感谢Bart高手、wwashington大虾(没有他的中文版mkisofs,一切都是白扯)、无忧社区CEO wwwfox大虾、萧十 and 一郎两位黑客、xhwfq(中文启动菜单高手)等大虾的帮助与指导,文章写的很仓促,是在UltraEdit中完成的,因此无法插入可以直接访问的链接与图片,只是给出了URL地址。而且定有很多错误之外,望各位高手批评指正,再次感谢!
附1:diskemu.cmd文件中可以使用的命令请参考:http://www.nu2.nu/diskemu网页上的介绍,这些命令同样可以用在diskemu1x.bin提供的命令提示符下。
附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
这篇文章详细讲述了Windows 2000 3合1光盘及Windows XP 2合1光盘的详细制做步骤,当然,在生成ISO文件的过程中,EasyBoot还是调用cdimage进行光盘的存储优化并生成ISO文件的。我们学习的是其目录组织的步骤(当然,你可以根据自己的需要修改相应的目录结构)及相应引导文件的修改方法,这可以算是一篇制做Windows N in 1光盘的入门教程。强烈推荐新手认真学习!
⑵、复制文件
接着开始按放三个版的文件,其中,D:\EasyBoot\WINXP\ 是Windows XP 3合1光盘的根目录,
D:\EasyBoot\WINXP\SYSTEM\WINXPWPRO 用于存放 Windows XP 专业版文件。(光盘根目录下的全部文件)
D:\EasyBoot\WINXP\SYSTEM\WINXPHOME 用于存放 Windows XP 家庭版文件,(光盘根目录下的全部文件)
将 Windows XP 专业版光盘上的文件全部复制到 D:\EasyBoot\WINXP\SYSTEM\WINXPWPRO 目录。
将 Windows XP 家庭版光盘上的文件全部复制到 D:\EasyBoot\WINXP\SYSTEM\WINXPHOME 目录。
必须确保复制了全部文件和子目录,包括具有系统和隐藏属性的。
复制完毕后,清除 D:\EasyBoot\WINXP\SYSTEM\下全部文件和子目录的系统、隐藏和只读属性。
将 D:\EasyBoot\WINXP\SYSTEM\WINXPWPRO 目录下的 WIN51、WIN51IP 复制到 D:\EasyBoot\WINXP\目录下,
将 D:\EasyBoot\WINXP\SYSTEM\WINXPHOME 目录下的 WIN51IC 复制到 D:\EasyBoot\WINXP\目录下,
要点:D:\EasyBoot\WINXP\目录下面必须有文件,WIN51、WIN51IC、WIN51IP 这是我们欺骗安装程序的标志,这张光盘是Windows XP 的原始安装盘。
⑶、配置软盘组安装程序文件
首先到微软网站下载二个版本启动盘文件,
简体中文专业版:winxp_cn_pro_bf.exe
XP 简体中文专业版启动盘下载地址:http://www.microsoft.com/downloads/release.asp?releaseid=33494
简体中文家庭版:winxp_cn_hom_bf.exe
XP 简体中文家庭版启动盘下载地址:http://www.microsoft.com/downloads/release.asp?releaseid=33493