|
Boot Scriptor
Boot Scriptor是运行在ISOLINUX之上的一个小程序,它允许编写特殊的高度交互的光盘启动控制脚本。它提供了一系列的预设命令,允许用户用多种方法启动系统,即通过定制的启动菜单,允许用户选择启动哪个选项。
1. 下载地址与技术文档
下载地址:
Boot Scriptor 1.2.3b:
http://tigger.cc.uic.edu/~mterlo ... ptor%20(1.2.3b).zip
技术文档:
http://tigger.cc.uic.edu/~mterlo1/bscript/doc.html(英文)
http://tigger.cc.uic.edu/~mterlo1/bscript/cmdref.html(英文)
2. 软件主要特点
应当明确指出的是,Boot Scriptor是一个特殊的代码模块,也称为集成启动映像(Comboot Image),它运行在Isolinux一个特殊版本的最顶层。
同样地,它可以扮演ISOLINUX的一个前端,并能够利用ISOLINUX所提供的所有性能。它同时扩充了ISOLINUX的一系列特性以允许更复杂的启动脚本,且支持一种简单的脚本语言,该脚本语言允许多重启动CD-ROM设计者执行定制的启动办法。
Boot Scriptor是在ISOLINUX之上二次开发的产品,所以ISOLINUX能够完成的工作Boot Scriptor也能完成。但是,经过作者的不懈努力,最终与Bart达成协议,引入了Diskemu这一伟大的模块,不仅加载映像文件的速度大大加快,而且最最重要的是,几乎彻底解决了映像文件的兼容性问题。
Boot Scriptor具有如下主要优点:
(1)囊括了Diskemu与ISOLINUX的所有优点,可以使用多种方法加载软盘映像文件。
(2)将菜单配置文件与映像配置文件合并,更利于相互照应,可以编写更加复杂、更加庞大的脚本。
(3)提供了更方便的颜色控制代码,使用可显示字符作为颜色控制符。
(4)提供了屏幕显示信息的自动对齐控制,例如非常有用的自动居中功能。
(5)提供了模块化的功能选项,更利于用户光盘的定制。
(6)在Boot Scriptor的命令行模式,命令是可编辑的。
(7)提供了与ISOLINUX不同的引导程序,包含El Torito启动信息表,所以除了可用Mkisofs制作映像文件外,还可以方便地用CDImage、Nero等刻录软件制作ISO映像文件。
(8)与CDImage配合使用,可以制作复杂的Windows 系列 n合1光盘。
Boot Scriptor的主要缺点如下:
(1)没有提供ISOLINUX提供的图形界面,启动菜单只能使用纯文本。
(2)对ISOLINUX特殊版本的依赖太严重,你无法在最新的ISOLINUX上运行Boot Scriptor。实际上,从1.2版开始,ISOLINUX已经作为一个单独的模块了。
(3)版本发展速度太快,以致于技术文档的更新速度跟不上。
3. 软件使用方法
Boot Scriptor提供了与ISOLINUX不同的引导程序,修正了包含El Torito启动信息表问题,适用于Nero、Cdimage和Mkisofs。这里分别讲解利用这三种软件制作ISO映像文件的方法。
(1)目录结构
假定xcd\root\为多重启动CD-ROM的根目录,建立如下目录结构,将下载到的文件Boot Scriptor (1.2.3b).zip展开,将展开后的文件及1.img、2.img、3.img分别复制到相应位置:
xcd\loader.bin
xcd\root\bscript\1.img
xcd\root\bscript\2.img
xcd\root\bscript\3.img
xcd\root\bscript\bscript.bin
xcd\root\bscript\modules\basic.bsm
xcd\root\bscript\modules\boot.bsm
xcd\root\bscript\modules\diskemu.bsm
xcd\root\bscript\modules\extend.bsm
xcd\root\bscript\modules\history.bsm
xcd\root\bscript\modules\hotkey.bsm
xcd\root\bscript\modules\isolinux.bsm
xcd\root\bscript\modules\memdisk
xcd\root\bscript\modules\part.exe
xcd\root\bscript\modules\rpm.bsm
xcd\root\bscript\modules\script.bsm
Boot Scriptor的文件必须放在光盘根目录下的bscript子目录中,这与ISOLINUX类似。
如果还希望增加有其他文件和子目录,将其复制到,xcd\root\目录下,这是光盘的光盘根目录。
(2)编写菜单配置文件xcd\root\bscript\bscript.ini(默认文件名)
start:
clear
print c "\n\n\c17===================================================\n"
print c "\c17 \c1fBOOT MENU\c17 \n"
print c "\c17===================================================\n"
print c "\c17 \n"
print c "\c17 \c1f1\c17 MS-DOS 98SE & Tools \n"
print c "\c17 \c1f2\c17 PowerQuest PartitionMagic 7 \n"
print c "\c17 \c1f3\c17 DocMemory RAM Diagnostic-ver V2.0 \n"
print c "\c17 \n"
print c "\c17 \c1fR\c17 Reboot \n"
print c "\c17 \c1fF\c17 Boot from first Floppy Drive \n"
print c "\c17 \c1f Esc\c17 Boot from first Hard Disk \n"
print c "\c17 \n"
print c "\c17---------------------------------------------------\n"
print c "\c17 Select the item and then press Enter \n"
print c "\c17 or press the HotKey \n"
print c "\c17===================================================\n"
;
start1:
call drawscrn
setpos 1 7
print c "\c3f 1\c31 MS-DOS 98SE & Tools "
key1:
getkey
call mainkey
onkey space goto item_1
onkey enter goto item_1
onkey up goto start6
onkey down goto start2
goto key1
;
start2:
call drawscrn
setpos 1 8
print c "\c3f 2\c31 PowerQuest PartitionMagic 7 "
key2:
getkey
call mainkey
onkey space goto item_2
onkey enter goto item_2
onkey up goto start1
onkey down goto start3
goto key2
;
start3:
call drawscrn
setpos 1 9
print c "\c3f 3\c31 DocMemory RAM Diagnostic-ver V2.0 "
key3:
getkey
call mainkey
onkey space goto item_3
onkey enter goto item_3
onkey up goto start2
onkey down goto start4
goto key3
;
start4:
call drawscrn
setpos 1 11
print c "\c3f R\c31 Reboot "
key4:
getkey
call mainkey
onkey space reboot cold
onkey enter reboot cold
onkey up goto start3
onkey down goto start5
goto key4
;
start5:
call drawscrn
setpos 1 12
print c "\c3f F\c31 Boot from first Floppy Drive "
key5:
getkey
call mainkey
onkey space boot 0x00
onkey enter boot 0x00
onkey up goto start4
onkey down goto start6
goto key5
;
start6:
call drawscrn
setpos 1 13
print c "\c3f Esc\c31 Boot from first Hard Disk "
key6:
getkey
call mainkey
onkey space boot 0x80
onkey enter boot 0x80
onkey up goto start5
onkey down goto start1
goto key6
;
mainkey:
onkey 1 goto item_1
onkey 2 goto item_2
onkey 3 goto item_3
onkey r reboot cold
onkey R reboot cold
onkey f boot 0x00
onkey F boot 0x00
onkey esc boot 0x80
return
;
item_1:
cls
print "Starting MS-DOS 98 & Tools\n"
diskemu 1.img
goto start1
;
item_2:
cls
print "PowerQuest PartitionMagic 5/7\n"
diskemu 2.img
goto start2
;
item_3:
cls
print "Starting DocMemory RAM Diagnostic-ver V2.0\n"
diskemu 3.img
goto start3
;
drawscrn:
setpos 1 7
print c "\c17 \c1f1\c17 MS-DOS 98SE & Tools \n"
print c "\c17 \c1f2\c17 PowerQuest PartitionMagic 7 \n"
print c "\c17 \c1f3\c17 DocMemory RAM Diagnostic-ver V2.0 \n"
print c "\c17 \n"
print c "\c17 \c1fR\c17 Reboot \n"
print c "\c17 \c1fF\c17 Boot from first Floppy Drive \n"
print c "\c17 \c1f Esc\c17 Boot from first Hard Disk \n"
return
;
eof:
;
上述脚本非常复杂,除了界面略有简陋外,几乎体现了Boot Scriptor的所有精华。其中大量的代码是为了实现移动光标键,如果不需要使用光标键,则脚本能够大大简化。
(3)用CDImage制作ISO文件
将cdimage.exe文件复制到xcd\目录下,打开DOS窗口,在xcd目录下运行如下命令:
cdimage -lMultiBootCD -n -m -bloader.bin root xcd.iso
运行完毕后,将生成多重启动ISO映像文件xcd\xcd.iso,可利用VMware Workstation或Virtual PC对其进行测试。正确无误后,可将xcd.iso烧录到光盘。
(4)用Nero制作ISO/NRG文件
运行Nero 5.5.9.0,选择菜单“档案—开新档案”,选择“CD-ROM(开机)”,在“可开机的映像文件位置”中选择loader.bin,“模拟类型”选择“不模拟”,“加载扇区”选择默认的“07C0”,“已加载扇区数”必须为“4”。
随后将xcd\root\bscript及其下面的全部文件拖放到光盘根目录下。
这样,最基本的文件就准备齐了,你还可以再适当添加文件和目录。最后,烧录映像文件,可以选择NRG格式,也可以选择标准的ISO格式。利用VMware Workstation或Virtual PC对其进行测试。正确无误后,可将xcd.iso烧录到光盘。
(5)用Mkisofs制作ISO文件
用Mkisofs制作Boot Scriptor的ISO映像文件的方法与制作ISOLINUX的方法很类似,所以我们只需对制作ISOLINUX的ISO映像的方法进行适当的改造。
下载cdrpack13.zip,再下载ISOLINUX插件multi_memdisk_addon.zip,将下载到的cdrpack13.zip连同子目录一起展开,将定释放到目录cdrpack13,再将multi_memdisk_addon.zip连同子目录展开到同一目录下。这样,目录cdrpack13中将包含如下子目录和文件:
cdrpack13\cdrpack.txt
cdrpack13\gnugpl.txt
cdrpack13\main.bat
cdrpack13\run.bat
cdrpack13\bin
cdrpack13\cds
其中,cdrpack13\cds包含在multi_memdisk_addon.zip中,其他的文件和子目录包含在cdrpack13.zip中。
删除子目录cdrpack13\cds\multi_memdisk\disk1\isolinux,将xcd\root下面的子目录bscript(连同其中的bscript.ini及软盘映像文件)复制到cdrpack13\cds\multi_memdisk\disk1下面。
修改文件cdrpack13\cds\diskemu\build.mak中的“boot”选项为:
boot:=-b bscript/loader.bin \
-no-emul-boot -boot-load-size 4 \
-hide loader.bin -hide-joliet loader.bin \
-hide boot.catalog -hide-joliet boot.catalog
一定要删除“-boot-info-table”。
将“volumeid”和“preparer”的内容改为用户定义的方式。
执行批处理程序cdrpack13\run.bat,从“Main menu”中选择“Build & Burn”,按4次回车,如果不出问题,又会回到“Main menu”,生成的ISO文件存放在cdrpack13\tmp目录下,文件名为mycd.iso,利用VMware Workstation或Virtual PC对其进行测试。正确无误后,可将xcd.iso烧录到光盘。 |
|