![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-15 12:48 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » [讨论]MSDOS7.10启动过程中各因素的相互影响 |
| 可打印版本 6,057 / 20 |
| 第1楼 hetao | 发表于 2005-09-22 00:23 |
| 初级用户 发帖 64 积分 175 | |
|
[讨论]MSDOS7.10启动过程中各因素的相互影响 我的autoexec.bat开机为什么不自动运行,是在dos下的。我是用我是用copy 的方法装的dos。请问师傅为什么啊?
—————————————— willsort 版务记录 —————————————— 修改原标题:(讨论)MDOS7.10启动过程中各因素的相互影响 —————————————— willsort 版务记录 —————————————— [ Last edited by willsort on 2006-1-7 at 19:14 ] |
|
| 第2楼 hetao | 发表于 2005-09-22 00:26 |
| 初级用户 发帖 64 积分 175 | |
|
xp 中的autoecec.bat和config.sys是什么样的?在什么位置?怎么自动加载啊?
|
|
| 第3楼 willsort | 发表于 2005-09-22 12:22 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re hetao:
JonePeng 已提到,在 WinNT/2k/XP/03 这一系列操作系统中,已不再使用系统盘根目录下的 config.sys 和 autoexec.bat 。其 %SystemRoot%\system32 下的 config.nt 和 autoexec.nt,仅用于NT的命令行环境 command.com (不包括cmd)的默认启动配置,而且这种设置是可以修改的。 至于你的环境为何无法加载 autoexec.bat ,那取决于是否在启动时能正确引导至DOS系统,以及 autoexec.bat 是否位于 DOS 系统盘的根目录上。此二条件缺一不可。 ---------- Edited by willsort ---------- 红色字体所示内容,经验证乃错误言论,敬请注意! ---------- Edited by willsort ---------- [ Last edited by willsort on 2005-9-25 at 10:24 ] |
|
| 第4楼 hetao | 发表于 2005-09-23 01:02 |
| 初级用户 发帖 64 积分 175 | |
|
谢谢版主的指教,我copy了一个msdos.sys到c:盘根目录,autoexec.bat可以自动运行了,但版主能不能讲讲这两个文件间的关系。我发现乱修改msdos.sys也会使autoexec.bat不运行,但为什么能启动dos啊(只是不执行autoexec.bat)。
今外你说的 config.nt 和 autoexec.nt是不是启动NT的命令行环境才运行啊,能开机运行吗? |
|
| 第5楼 willsort | 发表于 2005-09-23 18:43 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re hetao:
在单系统平台下, msdos.sys 应该不会影响 config.sys 和 autoexec.bat 的识别,我尝试在 MSDOS 7.10 单系统中移除 msdos.sys 文件,二文件仍然正常执行。如果你的多系统环境,比如 msdos7.10(或win98) 与 msdos 6.22 的双系统,则 msdos.sys 中的 bootgui,bootmulti 等项目会影响 config.sys 和 autoexec.bat 的识别和运行。但是,你至今尚未说明你的系统概况,尤其是通过什么方式加入 DOS 启动的。 至于 config.nt 和 autoexec.nt 是否能够开机运行,那取决于 NT 下的 command 是否可以开机运行,目前为止,我未收到相关方面的消息。至于 XP 启动菜单中的命令行方式,那是启动了 cmd ,而非 command 。而设定登录脚本是否可以实现,囿于经验浅薄不得而知。 |
|
| 第6楼 hetao | 发表于 2005-09-24 23:30 |
| 初级用户 发帖 64 积分 175 | |
|
很不好意思 willsort,我的系统概况一直写的不太清楚,给你添了不少麻烦,下面我说
明我的系统概况: c:盘装的是windows2000pro d:盘装的是windows xp pro e:盘是影视,动画文件 f:盘是备份。一个1.44M软驱,一个光驱。 这是现在的情况,以前重装过几次系统,c:盘曾装过windows 98后来又换成了windows 2000就是现在的情况。在c:盘有bootsect.dos文件,autoexec.bat和config.sys为空文 件。我把下载的dos7.1正常安装到了windows 2000下的virtual pc虚拟机中,又从虚拟 机中把io.sys,command.com复制到真实机的c:盘中,把其它一些工具复制到真实机的 c:\dos文件夹中,配置好config.sys和autoexec.bat两个文件没配置msdos.sys文件,在 boot.ini中添加了dos 的启动项。启动电脑后,能进入到dos,也能加载config.sys中的 配置,就是不自动执行autoexec.bat文件,还得手动执行。从虚拟机中把msdos.sys件复 制到真实机的以c:盘中,重启后能自动执行autoexec.bat文件。我试图删除msdos.sys中 的某些项目,看能否自动执行autoexec.bat文件以找出影响autoexec.bat执行的项,但 我不太清楚msdos.sys各项的作用,里面的配置项又太多试了两三次就作罢了,所以就到 这里向师傅求救了。 我在书上看到通过设置windows2000/xp注册表项 ([hkey_current_user\software\microsoft\windowsnt\currentversion\winlogon] parseautoexec的dword值为1时启动执行autoexec.bat,为0不执行)能决定开机是否执 行autoexec.bat文件是怎么回事啊? |
|
| 第7楼 bush | 发表于 2005-09-25 00:39 |
| 银牌会员 发帖 730 积分 2,165 | |
|
msdos.sys部分选项: [Options]
AutoScan=1/0 BootDelay=2/? BootGUI=1/0 BootKeys=1/0 BootMenu=0/1 BootMenuDefault=1/2/3/4/5/6/7 BootMulti=0/1 BootWarn=1/0 BootWin=1/0 DblSpace=0/1 DoubleBuffer=0/1 DrvSpace=0/1 Load Top=1/0 Logo=1/0 WinVer=4.10.1998 AutoScan:非正常关机后下次启动是否运行 ScanDisk。 BootDelay:开机时热键按下前的等待时间(单位:秒) BootGUI:启动时是否进入 Windows 的 GUI 界面(否则为DOS界面)。 BootKeys:启动时热键是否有效。 BootMenu:启动时是否显示启动菜单(否则要按下热键才显示)。 BootMenuDefault:显示启动菜单时的默认项(即光标所在项)。 BootMulti:是否允许启动 DOS 6.xx(前提是启动盘中有旧版 DOS 启动文件,且此盘必须为 FAT16)。 BootWarn:在启动过程中失败后,下次启动是否提示进入安全模式(这最烦,关掉好!)。 BootWin:启动时是否自动装入旧版 DOS。 DblSpace:启动时是否装入 DBLSPACE.BIN。 DoubleBuffer:是否启动双缓冲区支持。 DrvSpace:启动时是否装入 DRVSPACE.BIN。 Load Top:启动时是否将系统核心的一部分装入高端内存。 Logo:启动时是否显示“蓝天白云”。 这个是从95的MSDOS.SYS上来的,至于NT下是否有用不知道~ |
|
| 第8楼 willsort | 发表于 2005-09-25 10:51 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re hetao:
关于 “ParseAutoexec” ,经你的提醒,我找到了这个网页链接 http://www.winguides.com/registry/display.php/162 , 其中提到按以下要求设置注册表,可以决定 XP 启动时是否分析系统盘根目录下的 autoexec.bat 中的环境变量设置语句(默认设置为分析),至于其它的语句则始终不予分析。 所以,我在5楼提到的相关观点是错误的,在此多谢你的提示!
对于如何在 XP 启动时自动调用 autoexec.bat 。经查, XP 的登录脚本必须使用相对路径(相对于用户配置路径),所以此方案暂不可行;其它的可行性方案,可以考虑将 autoexec.bat 置入开始菜单的 "启动" 菜单中,或者置入注册表中的 子键下。 最后,对于你的 msdos.sys 影响 autoexec.bat 的问题,因为我无法复现问题,所以无法做深入分析,在此只能略做一些提示。 在 msdos 系统中, config.sys 是由 io.sys 读取并根据它配置系统环境的,而 autoexec.bat 是由 command.com 读取并解释执行的;而在 dos 的启动过程中,系统引导区会将进程控制权先转交给 io.sys ,再由 io.sys 根据 config.sys 的配置调入命令解释器(外壳),而默认的命令解释器就是 command.com,它相当于windows的explorer。 从你的情况看,问题应该出在 command.com 进程中,而 msdos.sys 对它所能施加的影响我尚不是很清楚。可以上传你的 msdos.sys / config.sys / autoexec.bat 让大家一同分析一下。 [ Last edited by willsort on 2005-9-25 at 10:56 ] |
|
| 第9楼 hetao | 发表于 2005-09-25 17:16 |
| 初级用户 发帖 64 积分 175 | |
|
以下是这三个文件的内容具体内容 config.sys:
devicehigh=c:\dos71\himem.sys devicehigh=c:\dos71\umbpci.sys shell=c:\command.com dos=high,umb,auto set path=c:\dos71;..;. installhigh=c:\dos71\smartdrv.exe installhigh=c:\dos71\doskey.com rem installhigh=c:\dos71\doslfn.com msdos.sys: \;MS-DOS 7.10 System Configuration File ;(C)Copyright Microsoft Corp 1981-1999 ;===================================== [Options] AutoScan=0 BootDelay=0 BootGUI=0 BootMenu=0 BootMulti=0 BootSafe=0 BootWarn=0 DisableLog=0 DoubleBuffer=0 Logo=0 SystemReg=0 ; ;For compatibility with Windows 9x GUI only: WinVer=4.10. [Paths] windir=C:\ winbootdir=. HostWinBootDrv=C ; ;===================================== ;MS-DOS 7.10 System Configuration File ;(C)Copyright Microsoft Corp 1981-1999 ;===================================== ; autoexec.bat: lh c:\ccdos\ccdos 以上是三个文件的具体内容:如果移除msdos.sys电脑启动就不自动执行autoexec.bat(具它正常),如果有msdos.sys没任何问题.我试着修改msdos.sys发现不能自动执行autoexec.bat,就是msdos.sys 要为特定内容才行. 另外我加载ntfsdos的时候提示没有DPMI(dos protect mode interface)dos保护模式接口.请问师傅怎么才能使有DPMI功能. |
|
| 第10楼 willsort | 发表于 2005-09-26 22:39 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re hetao:
十分抱歉!因为拷贝你所提供的文件时,使我突然对文件的防覆盖复制产生了兴趣,花了一天的时间去完成了一个批处理,不久前刚刚有所进展。使用了我所编写的程序,将你提供的文件拷入了我的测试环境中。 经实际测试,证实是 BootGUI 设置项决定了 autotexec.bat 是否被解释执行。当其设置为1或不设置时, autoexec.bat 将被忽略。 分析其中的原因,应该是 BootGUI 决定了 io.sys 所加载的外壳:当其值为0时,command.com 被作为外壳,引导进入DOS环境,其中包括我在10楼所提到的读取解释 autoexec.bat 这个过程;而当其值为1时,win.com被作为外壳,但是因为dos单系统环境或者无Win9x的多系统环境都无法在windows目录下找到win.com,所以引导将会中止,而autoexec.bat也没有了执行的机会。 |
|
| 第11楼 hetao | 发表于 2005-09-28 00:04 |
| 初级用户 发帖 64 积分 175 | |
|
没关系!
我也测试过了,msdos.sys中有两个选项会影响autoexec.bat的正常执行: 一个是你说的[option]中的bootgui= 另一个是[paths]中的windir= 缺少一个autoexec.bat就不会正常执行,只要有这两个选项就没什么问题。 如果没有“bootgui=0“项,会有出错提示并且不执行autoexec.bat。而缺少“windir=”项没有任何提示且不执行autoexec.bat,这一项只有在启动win9x时才有意义如果只启动dos的话“windir=”后的路径可以任意填,但如果不填autoexec.bat就不会执行。但是不知道为什么会这样?不知道师傅是怎样看的? 另外我加载ntfsdos的时候提示没有DPMI(dos protect mode interface)dos保护模式接口.请问师傅怎么才能使有DPMI功能. |
|
| 第12楼 willsort | 发表于 2005-09-28 18:45 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re hetao:
根据你的测试,我再次做了更深入的探索,发现这个问题的要素点很多,主要如下。 1、config.sys 中是否设置了 shell=c:\command.com ; 2、msdos.sys 中是否有 windir=C:\ ; 3、msdos.sys 中是否有 BootGUI=0 ; 4、autoexec.bat 中是否设置了 path c:\windows 或者 set path=c:\windows;c:\dos71 等类似的设置 win.com 搜索路径的语句; 它们对启动过程的具体影响,我尚在研究。目前来看,就你现在的启动环境而言,如果没有msdos.sys,可以在启动后输入exit,退出shell一句所创建的新外壳,便执行autoexec.bat了;或者也可删除这句 shell ,启动时便将直接执行autoexec.bat。 至于 DPMI 支持,只要加载 Wengier 的 超级通用 MSDOS7.10 启动盘中的 cwsdpmi.exe 就可以了。这个启动盘多处站点都有下载的。即使没有,cwsdpmi作为很常见的内存扩展工具,应该很好下载的。如果实在找不到,我可以上传提供。 [ Last edited by willsort on 2005-9-28 at 20:33 ] |
|
| 第13楼 willsort | 发表于 2005-10-01 19:09 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re All:
现公布我的初步测试结果。 ———————————————————————————————————————— 项目:MSDOS.SYS中BootGUI和windir=C:\对启动过程的影响。 环境:MSDOS7.10,C:\Windows下安装Win3.2 设置:config.sys 中含有 shell=c:\command.com 一句, autoexec.bat 中含有 set path=%path%;c:\windows 一句 其它同参考 9 楼的配置文件 设定: B0 BootGUI=0 B1 BootGUI=1或;BootGUI=0 WC windir=C:\ WD ;windri=C:\ DA 忽略执行(Disable Autoexec.bat) PA 解释执行(Parse Autoexec.bat) CW 提示未找到Win.com (Cann't find win.com) NE Exit无法退出外壳command.com EC Exit退出提示未找到command.com SW 启动Windows3.2(Win.com) 结果: 1) B0+WC:PA,EC,PA,SW 2) B0+WD:DA,EC,PA 3) B1+WC:DA,CW,NE 4) B1+WD:DA,EC,PA 讨论: 从2/4对比一致结果来看,BootGUI并未起到决定性作用,它只会告知IO.SYS在启动结束后,启动Win.com,而这个启动过程是可以被终止的(3/4); 而从1/2,3/4对比结果,可以看出windir的设置与否至关重要,它除了影响环境变量winbootdir/temp/tmp(实测中并未设置windir变量)外,它会对autoexec.bat和win.com的路径配置也会产生影响,而对win.com的影响可能是间接的,因为win.com的路径设置在autoexec.bat中。 比较奇怪的地方有: 1)中未启用BootGUI,却最终启动了Win.com; 3)中刚启动到新外壳便开始搜索win.com(其时autoexec.bat尚未被执行) 4)中解释了Autoexec,却无法启动win.com; ———————————————————————————————————————— 另外,我监测到了另外一个交叉影响:当config.sys中存在menudefault项时,msdos.sys即使设置logo=1,仍无法显示启动LOGO。而这个启动LOGO还受其它因素影响,尚未确定,可能与启动时间有关。 |
|
| 第14楼 darkradx | 发表于 2005-12-29 16:30 |
| 高级用户 发帖 420 积分 972 | |
|
依稀記得有了Windir就會:
自動加載IFSHLP.SYS 一些Bootxxx會轉義 功能鍵也會轉義 我覺得太麻煩沒有深究 |
|
| 第15楼 darkradx | 发表于 2005-12-29 16:31 |
| 高级用户 发帖 420 积分 972 | |
|
而且最好用win9x試驗
|
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |