|
baoxin1968
初级用户
积分 173
发帖 26
注册 2004-9-9
状态 离线
|
『楼 主』:
功能远强于BOOTCON.SYS加CONFIG.CTL的启动控制工具[本是编译]
我在网上找到一个boot.sys文件,记得你说过它比bootcon.sys功能要强,请你说一下他的使用方法吧!先谢谢啦!!!
boot.sys文件我把它的后缀改成了.rar,使用时只要改成.sys就可以了。
[ Last edited by baoxin1968 on 2005-12-29 at 17:16 ]
附件
1: boot.rar (2005-12-27 17:28, 25.31 K, 下载附件所需积分 1 点
,下载次数: 157)
|
|
2005-12-27 17:28 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
2 楼』:
你的附件里“文件”是什么?好象是真正的压缩包--里面有许多.class文件。你的附件是不是上传错了?我自己下载的有两个版本--1.42和2.10对启动盘来说,前一个版本更加合适,因为体积小,功能也已经十分强大;2.10版应该是高手们玩酷钻精用的。
但还得请你耐心等一段时间,我现在正在烦心VTHZMK 2.0D版的调试工作--屡战屡挫--甚至重写了命令行参数处理、合并文件模块等等,也仍然未克。磨人啊!
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2005-12-28 01:19 |
|
|
baoxin1968
初级用户
积分 173
发帖 26
注册 2004-9-9
状态 离线
|
『第
3 楼』:
致本是大师:
很感谢你在百忙之中给我回帖,我看到回帖时间是凌晨1点多,你太辛苦了,要注意身体啊!有需要帮忙的尽管说,能进到一点微薄之力是我们的光荣,大家都等着你的好消息呢!
boot.sys文件是我在网上搜索的一个杨邦软件里带的,看来是不能用,你能否上传那两个版本的boot.sys软件,我试一下看能找到使用方法吧?
谢谢!!!
|
|
2005-12-28 08:23 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
4 楼』:
Quote: | Originally posted by baoxin1968 at 2005-12-28 08:23:
致本是大师:
很感谢你在百忙之中给我回帖,我看到回帖时间是凌晨1点多,你太辛苦了,要注意身体啊!有需要帮忙的尽管说,能进到一点微薄之加... |
|
谢谢你的关心!调试工作确实。
另外,请编辑首贴将标题换名为“功能远强于BOOTCON.SYS加CONFIG.CTL的启动控制工具[本是编译]”,以求一目了然。
***********************************************************
boot.sys软件包我在开发VTHZMK的中期就看到并研究过了,但因为忙于更新增强其功能,
一直未能发布。既然朋友们需要,我就拿出来与大家共享。
附件中的boot_sys142.rar是我重新压缩的,不需要安装;boot_sys210.zip有此危险性,
解压后还需安装,建议在虚拟机上进行,免得惹祸(高手例外!)。
对应于原来的手册boot.doc(约110K)内容见以下的贴子。其后的内容将分贴连载。
功能远强于BOOTCON.SYS加CONFIG.CTL的启动控制工具[本是编译]
此处的BOOT.SYS为1.42版,但它体积小巧(核心文件含在CONFIG中使用的BOOT.SYS和
在AUTOEXEC中使用的BOOT.COM,只有25K),而且不用安装,比功能体积超级强大 (光是
核心文件如在CONFIG中使用的BOOT.SYS和在AUTOEXEC中使用的BOOT.EXE,就有120K) 但
需要安装而且要改变现有CONFIG及AUTOEXEC的2.10版适合用于启动盘。
想马上尝试的朋友可以往下读,因为本文件是逐步深入的教程,当然实在时间紧的,
只看“第0级: 快速上手”也能使用中文菜单了。
注意:要使用中文菜单,需要载入汉字字模,可以通过编辑含有汉字的文件,再由
VTHZMK来生成载入字模的.EXE和对应的能让你看到汉字字形的.NEW
(假设文件是xxxx.txt,注意要小写/t):
VTHZMK /t xxxx.txt
(如果你的笔记本电脑对xxxx.EXE报错,请重新生成,命令行中要加参数-C9:
VTHZMK -C9 /t xxxx.txt)
你会得到xxxx.EXE和xxxx.NEW。在DOS下,.EXE可以直接运行:
xxxx
在CONFIG.SYS中,要用设备驱动来载入:
DEVICE=xxxx.EXE
************************************************************
做出软件或启动盘的朋友们,请在作品中申明
VTHZMK和我(本是/罗明安)的编译对你的帮助。
谢谢!
************************************************************
BOOT.SYS 1.42版 为MS-DOS提供启动菜单选择系统配置
****** 支持对CONFIG.SYS进行全程或局部(由此可以先加载汉字字模!)控制 ******
* 支持单层菜单,连续菜单,多层嵌套菜单
* 每个菜单最多可有9个菜单项(每个1行),上面可定制提示区
* 共可拥有25个连续菜单,各有不同系统配置
* 子菜单共可嵌套25层
* 菜单选择可通过输入数字键或用箭头移动
* 每个菜单可定制倒计时间和默认选项
* 完全支持MS/PC-DOS 5.00起的 DOS= 和其它新命令
* 支持LCD笔记本切换到外接监视器
* 支持启动时现场编辑 CONFIG.SYS 行内容
* 驻留占用DOS内存不到200字节(DOS 6.0及以上中不占内存!)
{}中只是说明文字,真正使用AUTOEXEC.BAT和CONFIG.SYS时
要连同{}一起删除掉!
第0级: 快速上手
1. 创建一个新CONFIG.SYS如下:
CO DEVICE=c:\bin\BOOT.SYS
DEVICE=BOOT.1 第一个配置 {名称任意}
DEVICE=BOOT.SET boot=config1 {要有代表性,如PWinXP}
{其它配置内容}
DEVICE=BOOT.2 第二个配置
DEVICE=BOOT.SET boot=config2
{其它配置内容}
DEVICE=BOOT.END
2. 创建新AUTOEXEC.BAT如下(注意不能有同名标号):
AU BOOT SET
IF ERRORLEVEL 10 GOTO not_installed
GOTO %boot%
:config1 {用的标号要与CONFIG.SYS中的名称呼应}
{其它执行内容}
GOTO done
:config2 {标号,名称要呼应}
{其它执行内容}
GOTO done
{其它}
:not_installed
echo BOOT.SYS is not installed
:done
3. 重新启动,考察BOOT.SYS的工作效果.
***********************************************************
附件
1: BOOT_SYS142.rar (2005-12-28 10:55, 73.96 K, 下载附件所需积分 1 点
,下载次数: 613)
附件
2: boot_sys210.zip (2005-12-28 10:55, 218.04 K, 下载附件所需积分 1 点
,下载次数: 369)
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2005-12-28 10:55 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
5 楼』:
格式上有些不的地方,在NOTEPAD记事本中或DOS的编辑器中就正常了。
************************************************************
第1级: 单层菜单
CO.11 BUFFERS=32
FILES=20
{共同配置,如MS-DOS菜单的前部[COMMON]块}
DEVICE=BOOT.SYS {命令行参数可选}
DEVICE=TOP
DEVICE=TOP Select a choice:
DEVICE=TOP press 1,2,... OR,
DEVICE=TOP move the arrow
DEVICE=TOP Press Enter when ready.
DEVICE=TOP
DEVICE=BOOT.1 no RAM disk
DEVICE=BOOT.SET boot=no_vdisk
DEVICE=BOOT.2 64K RAM disk
DEVICE=c:\dos\VDISK.SYS size=64 sector=512 dir=64
DEVICE=BOOT.SET boot=vdisk
DEVICE=BOOT.3 128K RAM disk
DEVICE=c:\dos\VDISK.SYS size=128 sector=512 dir=64
DEVICE=BOOT.SET boot=vdisk
DEVICE=BOOT.END
{共同配置,如MS-DOS菜单的后部[COMMON]块}
AU.11 c:\bin\BOOT SET
IF ERRORLEVEL 10 GOTO not_installed
GOTO %boot%
:vdisk
COPY c:\COMMAND.COM d:
SET COMSPEC=d:\COMMAND.COM
GOTO done
:no_vdisk
ECHO Sorry, there is no RAM disk
GOTO done
:not_installed
ECHO BOOT.SYS is not installed!
:done
PATH c:\dos;c:\bin
BOOT.SYS只控制CONFIG.SYS中始于DEVICE=BOOT.SYS行,终于DEVICE=BOOT.END行之
间的部分,而不是象MS-DOS系统菜单霸道地一定要先执行菜单选择然后才执行[COMMON]
块.这就开了系统启动菜单由汉字显示的后门.同时,你不仅可以编辑菜单块,而且可以
改变菜单块内的命令.
通过TOP命令可以显示它后面跟的基本和扩展ASCII字符(包括汉字),这一点(菜单选
项前显示提示信息)比MS-DOS系统及其它工具要方便许多.通过TOP显示的行数不限(看屏
幕情况定).但是,所有的小写字母将由MS-DOS系统自动转成大写(解决办法见后).TOP行
可省.
BOOT.1行后面是可选显示内容,下面的行是第一块菜单块的种种命令或空行,除非
选中/才会执行.BOOT.n的n最大可为9.
BOOT.SET行通知BOOT.SYS定义一个DOS环境变量,以便传递到AUTOEXEC.BAT.
REM行可以在BOOT.SYS和BOOT.END行之间加入注释信息,格式如下:
DEVICE=REM any comment
SET加参数这一行可以通过配套程序BOOT.COM来给AUTOEXEC.BAT拷贝DOS环境变量.
它如果找不到驱动程序,就会在ERRORLEVEL中返回10.
环境变量用途很多,作为IF命令GOTO的标号,执行命令的条件,程序参数,跳转其它
批处理文件.
CO.12 DEVICE=BOOT.SYS /CX1f /L18 /U^
DEVICE=TOP
DEVICE=TOP
DEVICE=TOP ^What kind of network support do you need?
DEVICE=TOP
DEVICE=TOP
DEVICE=TOP
DEVICE=BOOT.1 none
DEVICE=BOOT.2 ^X^N^S
DEVICE=BOOT.SET net=xns
DEVICE=BOOT.3 ^T^C^P/^I^P
DEVICE=BOOT.SET net=tcp
DEVICE=BOOT.END
AU.12 ECHO OFF
CLS
c:\bin\BOOT SET >NUL: {>NUL: 隐藏BOOT.COM的输出}
IF "%net%" == "" GOTO no_net
auto%net% {AUTOEXEC.BAT将分别执行autoxns.bat或autotcp.bat}
:no_net
PATH c:\dos;c:\bin
BOOT.SYS的命令行参数是:/CX1f (heX16进制值为1f的颜色), /L18 (数字前显示
18个空格,默认为2), /U^ (英文字母全部小写除非用^后的那1个字母,^可换其它字符)
CO.13 DEVICE=c:\bin\BOOT.SYS /D2 /T5
DEVICE=TOP Select your system configuration
DEVICE=BOOT.1 no RAM disk, no ANSI.SYS (all RAM above DOS available)
DEVICE=BOOT.2 64K RAM disk, no ANSI.SYS
DEVICE=c:\dos\VDISK.SYS size=64 sector=512 dir=64
DEVICE=BOOT.3 no RAM disk, ANSI.SYS
DEVICE=c:\dos\ANSI.SYS
DEVICE=BOOT.4 64K RAM disk and ANSI.SYS
DEVICE=c:\dos\VDISK.SYS size=64 sector=512 dir=64
DEVICE=c:\dos\ANSI.SYS
DEVICE=BOOT.END
BOOT.SYS使用了命令行参数: /T5 (倒计时5秒),不选择,就自动执行由/D2指定的
默认项2.
BOOT.SYS命令参数详细介绍(开关符为/或-):
/CXhh 菜单颜色,16进制值hh或10进制值n。前h为背景色,后h为前景色:
/Cn
颜色 背景色 前景色
常规 高亮
黑 0? ?0 ?8
蓝 1? ?1 ?9
绿 2? ?2 ?A
绿蓝 3? ?3 ?B
红 4? ?4 ?C
洋红 5? ?5 ?D
棕 6? ?6 ?E
白 7? ?7 ?F
单显系统色值如下:
02 =常规,2F =高亮,70 =反相 (16进制)。
默认色:/CX2F (亮白字绿底)
/Dd 默认选项:箭头指向的选项,并会被执行--如果未作改变。
默认值: /D1
/Ln 数字距屏幕左边框的空格数。
默认值: /L5
/N+ 开关NumLock灯,让小数字键输入数字或
/N- 运动光标
/P 在屏幕右下角显示菜单辨认符,用于建立、查错、讨论复杂菜单系统。详情后述。
/Sn 选项间的空行。
默认值: /S2 (双空行)
/Tn 倒计时:在指定时间n秒或
/T-n -n个时钟滴达(18.2个滴达=1秒)内若无按键,将执行默认项;若有按键,不再计时。
/T0 也是合法的;BOOT.SYS会检查键盘缓冲区,看是否有键值,无则立即计时。多数
BIOS在警叫声后立即计时。
/T 无倒计时,默认值。
/Uc 单大写字符:标志字符c后的1个字符大写,其余字符小写,TOP行和BOOT.n行上同样。
要显示c双写标志符cc。
c无默认符; /U^ 或 /U~ 就可以。
/Uct 单个和多个大写字符 (类似于键盘上的Shift键和Caps-Lock键):
如此指定后,所有行都小写,t转连续字符大写,c转单字符大写。
使用 /U^\的例子:lower\UPPER\lower^Proper\IM^pROPER
要显示t,用tt或ct。
/U 'a'-'z'之间全大写,这是默认值。
************************************************************
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2005-12-28 10:59 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
6 楼』:
BOOT.SET命令与环境变量
普通批处理中的环境变量用法举例:
GOTO %test% {跳转行标 "ok"}
ECHO The value of TEST is %test%. {简单字符替换,用于查错}
EDIT %test% {命令参数}
%test% {执行名为ok的命令或处理文件}
IF "%test%" == "ok" GOTO continue {字符串比较}
IF NOT "%test%" == "" CALL doit.bat
BOOT.SYS使用环境变量
定义方法(BOOT.SYS的驻留部分将随之增大):
DEVICE=BOOT.SET 名称=值
如果愿意的话,PROMPT和PATH也能用BOOT.SET定义。
要拷贝变量定义,AUTOEXEC.BAT中和DOS命令行上执行方法如下:
BOOT SET
用完不再需要时,可以如下方法释放占用内存:
BOOT CLEAR
变量名总是大写;变量值默认状态也是大写,如果需要小写请用 /U开关:
DEVICE=BOOT.SET /U^ 名称=^Value值
某些变量的值可以用BOOT.0设置
第2级:多个独立菜单
多个选择需要多个菜单
[SCREEN] [SCREEN]
CO.21 DEVICE=c:\bin\BOOT.SYS /T5
DEVICE=BOOT.A /D2
DEVICE=TOP Do you need a RAM disk?
DEVICE=BOOT.1 no
DEVICE=BOOT.2 yes, 64K RAM disk
DEVICE=c:\dos\VDISK.SYS size=64 sector=512 dir=64
DEVICE=BOOT.SET VDISK=D
DEVICE=BOOT.B /D1
DEVICE=TOP Do you need ANSI.SYS?
DEVICE=BOOT.1 no
DEVICE=BOOT.2 yes, ANSI.SYS
DEVICE=c:\dos\ANSI.SYS
DEVICE=BOOT.Z {本行可选,可省!}
DEVICE=BOOT.END
AU.21 c:\bin\BOOT SET
IF ERRORLEVEL 10 GOTO not_installed
IF "%VDISK%" == "" ECHO Sorry, there is no RAM disk
IF NOT "%VDISK%" == "" COPY c:\COMMAND.COM %VDISK%:
IF NOT "%VDISK%" == "" SET COMSPEC=%VDISK%:\COMMAND.COM
GOTO done
:not_installed
ECHO BOOT.SYS is not installed!
:done
PATH c:\dos;c:\bin
BOOT.A引导第1个菜单,BOOT.B引导第2个,直至BOOT.Y最多25个菜单。BOOT.Z可选可省。
BOOT.SYS命令行参数 /T 设定的定时值5秒用于所有菜单。BOOT.A等的命令行上只适用于该菜单,
/D 参数同理。而且还可以合并:BOOT.SYS行上的参数可以在特定菜单上作改变。
有些时候,设备驱动程序的顺序很关键,可以用DEVICE=BOOT.0行引导该块于两个菜单之间。
CO.22 DEVICE=c:\bin\BOOT.SYS /T5
DEVICE=BOOT.A /D2
DEVICE=TOP Do you need a RAM disk?
DEVICE=BOOT.0
{设备驱动}
DEVICE=BOOT.1 no
DEVICE=BOOT.2 yes, 64K RAM disk
DEVICE=c:\dos\VDISK.SYS size=64 sector=512 dir=64
DEVICE=BOOT.SET VDISK=D
DEVICE=BOOT.0
{设备驱动}
DEVICE=BOOT.B /D1
DEVICE=TOP Do you need ANSI.SYS?
DEVICE=BOOT.1 no
DEVICE=BOOT.2 yes, ANSI.SYS
DEVICE=c:\dos\ANSI.SYS
DEVICE=BOOT.END
每一个菜单块外的前边和后边都可以安置由BOOT.0引导的块,该菜单一显示,这些包含设备驱动或其它命
令的前后块将被执行。
第3级: 多层嵌套菜单
复杂的系统要求复杂的系统配置,可能延伸到另一层,构成多层嵌套菜单。
[SCREEN] [SCREEN]
[SCREEN] [SCREEN]
CO.31 DEVICE=c:\bin\BOOT.SYS /T5 /P
DEVICE=BOOT.A /D2 {A}
DEVICE=TOP Do you need a RAM disk?
DEVICE=BOOT.1 no
DEVICE=BOOT.2 yes, RAM disk
{a}
DEVICE=BOOT.A /T {A2A}
DEVICE=TOP What size RAM disk do you need?
DEVICE=BOOT.1 64K
DEVICE=c:\dos\VDISK.SYS size=64 sector=512 dir=64
DEVICE=BOOT.2 128K
DEVICE=c:\dos\VDISK.SYS size=128 sector=512 dir=64
{b}
DEVICE=BOOT.B {A2B}
DEVICE=TOP Do you want COMMAND.COM to be
DEVICE=TOP copied to the RAM disk?
DEVICE=BOOT.1 yes
DEVICE=BOOT.SET COPY_CC=Y
DEVICE=BOOT.2 no
{c}
DEVICE=BOOT.Z
{d}
DEVICE=BOOT.B /D1 {B}
DEVICE=TOP Do you need ANSI.SYS?
DEVICE=BOOT.1 no
DEVICE=BOOT.2 yes, ANSI.SYS
DEVICE=c:\dos\ANSI.SYS
DEVICE=BOOT.END
AU.31 c:\bin\BOOT SET
IF ERRORLEVEL 10 GOTO not_installed
IF "%COPY_CC%" == "Y" COPY c:\COMMAND.COM d:
IF "%COPY_CC%" == "Y" SET COMSPEC=d:\COMMAND.COM
c:\bin\BOOT CLEAR {清除变量定义}
GOTO done
:not_installed
ECHO BOOT.SYS is not installed!
:done
PATH c:\dos;c:\bin
命令行开关 /P 指定每个菜单右下角显示的菜单辨别符(第n个字母为第n层,数字m为第m项,
每一层同时使用一个字母带一个数字,比如A2B中,A为第1层,2为它有2个子层A和B:A2A和A2B),
它们与CONFIG.SYS中的注释相同。多用于支持与查错目的。在命令行上不带参数运行BOOT.COM会
显示所有菜单的列表及相应选项。
最后一个例子中的配置更加复杂, [SCREEN]
是我本人使用的,也许对目前的
你太复杂了些......
[SCREEN] [SCREEN]
CO.32 break=off
buffers=32
country=041,437,c:\dos\country.sys
files=20
lastdrive=H
stacks=9,128
shell=c:\dos\command.com c:\dos /p /e:300
DEVICE=C:\BOOT\BOOT.SYS /L18 /U^\ /CX2F
DEVICE=BOOT.A /T0 /CX4F /D1 {特殊菜单设红色,T=0}
DEVICE=TOP
DEVICE=TOP
DEVICE=TOP ^Select any special boot-up options:
DEVICE=TOP
DEVICE=BOOT.1 >>> \NONE <<< {空项}
DEVICE=BOOT.2 \UNIFORM\ - ^Access non-\DOS\ diskettes
device=c:\ut\uniform\uniform.sys at+ dr96=0
DEVICE=BOOT.3 ansi.sys
device=c:\dos\ansi.sys
DEVICE=BOOT.4 ^Insert an additional device driver
DEVICE=BOOT.EDIT {后叙}
DEVICE=DUMMY FILLER DUMMY FILLER DUMMY FILLER
DEVICE=BOOT.5 ^Alt-^Ctrl-^Del = cold boot
DEVICE=BOOT.OPTION BOOTASSIST {后叙}
DEVICE=BOOT.SET BOOTASSIST=COLD
DEVICE=BOOT.B /T5
DEVICE=TOP
DEVICE=TOP
DEVICE=TOP ^Select operating environment:
DEVICE=TOP
DEVICE=BOOT.0
DEVICE=BOOT.SET CED=Y {默认}
DEVICE=BOOT.1 \DOS\ with 1^M^B disk cache
DEVICE=BOOT.SET C386=MAX
device=c:\386max\386max.sys ext=1384
device=c:\386max\386load.sys prog=c:\dos\cache.exe 1024 ON /EXT /Q
buffers=5
device=c:\386max\386load.sys size=4216 prog=c:\dos\vdisk.sys 360 512 64 /E:8
DEVICE=BOOT.2 \DOS\ without disk cache
DEVICE=BOOT.SET C386=MAX
device=c:\386max\386max.sys ext=360
device=c:\386max\386load.sys size=4216 prog=c:\dos\vdisk.sys 360 512 64 /E:8
DEVICE=BOOT.3 \DESQ\view 386
DEVICE=BOOT.SET C386=QEMM
DEVICE=BOOT.SET DV=Y
DEVICE=BOOT.SET CED= {清除默认变量}
DOS=LOW {MS/PC-DOS 5.00以后}
DEVICE=BOOT.A /T5 /D2
DEVICE=TOP
DEVICE=TOP
DEVICE=TOP ^Select \DESQ\view configuration:
DEVICE=TOP (size of 1st window, others 12k^B less)
DEVICE=TOP
DEVICE=BOOT.1 ^Standard: 535^K^B free
device=c:\dv\qemm\qemm386.sys extmem=360
device=c:\dos\vdisk.sys 360 512 64 /E:8
DEVICE=BOOT.2 ^Extended: 546^K^B free
device=c:\dv\qemm\qemm386.sys extmem=360 ram rom
device=c:\dos\vdisk.sys 360 512 64 /E:8
DEVICE=BOOT.3 ^Huge: 639^K^B free (no graphics!)
DEVICE=BOOT.SET NOEGA=Y
DEVICE=REM use LOADHI NOEGA
device=c:\dv\qemm\qemm386.sys extmem=360 ram rom include=A000-B7FF
device=c:\dos\vdisk.sys 360 512 64 /E:8
DEVICE=BOOT.Z
DEVICE=BOOT.4 ^Windows 386
DEVICE=BOOT.SET C386=HIMEM
device=c:\dos\himem.sys
device=c:\dos\smartdrv.sys 1024
device=c:\dos\vdisk.sys 360 512 64 /E:8
DEVICE=BOOT.SET CED= {清除默认变量}
DEVICE=BOOT.5 ^Turbo ^Debugger 386 and ^M^S-^D^O^S
DEVICE=BOOT.SET C386=TD
device=c:\tc\td\tdh386.sys
DEVICE=BOOT.6 plain ^D^O^S
device=boot.option free {容后叙}
DEVICE=REM Note: BOOT.COM will return ERRORLEVEL 10
DEVICE=BOOT.END
DOS=HIGH {MS/PC-DOS 5.00以上}
AU.32 path c:\dos;c:\bin;c:\ut;c:\wp\lm
C:\BOOT\BOOT SET >NUL:
if errorlevel 10 goto plain_dos
if not "%bootassist%" == "" C:\BOOT\BOOT BOOTASSIST %BOOTASSIST% >nul:
set bootassist= {不再需要}
quikkey 24
if "%c386%" == "MAX" goto max
if "%c386%" == "QEMM" goto qemm
c:\dos\plus\kbext
if "%ced%" == "Y" c:\ut\ced -b500,200,300,128,128,128 -fc:\ut\ced.cfg
goto cont
:max
c:\386max\386load size=1052 envname prog=c:\dos\plus\kbext
if "%ced%" == "Y" c:\386max\386load size=9892 envname prog=c:\ut\ced -
b500,200,300,128,128,128 -fc:\ut\ced.cfg
goto cont
:qemm
if "%noega%" == "Y" c:\dv\qemm\loadhi c:\dv\qemm\noega
set noega= {don't need this anymore}
c:\dv\qemm\loadhi c:\dos\plus\kbext
if "%ced%" == "Y" c:\dv\qemm\loadhi c:\ut\ced -b500,200,300,128,128,128 -fc:\ut\ced.cfg
goto cont
:cont
if "%WIN%" == "Y" cd c:\win
if "%WIN%" == "Y" win
if "%DV%" == "Y" cd c:\dv
if "%DV%" == "Y" dv
:plain_dos
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2005-12-28 10:59 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
7 楼』:
关于DOS= 命令的控制
由于DOS会对DOS= 命令进行预扫描,只有最后一次出现的HIGH/LOW或UMB/NOUMB都会被执行--而不管前面
有过多少DOS=以及它们在哪儿出现过。BOOT.SYS也是如此。最好在环境变量中记录DOS=的状态。
1. 请在BOOT.END行之后设置
DOS=HIGH,NOUMB
2. 请在需要UMB的配置中写入
DOS=UMB
DEVICE=BOOT.SET UMB=Y {可选}
3. 请在需要LOW的配置中写入
DOS=LOW
DEVICE=BOOT.SET LOW=Y {可选}
BOOT.SYS菜单之外的扩展
BOOT.EDIT
=========
启动中实现现场编辑(仅=号之后,且行长不能增加)的方法(在BOOT.SYS和BOOT.END行之间插入):
DEVICE=BOOT.EDIT
{加入任何CONFIG.SYS命令}
按<Enter>接受变动,按<Esc>放弃。如果需要显示自己的信息解释EDIT用法,用BOOT.EDIT行实现,例如:
DEVICE=BOOT.EDIT You may experiment with different
DEVICE=BOOT.EDIT BUFFERS=n values (<Esc> = ignore):
BUFFERS=020
BOOT.OPTION FREE
================
只要出现
DEVICE=BOOT.OPTION FREE
BOOT.SYS将不驻留内存,也因此不能向BOOT.COM及AUTOEXEC.BAT传递信息,因为BOOT.SYS占用不到200字节,通
常不值得用此选项--除非你想试验TSR或“纯”DOS。
BOOT.OPTION BOOTASSIST
======================
由于某些软件可能对Alt-Ctrl-Del进行重新定义,按下后会死机。BOOTASSIST可以帮你一把。在
CONFIG.SYS中写入DEVICE=BOOT.OPTION BOOTASSIST,再在AUTOEXEC.BAT或命令行上打入BOOT BOOTASSIST WARM
热启或BOOT BOOTASSIST COLD冷启或BOOT BOOTASSIST INHIBIT禁止用Alt-Ctrl-Del重启。
BOOTASSIST使用了新INT 9程序,如果有程序要挂接INT 9,请用BOOT BOOTASSIST OFF关闭BOOTASSIST。如
果BOOTASSIST不正常,去掉。
BOOT.OPTION EXTMON (笔记本电脑)
==================
如果你在笔记本电脑上使用BOOT.SYS,而且有外接监视器,你可以通过EXTMON接到外接监视器上。但要因
机而异,非US键盘要先KEYBxx再BOOTASSIST;与SideKick不兼容。
DEVICE=BOOT.OPTION EXTMON <类型>
生产商 <类型> 机型
Compaq COMPAQ 所有Compaq移动电脑
所有 COLOR 标准彩色屏 (模式 3)
所有 MONO 标准单色屏 (模式 7)
如果机器不连到外接监视器,试试下面的方法:
DEVICE=c:\bin\BOOT.SYS
DEVICE=BOOT.A {可选}
DEVICE=TOP ...
DEVICE=BOOT.0
DEVICE=BOOT.OPTION EXTMON <类型> {<类型>同前}
DEVICE=BOOT.1 ...
...
DEVICE=BOOT.END
如果机器不能识别外接监视器类型,试试:
DEVICE=c:\bin\BOOT.SYS
DEVICE=BOOT.A /D1 /T10
DEVICE=TOP Which monitor do you want to use?
DEVICE=BOOT.1 Internal
DEVICE=BOOT.2 External
DEVICE=BOOT.OPTION EXTMON <type> {<类型>同前}
DEVICE=BOOT.B
DEVICE=TOP ... {原菜单}
DEVICE=BOOT.1 ...
...
DEVICE=BOOT.END
强烈建议用启动软盘尝试确定机器类型后再在硬盘上实施!
BOOT.OPTION COLOR
=================
如果你喜欢屏幕有色彩,像BOOT.SYS命令行上的 /C 开关,你可以用:
DEVICE=BOOT.OPTION COLOR X1F {蓝底亮白字}
BOOT.COM命令行参数
BOOT <参数>
SET
拷贝BOOT.SYS在CONFIG.SYS中定义的变量到DOS环境。
CLEAR
清除BOOT.SYS变量,并释放空间。
无参数
BOOT.COM将显示(用户选中的菜单项)如下例:
The user selected the following menu choices:
A1
B3
B3A1
菜单A的第1选项、菜单B的第3选项及其子菜单A的第1选项。如果只有一个菜单,BOOT.COM还会设置
ERRORLEVEL值。
WARM
热启(如Alt-Ctrl-Del).
COLD
冷启(如按电源开关).
WARM和COLD还接受可选开关( /O )以兼容老BIOS版本.
BOOTASSIST <p>
同BOOT.SYS的BOOTASSIST.
VERSION
显示注册或测试版本以及注册方法.
<菜单辨别符> {仅用于向下的兼容考虑} {参见BOOT.SYS的/P开关}
如上例中,BOOT b 显示 3并设为ERRORLEVEL为3,BOOT b3a 将显示并返回 1。注意测试要自上而下,先由
b而知3,才有可能知道有b3a的测试。
如果BOOT.SYS未安装或驻留,BOOT.COM显示出错信息并返回ERRORLEVEL为0.
HELP
帮助信息
调试的好帮手PAUSE.SYS
PAUSE.SYS就像批处理文件中的PAUSE命令:
DEVICE=c:\bin\PAUSE.SYS any text you like
默认显示小写,指定一个大写字母用( ^ ),显示^用^^。
PAUSE.SYS开关(不再暂停):
DEVICE=c:\bin\PAUSE.SYS /C {清屏}
DEVICE=c:\bin\PAUSE.SYS /P {打印屏幕}
DEVICE=c:\bin\PAUSE.SYS /O any text {=批处理中的ECHO}
DEVICE=c:\bin\PAUSE.SYS /Exxx {ANSI.SYS的ESC序列}
*************************************************************
因为帖子太长看得人烦,所以分贴。就是下载麻烦点。但内容直观,便于讨论。
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2005-12-28 11:01 |
|
|
coolboy163
初级用户
积分 176
发帖 74
注册 2005-11-7
状态 离线
|
『第
8 楼』:
看了1个小时,终于看完了~~~
感叹啊~~
软件是小巧的,功能是强大,用起来作用是明显的,本是是强人的!
先 收藏,有空试下
|
|
2005-12-30 10:55 |
|
|
baoxin1968
初级用户
积分 173
发帖 26
注册 2004-9-9
状态 离线
|
『第
9 楼』:
感谢本是大师:
软件我已经下载了,要好好研究一段时间啦!谢谢啦!!!
|
|
2005-12-30 21:48 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
10 楼』:
Re All:
做出来把你们的启动文件(CONFIG.SYS,AUTOEXEC.BAT)贴出来,大家共同进步!
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2006-1-1 14:21 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
11 楼』:
Re 本是:
上传一个根据 Wengier 超级启动盘中的 config.sys / auotexec.bat 改编过来的菜单文件。因为只做了简单的修改,所以不上传修改后的镜像了。测试的朋友,可以将这些文件加入到原盘(或其镜像)的根目录即可,因为 Wengier 原盘已基本没有剩余空间,所以要想加入这些文件,必须删除一些暂时不用的文件,比如 qv1.exe/spfdisk.exe/unarj.exe 等,以保证64K以上的剩余空间。
毕竟是初学 Boot.sys ,许多高级功能在这里都没有用上,还有许多功能不知道是否具备,比如 菜单的 include ,菜单是否可以复选,菜单界面底部是否可以输出非 TOP 的文字等等。还请各位方家指正!
[ Last edited by willsort on 2006-1-2 at 13:27 ]
附件
1: Config_CN.rar (2006-1-2 13:20, 29.69 K, 下载附件所需积分 1 点
,下载次数: 89)
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-1-2 13:16 |
|
|
本是
银牌会员
积分 2201
发帖 789
注册 2005-1-27
状态 离线
|
『第
12 楼』:
Re willsort:
反应够快,与大家共享的精神可嘉!一个小小的建议,boot.sys和boot.com可以用UPX压缩一下,体积要小得多,应该可以使用,我在虚拟机中是可以的。不过我现在精力还是集中精力在VTMagic系列上。另贴再谈。
|
my major is english----my love is dos----my teacher is the buddha----my friends--how about U |
|
2006-1-2 14:06 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
13 楼』:
Re All:
为了让 本是 兄更加专注于 VTMagic 的开发,下面的问题请 本是 兄以外的朋友多参与讨论。
首先,很遗憾的是, boot.sys 也是一个 shareware ,也会出现未注册的信息提示,尚且不知道是否有功能闲置。
其次,我试图使用嵌套菜单完成菜单的 include 功能,可是总是出现 缺少device=boot.1 或 device=top 的提示。新的 config.sys 如下,请大家参与讨论一下。
最后,boot.sys 是可以压缩,boot.com是可以用 set 来代替的。
DEVICE=CONFIG.EXE
DEVICE=BOOT.SYS /CX1f /L10 /D1 /T5 /U^
DEVICE=TOP 中国^D^O^S联盟 ^Wengier 制作 版权保留 2002-2004
DEVICE=TOP
DEVICE=TOP
DEVICE=TOP 请选择启动配置:
DEVICE=BOOT.A 标准配置启动
DEVICE=TOP 请选择启动模式
DEVICE=BOOT.0
SET CONFIG=NORMAL
DEVICE=HIMEM.SYS
DEVICE=BOOT.1 保护模式 [^E^M^M386 ^N^O^E^M^S]
DEVICE=EMM386.EXE NOEMS
DEVICE=BOOT.2 实模式 [^U^M^B^P^C^I]
DEVICE=UMBPCI.SYS
DEVICE=LOWDMA.SYS
DEVICE=BOOT.0
DEVICEHIGH=UDMA.SYS
DEVICEHIGH=VIDE-CDD.SYS /D:IDE-CD
DEVICE=BOOT.B 增强配置启动 [支持 ^N^T^F^S, ^S^C^S^I/^U^S^B 设备]
DEVICE=TOP 请选择启动模式:
DEVICE=BOOT.0
SET CONFIG=EXTEND
DEVICE=HIMEM.SYS
DEVICE=BOOT.1 保护模式 [^E^M^M386 ^N^O^E^M^S]
DEVICE=DUSE.EXE INT EMU CDW=3 DDW=3 XFER=32 DRIVES=2 CDD=USB-CD
DEVICE=EMM386.EXE NOEMS
DEVICEHIGH=UDMA.SYS
DEVICEHIGH=VIDE-CDD.SYS /D:IDE-CD
DEVICE=BOOT.2 实模式 [^U^M^B^P^C^I]
DEVICE=UMBPCI.SYS
DEVICE=LOWDMA.SYS
DEVICEHIGH=UDMA.SYS
DEVICEHIGH=VIDE-CDD.SYS /D:IDE-CD
DEVICE=DUSE.EXE INT EMU CDW=3 DDW=3 XFER=32 DRIVES=2 CDD=USB-CD
DEVICE=BOOT.0
DEVICE=USBASPI.SYS /R /V /NORST
DEVICE=ASPIOHCI.SYS /INT /ALL
DEVICE=ASPIUHCI.SYS /INT /ALL
DEVICEHIGH=DI1000DD.SYS
DEVICEHIGH=USBCD.SYS /D:USB-CD
DEVICE=BOOT.C 基本配置启动
SET CONFIG=BASIC
DEVICE=HIMEM.SYS
REM DEVICE=EMM386.EXE NOEMS
DEVICEHIGH=VIDE-CDD.SYS /D:IDE-CD
DEVICE=BOOT.D 测试配置启动
DEVICE=TOP 请选择启动配置:
DEVICE=BOOT.0
SET CONFIG=TEST
DEVICE=BOOT.1 无配置启动
DEVICE=BOOT.2 配置 ^H^I^M^E^M 启动
DEVICE=HIMEM.SYS /TESTMEM:OFF
DEVICE=BOOT.3 配置 ^H^I^M^E^M, ^E^M^M386 ^N^O^E^M^S 启动
DEVICE=HIMEM.SYS /TESTMEM:OFF
DEVICE=EMM386.EXE NOEMS I=B000-B7FF
DEVICE=BOOT.4 配置 ^H^I^M^E^M, ^E^M^M386 ^R^A^M 启动
DEVICE=HIMEM.SYS /TESTMEM:OFF
DEVICE=EMM386.EXE RAM
DEVICE=BOOT.E 仅显示帮助文档(中文)
SET CONFIG=HELP
DEVICE=ECHO.SYS 请稍等...
DEVICE=HIMEM.SYS
DEVICE=BOOT.F 关闭或重启计算机
SET CONFIG=QUIT
DEVICE=ECHO.SYS 请稍等...
DEVICE=BOOT.Z
DEVICE=BOOT.END
SHELL=COMMAND.COM /P /E:1024
DOS=HIGH,UMB,AUTO
NUMLOCK=OFF
FCBSHIGH=4,0
FILESHIGH=30
BUFFERSHIGH=20,0
LASTDRIVEHIGH=32
STACKSHIGH=9,256
COMMENT Made by Wengier. China DOS Union.
COMMENT All rights reserved. 2002-2004.
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-1-2 21:59 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
14 楼』:
Re All:
再次推敲了一遍 Boot.doc 的原文,总算明白 Boot.sys 的多级菜单语法了。现在略做总结归纳:
1、每级菜单均由字母菜单(boot.a...z) 和数字菜单(boot.1...9) 组成;
2、字母菜单只能顺序执行,数字菜单只能选择执行;
3、字母菜单作为数字菜单的框架或者容器不可或缺;
4、每级菜单的字母菜单均以 device=boot.z 作为结束标记,最外层可以省略;
5、每级菜单的数字菜单均以下一字母菜单或 boot.z 作为结束标记;
5、实现复选菜单可以按顺序罗列多个内含数字菜单的字母菜单;
6、加载公共驱动可以用 boot.0 菜单,将它插入到 boot.1...9 菜单之间或前后;
另外,上传我的多级菜单的实现,因为也对 auotexec.bat 作了大幅的调整,因此可能会出现某些问题,请大家谨慎测试。调整后,boot.com 被省略,boot.exe 被压缩,空间需求减少一半,只需要32K了。
[ Last edited by willsort on 2006-1-3 at 17:37 ]
附件
1: BootMenu_CN_V2.rar (2006-1-3 17:35, 18.6 K, 下载附件所需积分 1 点
,下载次数: 68)
附件
2: BootMenu_CN_V2.gif (2006-1-3 17:37, 15.61 K, 下载附件所需积分 1 点
,下载次数: 33)
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-1-3 17:35 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
15 楼』:
Re All:
再次更新了一个版本,近似完成了复选菜单功能,在“备选配置启动”中可以先后选择内存模式和设备支持了,同时完成了缺省的“标准配置启动”菜单,不再有任何选择和确认,还有一些其他较小的细节变化。如果还有下一个版本,会考虑加入“自定义配置启动”以手动加载菜单中没有的驱动程序或调用其他config命令。
再次声明,本版本未经严格测试,请做好备份并谨慎测试。
[ Last edited by willsort on 2006-1-3 at 22:41 ]
附件
1: BootMenu_CN_V3.rar (2006-1-3 22:38, 18.43 K, 下载附件所需积分 1 点
,下载次数: 82)
附件
2: BootMenu_CN_V3.gif (2006-1-3 22:38, 6.59 K, 下载附件所需积分 1 点
,下载次数: 33)
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-1-3 22:38 |
|
|