中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS汉化世界 & 中文系统 (中文化室) » 功能远强于BOOTCON.SYS加CONFIG.CTL的启动控制工具[本是编译]
« [1] [2] [3] »
作者:
标题: 功能远强于BOOTCON.SYS加CONFIG.CTL的启动控制工具[本是编译] 上一主题 | 下一主题
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
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: