DOS使用中的常见问题解答(FAQ)
许多网友在留言本、论坛或邮件中寻问了大量的关于DOS使用的各类问题,现在我将它们的一部分整理了一下,编成FAQ专栏,欢迎大家阅读。内容正在不断增加中。
注:大家可以阅读“DOS使用”等栏目中的内容以取得更多的知识。
常见问题解答(FAQ):
问:为什么要使用DOS?
答:DOS是个强大实用的操作系统,且有着大量的能完成各种功能的应用程序。DOS使用起来十分快捷和高效,还能做到很多其它操作系统做不到或做不好的事,并能使用户掌握其它操作系统(如Windows等)的一般用户未掌握的各种基础知识,以更加灵活的使用电脑和处理各种操作等,因此它有着众多的使用者和爱好者。DOS时代可分为两个阶段,即旧的DOS时代和新的DOS时代,其中前者的主要特点是“纯真”,后者的主要特点是“自由开放”。大家知道“开放源代码”运动吧!随着它的流行,自由开放成了软件发展的新趋势,而不是在封闭的系统(如Windows)中。像FreeDOS、Linux等就是自由操作系统的代表,并得到了很大的发展,新的DOS时代于是应运而生了。在新的DOS时代中,尤其是在国外,新的DOS软件不断的更新和推出,质量也很高,具体可见“DOS近年来的发展”。所以尤其是对于DOS的使用者和爱好者,以及喜欢自由开放和不断探索的人来说,使用DOS是实用也是很有价值的。
问:如何在DOS下使用USB设备?
答:正如本站“DOS使用”栏目中所提到的,在DOS下使用USB设备需要USB设备的驱动程序。比如OHCI/UHCI可以驱动USB鼠标等设备,USB_CD可以驱动USB光驱等设备,DUSE可以驱动USB硬盘、光驱、软驱等设备,Motto Hairu可以用转为ASPI的方法来驱动USB接口的软盘、硬盘、光驱、闪存盘(例如U盘等),而USB4DOS则可以驱动其它USB设备(不过USB4DOS不是免费软件)。以上软件均可以在本站的“驱动程序”中找到。而且,“DOS文章”栏目中还有上面的DUSE驱动程序的详细介绍,大家可以去看看。另外,较新的主板BIOS中还提供了一些DOS下使用USB设备及启动USB设备的功能。
问:如何对付所谓的硬盘“逻辑锁”?
答:大家知道,如果硬盘中了“逻辑锁”(或称“逻辑炸弹”)的话,会使计算机中装有MS-DOS的其它启动设备(如软盘、光盘或其它硬盘等)均无法启用,以至于无法进行下一步的操作。其实,所谓的“逻辑锁”是利用微软公司的MS-DOS操作系统中IO.SYS文件的一个错误而制成的,而其它的DOS,如IBM公司出的PC-DOS,以及DR-DOS,FreeDOS,ROM-DOS等就没有此问题。因此,当硬盘被“逻辑锁”锁住的时候,用以上非MS-DOS的DOS启动盘(均可在本站的“DOS系统”中下载)启动系统后,再执行FDISK /MBR命令即可使硬盘恢复正常,十分方便。当然,还有一些非常麻烦且较危险的方法,如热插拔、用DM低格等等,都是基于MS-DOS系统的方法,并不实用。
问:有没有本地支持长文件名的DOS操作系统?
答:当然有,比如ROM-DOS 7.10。ROM-DOS是个相当不错的DOS操作系统,不仅本地全面支持长文件名、FAT32分区/大硬盘,以及TCP/IP协议和其它网络组件,而且和最流行的MS-DOS完全兼容,尤其是将ROM-DOS 7.10与MS-DOS 7.10作比较,后者中的命令基本上都可以直接在前者中使用,不仅版本号相同(即都是7.10版)使得不会有DOS版本号的冲突,而且它们的各种命令都支持FAT32和长文件名,所以这些方面的安全性和稳定性不必担心。因此,大家的系统中有一个ROM-DOS是非常不错的,尤其是制作一张ROM-DOS 7.10启动盘,这样可以享受到ROM-DOS所带来的各种好处了。而且不像MS-DOS那样,ROM-DOS好像不存在所谓的“逻辑锁”(具体可见上面那个问题的解答)。ROM-DOS 7.10注册版的启动盘可在本站的“DOS系统”中下载。另外,RxDOS也本地支持长文件名,而FreeDOS中相应的功能也正在开发中。
问:DOS是单任务操作系统吗?能否进行多任务操作?
答:所谓“单任务系统”就代表着此系统不能支持多任务操作,而只能在同一时间执行一个任务。DOS有两种方式,一种是本地的实模式,另一种则是保护模式。其中在实模式方式下的DOS就是单任务环境,而且在这种方式下通常只能使用1M以内的内存。若在保护模式的DOS下,不仅可以访问所有的内存,而且多任务是完全可以达到的(就像Win3.x/9x所达到的那样,因为Win3.x/9x本来就是一个大型的保护模式的DOS软件)。由于许多类型的DOS通常的实模式并不支持多任务,所以在这种状态下处理任务的效率自然低于多任务操作系统,安全性能自然也比不上多任务环境。相反,保护模式的DOS程序功能很强大,可以完成多任务等各种高级功能和操作,但它的编写难度则相对而言大得多。不过,近年来除了Windows外,还出现了许多DOS保护模式下的多任务图形操作环境,如SEAL、Qube、DesqView等等,可在本站的“系统增强”中下载。而且,最近许多保护模式和多用户多任务的DOS相继出现,例如FreeDOS 32、PTS-DOS 32、Real32(Multiuser DOS)等等,功能也越来越强。
问:如何安装和运行MS-DOS 7.10完整版?
答:MS-DOS 7.10是目前最实用的DOS操作系统,不仅是功能还是在实用性上,它在MS-DOS 6.x的基础上有了很大的提高,详细请见本站“DOS文章”栏目中的相关文章。MS-DOS 7.10完整版的安装功能也很强,它既可以直接从6.x上升级,也可以从Win9x/NT/2K/XP下进行双启动安装,可在本站的“DOS系统”中下载。按照安装程序的提示完成安装后,重新启动系统后即可直接启动MS-DOS 7.10完整版了。
问:如何在DOS下用扬声器播放MP3文件?
答:DOS下MP3文件的播放器有很多,如QuickView、MPXPlay、OpenCP、DAMP,甚至旧的DOSAmp等,但大多数都只能实现用声卡来播放。要用扬声器播放MP3文件,可以用一个叫作DSS的全屏幕方式的媒体软件(可在本站的“媒体软件”中下载)来实现用声卡或PC扬声器播放/记录MP3或WAV文件。具体方法是在DSS.INI中将设备改为想要播放的设备,比如1是Sound Blaster,8是PC扬声器,当然还有一些其它的设备,如ESS声卡等,具体可在它的说明中看到。或者还有另一个办法,就是先用L3ENC等软件将MP3转换为WAV文件,再用QuickView 1.x、SBPlay等软件(也可在本站中找到)实现用PC扬声器播放转换出来的WAV文件。
问:如何播放AVI、MOV、MPG、VCD、RealAudio等多媒体格式?
答:DOS下播放AVI和MPG格式的软件倒有不少,如QuickView、PV、AVI4DOS、MPEGone等,不过我推荐的是QuickView。它的功能相当强大,不仅可以播放以上除了RealAudio以外的所有格式,还可以播放MP3、GIF、JPG等各种常见的音乐、图像格式,详情可在“媒体软件”和“DOS使用”栏目中看到。不过,要播放VCD,请在586以上的电脑下运行,否则可能会出现类似幻灯片的效果。对于DOS下播放RealAudio格式的资料和具体文件,可在http://members.tripod.com/~ladsoft/ra.htm中看到。
问:如何解压IMG(磁盘映象)文件?
答:通常有两种方法,一种是直接解压法,可用UNDISK、DOSIMG等工具(在“压缩软件”中)来进行,非常方便快捷;另一种是用映象文件展开法,即用HD-COPY等工具(在“磁盘工具”中)将磁盘映象写入到软盘中。后者所需的时间相对比较长,期间会自动对软盘进行格式化,而且不灵活。不过,在制作启动盘的时候,后者和前者相比,则省去了用SYS命令将系统文件(如IO.SYS等)传输到启动盘(例如执行SYS . A:命令)的过程,因为后者会自动将系统引导文件写入所需的引导位置上。
问:如何使用软盘扩容工具2M 3.0?
答:2M 3.0是一个强大的软盘扩容工具,支持多种类型的软盘,比如可以将1.44M软盘扩充到近2M。它的文件很多,基本用法有:
1:2MF.EXE文件,将1.44M软盘格式化为此软件识别的2M格式。
2:2M.COM或2M.SYS文件,加载后即可使用用上面的2MF格式化出来的2M软盘,这时就可将此软盘当作2M使用了;可以用2M/U命令反安装2M程序,但一旦反安装2M后那个2M格式的软盘就不能被识别了,除非重新运行2M程序。
3:至于2M-INFO.EXE等文件,可以看它们的说明。
问:如何设置DOS下的显示刷新率?
答:DOS在许多显卡上的默认显示刷新率为60MHz,而不是更高的70MHz、85MHz,甚至100MHz,导致尤其是在图形方式下时有时看起来很不舒服。这时,就需要通过设置显示刷新率的方式来解决。例如UniRfrsh就是一个较好的设置显示刷新率的软件,可在本站的“显示工具”中找到。它是TSR方式的程序,而第一次要用SETUP全屏幕设置工具进行设置,以后每次只需运行UNIRFRSH命令就可以加载了。具体的设置方法是先在它的主菜单中的"Configre monitor"项中按照您的显卡的规格输入显卡的最大/最小的水平/垂直刷新率,如将最大水平刷新率(第一项)设为45MHz等等(最小刷新率可不管),然后再选择主菜单中的"Auto Configuration",提示刷新率的限制值时可使用85MHz等。再进行主菜单中的第一项"View/set refresh rates"中进行设置,在所需的屏幕方式下按回车键并输入想要的屏幕刷新率,然后可以按T键进行测试,如果能正常显示的话那就表示可以了。设置好后保存并退出即完成了UniRfrsh的设置。不过要注意一点,就是它需要支持VBE 3.0+的显卡才能运行,如果您的显卡不支持VBE 3.0+的话,可使用Scitech Display Doctor(SDD)驱动程序,可在本站的“驱动程序”中找到。SDD会使用软件方法让很多不支持VBE 3.0的显卡能够支持它。一旦能够支持VBE 3.0+,就可以使用上面的UNIRFRSH程序进行刷新率的设置了。当然,还有其它实用的DOS下显示刷新率设置软件,如VBEHz、Scitech SNAP Graphics等等。
问:如何使用PCMCIA卡的驱动程序CardSoft?
答:CardSoft有两种运行方法。一种是直接进行安装法,首先将其解压到根文件夹下(如果在子文件夹中的话可用SUBST命令将其虚拟为一个根文件夹),执行INSTALL(DOS)或SETUP(Win3.x)进行安装。另一种是直接运行法,即直接执行里面的可执行文件来配置PCMCIA卡,如SSCIRRUS.EXE,SSVLSI.EXE等,这些可执行文件分别对应各种不同品牌的PCMCIA卡。再执行CS.EXE、CSALLOC.EXE等命令进行具体分配。用里面的CARDINFO命令可以查看PCMCIA卡中的信息。另外,PC-DOS自带PCMCIA卡支持,而不需要专门的驱动程序。
问:如何在通过DOS命令行下载文件?
答:在DOS下下载文件的方法有很多,如用浏览器下载、FTP下载、用命令行方式下载等。对于直接在DOS命令行上下载文件,最方便的方法是使用一个叫WGET的软件,可在“网络工具”中下载,也可以在那儿下载"Internet Tools"工具包,里面也包含它。它的功能相当强大,包括断点续传、根据文件列表下载文件等多种功能,具体使用方法可用WGET -h命令查看,不过最简单的用法是直接在后面输入URL网址,FTP或HTTP等协议都可以。运行前需加载网络设备的Packet驱动程序。
问:在DOS下上网时,如何在命令行上查看本机IP地址?
答:对于不同的网络驱动程序接口,有不同的查看方法。比如在使用Microsoft Network Client 3.0时,可以使用其自带的IPCONFIG命令以查看本机IP地址(和Win9x/NT的DOS窗口中的IPCONFIG命令很相似);若使用的是DOS下Internet的标准Packet驱动程序,则可以使用DOSRPD中的TCPINFO命令来实现此操作,它可以脱离DOSRPD单独运行(DOSRPD可在本站的“网络工具”中下载)。为了方便大家的使用,我将其中的TCPINFO等命令组合到了"Internet Tools",可在“网络工具”中下载。
问:如何在DOS下刻录光盘和制作ISO光盘映象文件?
答:可以使用叫Disk-At-Once(DAO)的软件,它的最新注册版本可在“磁盘工具”中下载。它相当强大实用,而且使用起来也很方便。它几乎支持所有的CD-ROM/CD-R/CD-RW光驱,例如IDE/ATAPI光驱(需先加载ASPI.SYS驱动程序)、SCSI光驱,而32位的DOS版本还支持USB光驱。它包括DAO(DAO的主程序),CD2CD(光盘到光盘拷贝),FILE2CD(文件到光盘拷贝),MAKEISO(制作ISO映象文件),ISO2RAW(将ISO文件转为BIN/RAW格式),SNAPSHOT(备份光盘内容),CDCLIP(提取CD音频)等很多命令。例如MAKEISO C:\WINDOWS WIN.ISO /RECURSE命令就可以将Windows系统的所有文件制作到光盘映象文件WIN.ISO中,用FILE2CD WIN.ISO就可以将光盘映象文件WIN.ISO刻入到光盘中。如果只想进行演示而不真正进行刻录的话,可以使用它们的/TEST选项以查看效果。总之,DAO软件使光盘刻录和ISO映象文件的制作变得十分容易。
问:如何在DOS下虚拟光驱?
答:DOS下的虚拟光驱有很多种,例如:
1:将指定的本地路径虚拟为光驱:
这大概是用得最多的一种,用一个叫FAKECD的小程序即可做到,如:FAKECD C:\DOS
2:将IMG/ISO光盘映象文件虚拟为光驱:
可用SHSUCD中的SHSUCDHD命令来做到。具体方法是用它和MSCDEX/SHSUCDX即可;
3:将网络服务器/客户机虚拟为光驱:
可用SHSUCD中的SHSUSERV/SHSUCDN命令来做到;
4:将现有光驱虚拟为多个光驱:
可用SHSUCD中的SHSUDRVX命令来做到;
等等。
问:如何得到光驱所在的盘符?
答:可以用本站“脚本工具”中的FINDCD程序来自动显示出光驱的盘符,例如FINCDCD命令就可以将当前光驱的盘符显示并放入环境变量%CDROM%中。另外,我还编写了一个批处理文件,它会自动查找光驱所在的盘符,将结果显示出来并存入环境变量%CDROM%中。不过它需要两个批处理增强程序,Strings 2.5和XSET 5.47,均可在本站的“脚本工具”中下载。文件的内容如下:
@echo off
set dn=66
set cdrom=
:count
strings dn=add %dn%,1
strings dr=char %dn%
xset /search "CDROM" drv drivetest %dr%
if not %drv%#==# goto ok
if %dn%#==90# goto no
goto count
:ok
set cdrom=%dr%
echo The CD-ROM drive letter %cdrom% has been assigned to the
variable "CDROM".
goto end
:no
echo No CD-ROM found!
:end
set dr=
set dn=
set drv=
echo.
此例中是判断光驱所在的盘符,若想判断其它存储设备(或内存盘等)所在的盘符,将上面文件中的"xset /search "CDROM" drv drivetest %dr%"行中的"CDROM"改为其它名称即可,例如对于内存盘即可用"RAM"来替换"CDROM"。