无忧启动论坛

标题: 奇怪:DOS下明明有程序但运行时却出现bad command or filename是怎么回事? [打印本页]

作者: wxc521    时间: 2009-12-15 23:37
标题: 奇怪:DOS下明明有程序但运行时却出现bad command or filename是怎么回事?
希望得到各位DOS高手的指点:
我的Kingston 1G的U盘,MBR为USB-HDD+,PBR为MS-DOS,根目录下有一些常用的DOS软件和各种PE需要的文件,我的CONFIG.SYS文件内容如下:
[menu]
menuitem=A, [ MS-DOS 7.1    ]             PURE MS-DOS
menuitem=B, [ MY DOS BOX  ]             DOS TOOLBOX
menuitem=C, [ Grub 4 DOS    ]             PE2.0 / 3.0 SYSTEM REPAIR
menudefault=A,10
menucolor=2,0

[A]
DEVICE=HIMEM.SYS /TESTMEM:OFF
[B]
DEVICE=HIMEM.SYS /TESTMEM:OFF
[C]
DEVICEHIGH=grub.exe

我的AUTOEXEC.BAT文件内容如下:
@echo off
path C:\dos;%PATH%
goto %config%
:A
echo Welcome to MS-DOS 7.1...
goto end
:B
MSCDEX /D:MSCD001 /V
smartdrv
cls
TWAY
py
wbx
MENU.BAT
:C
echo grub is booting >>>
:end

情况是这样子的,我选择CONFIG.SYS中的第一项进入DOS,然后再输入命令 GRUB 就出现 bad command or filename 的提示,可这个目录下明明是有文件的,而且好像各种EXE和BAT文件都不行。其实前几天还是可以的,后来我嫌根目录下文件太多了,所以想分个类别方便管理,于是建了一个文件夹DOS,把一些小工具放在它里面,后来就出现这个问题。而另一只台电U盘上用上述两个文件就能成功启动,各种命令均可运行,选第一项进入DOS后,输入GRUB即可启动到GRUB界面,更神奇的是用GRUB的QUIT命令还能返回到之前的纯DOS状态,然后还可以加载SMARTDRV.EXE,天汇中文系统,和输入法。。

这我就不是明白了,为什么同样的配置运行效果怎么不一样呢?HIMEM。SYS也都是在根目录下的,也不应该是U盘硬件本身的差异,因为之前都是可以的。不知道到底是移动了哪些文件才导致这个原因的,希望各位有经验的朋友指点一二。。。


[ 本帖最后由 wxc521 于 2009-12-15 23:55 编辑 ]
作者: fujianabc    时间: 2009-12-16 22:22
最主要是你用了u盘启动,而主板又很烂,不能访问到u盘上的某些扇区
作者: wxc521    时间: 2009-12-16 22:38
标题: 回复 #2 fujianabc 的帖子
fujianabc , 你可真厉害,就凭这个就能判断出我的主板了?六月份新出的华硕主板很烂吗??用另外一个U盘启动的时候,它就不烂了吗??
作者: lb30103    时间: 2009-12-16 23:36
建议用ghost把两u盘对gho一下,看会一样不.
作者: wxc521    时间: 2009-12-16 23:44
标题: 回复 #4 lb30103 的帖子
这个主意不错,明天我测试一下看看。
作者: kf_tiangang    时间: 2009-12-17 11:05
command.com感染病毒也可以出现这个问题。
作者: fujianabc    时间: 2009-12-17 16:27
原帖由 wxc521 于 2009-12-16 22:38 发表
fujianabc , 你可真厉害,就凭这个就能判断出我的主板了?六月份新出的华硕主板很烂吗??用另外一个U盘启动的时候,它就不烂了吗??

只要你两个u盘能在windows下都能正常访问,就说明u盘不烂。

照wuwuzz的说法,u盘启动有问题,主要是主板bios,其次是u盘主控,再次是u盘逻辑格式
作者: jspeng    时间: 2009-12-17 18:57
你把AUTOEXEC.BAT开头部分改成如下试试:
@echo off
path C:\dos;A:\;A:\Dos;C:\
作者: wxc521    时间: 2009-12-17 21:15
原帖由 lb30103 于 2009-12-16 23:36 发表
建议用ghost把两u盘对gho一下,看会一样不.


非常感谢你的建议,今天下午用GHOST把两个硬盘对拷了一下,现在可以用了。
先进DOS,可以运行各种DOS下的软件,而且随时可以进入Grub,还能返回到DOS,跟以前一样了。

谢谢大家的帮助!
作者: wxc521    时间: 2009-12-17 21:17
原帖由 jspeng 于 2009-12-17 18:57 发表
你把AUTOEXEC.BAT开头部分改成如下试试:
@echo off
path C:\dos;A:\;A:\Dos;C:\


路径没有错的,就是在根目录下,而且用Dir命令还可以看到Grub.exe,但是运行就出现那个提示。
跟我另一个U盘对拷之后就好了。
作者: fujianabc    时间: 2009-12-17 22:54
可以80%的确定,你的问题是由于bios不能正常访问u盘全部扇区所造成的。

你另一个u盘之所以正常,是因为grub.exe在u盘可访问的扇区处,你对拷之后,grub.exe移到了可访问扇区,所以正常了
作者: netwinxp    时间: 2009-12-19 08:59
U盘启动目前仍然存在非常多的问题——
1、USB总线芯片与U盘主控芯片不兼容,结果是完全无法启动。
2、目前的U盘主控芯片大多数不支持LBA(尽管BIOS返回支持),当制作启动的时候所识别的CHS与启动时所识别的CHS不一致,有两种情况:
1)制作启动的机子和启动的机子不一样,而两台机子对U盘的CHS识别不一样。
2)同台机子wiindows识别的CHS与BIOS识别的CHS不一致(这种情况较为少见))
当S一样,而CH不一样时,会出现U盘部分空间不能访问。当S不一样的时候,除了0磁道的前面几个扇区之外都不能访问,就目前来看CH不一样而S一样(目前通常是63)的情况最为普遍。
***第二大点只有当U盘支持LBA的时候(>8G的U盘应该支持)才能彻底解决,支持LBA的,只要CHS算出来的LBA地址一样,就会指向同一个物理位置的扇区***
3、U盘启动后的盘符可能是A、C、D,这个也是件麻烦事。

另外,部分DOS7.1也有问题(IO.SYS被改小的那个),无法在8G之后的空间启动。

BTW:386时代,当硬盘类型设置不正确的时候也会启动不了,和这个的原理是一样的。后来硬盘越来越大,大多支持LBA(>8.4G的IDE硬盘肯定支持LBA,很多小于8.4G的硬盘也提供LBA支持),这个问题也就随之消失。

[ 本帖最后由 netwinxp 于 2009-12-19 09:28 编辑 ]
作者: fightx    时间: 2009-12-22 07:51
原来如此,学习了,谢谢先!




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3