现在的位置: 首页 > 综合 > 正文

DOS网络启动盘

2013年10月03日 ⁄ 综合 ⁄ 共 8998字 ⁄ 字号 评论关闭
DOS网络启动盘
 
 
这张从97年到现在我一直保留并维护的工具盘,也许平时用的机会不多,但总在关键时刻救急。它能帮你在无法通过光驱安装操作系统时,通过网络或USB移动盘把几百兆的Windows系统安装文件复制到本地硬盘来进行安装。当然还可以用它来干别的,不过对我来说,这才是我一直不断更新它的最重要的原因。现在网上类似的东西很多,也许是用惯了,还是觉得自己的比别的都好用……
 
用途
  • 支持以微软网络客户访问和提供局域网共享资源;
  • 支持以包驱动方式访问局域网和互联网上的TCP/IP服务;
  • 可通过PPPoe拨号用基于包驱动的应用程序访问互联网上的TCP/IP服务;
  • 多种网卡支持(须单独软盘)、自动检测PCI网卡;
  • 支持IDE光驱和USB存储设备;
  • DOS 7.1启动,支持FAT32,也包含了只读版NTFS和长文件名支持。

下载地址

  • DOSNETX7.img (1.44M) exe格式
    DOS网络启动软盘镜像,系统用的是DOS 7.10,本身含4种网卡驱动。
  • DrvPk144.img (1.44M) exe格式
    驱动包,支持91种网卡,可自动检测出其中46种PCI网卡。
  • DrvPk168.img (1.68M) exe格式
    比1.44M的包多了一种很少见的PCI网卡“Madge Token-Ring NIC”,只要不是这种网卡就不要下这个包了。

说明:

  1. img格式的文件可在多种读写软盘镜像文件的程序中使用,例如DOS下的rawrite、di、dcf/dcp、diskdupe、hdcopy等、Windows下的WinImage等。
  2. 同时提供的exe格式文件可用于在Windows系统下直接生成软盘,可用WinImage打开该exe文件后将内容另存为ima格式,该ima文件和供下载的img格式文件是完全相同的。
  3. 这些软盘里是不包含那些用来访问互联网资源的TCP/IP应用程序的,需要下载的话可从下面“其它软件下载地址和技术信息”一节中提供的下载地址中自行下载。
  4. 坦率地说,这个工具不是完全“傻瓜型”的工具,使用的人光对DOS熟悉还不够,必须了解一些关于网络的知识。建议使用者耐心把本文看完,尤其是后面技术信息中的一些内容,也许会对不熟悉的人多点帮助;如果是在虚拟机上测试,还请阅读后面关于虚拟机网络配置的一些说明。需要帮助可以来信,我会尽量回复。

对各菜单的说明
启动后有几层菜单,是针对不同的需要而设置的。了解了各个菜单的设置意图,用的时候就会感到方便了。

  • 第一级菜单用于选择正常启动用的内存模式、外加一个“干净启动”的选择:
    1. DOS with max UMB & UltraDMA (incompatible w/ mono video & old PCs)
    2. Compatible mode (safe for most computers)
    3. Clean boot (edit.com available

选项1和2都属于正常启动,其区别有两点:
1、选项1将B000-B7FF段包含在可用于UMB地址仿真的地址中;
2、选项1启动时加载支持UltraDMA的xdma.sys驱动程序。

如果计算机上使用了单色显卡,或者运行了要使用B000-B7FF段内存的程序,就应该用选项2启动。此外,在有些比较老的主板上,xdma驱动会导致死机,出现上述问题就试试用选项2启动。除非是特别老的机器,对大多数情况来说,默认的优化选项1是安全的。

3其实就是个安全模式了,以便出问题时好歹能用edit.com来编辑一下配置文件。

  • 正常启动的二级菜单如下,大体可根据是需要对网络的支持还是需要对USB驱动器的支持来选:
    1. DOS only, with utilities cached to ramdisk
    2. IDECD and USB CD/HD/FD support
    3. Network support only
    4. Network + IDECD
    5. <<< Return

选1仅仅把工具程序解压到虚盘里、并自动加载doskey、smartdrv等几个常用工具后结束。这些内容其实在其它几个选项中也都包括(但选3、4时为给网络应用节省内存,不加载smartdrv)。

选项2主要用来从光驱或USB移动盘上复制文件。不过用这个选项启动后A盘会被替换成一个只读的内存盘,所以软驱将不能用了(这是因为在用USB软驱启动时,USB驱动程序会造成启动到一半时找不到软驱,所以要用RAMFD来建立一个内存盘把软盘内容预读进来)。好在这种情况只对用选项2启动有影响。或者,如果不用USB软驱引导的话,可将config.sys中加载ramfd.sys的一行去掉。

选项3和4是启动网络支持(4是为了方便,同时加载IDE光盘驱动,但是毕竟会占用一定的内存,所以不用光驱的时候建议用3);选5则退回内存模式菜单。

  • 启动网络支持时(上面选3或4后),其中包含的一个基本驱动包会显示一个只有4种网卡驱动的菜单、外加0和9两个选项(做成光盘引导时不会出现9,可将驱动包里那个DrvPk??.exe放在光盘的 /NDISDRV 目录里,用带IDE光驱支持的选项启动,一般就能自己找到驱动包;也可把启动软盘映像改成288的,把驱动包文件放到软盘映像的/NET目录里):

[0] Do not start network support at this moment
[1] RTL8139 based PCI NIC
[2] Intel Pro/100ve/vm PCI NIC
[3] AMD PCnet Family PCI NIC
[4] Digital Semiconductor DC21X4 series
[9] I have the Supplemental Driver Pack diskette

选0会停止加载网络,1~4分别可用于:

    1. 台式机常见的RTL8139及兼容网卡
    2. 笔记本常见的Intel Pro 100vm网卡(台机上的Intel Pro 100ve也能用)
    3. VMware虚拟机用的AMD PCnet系列网卡
    4. 微软或Connectix的Virtual PC产品用的DC21x4系列网卡

如果制作了驱动包软盘,此时可以把启动盘取出换上驱动包软盘,然后按9。如果在驱动包中找到了能用的驱动,又希望能将该驱动保存在启动软盘上的话,可以在屏幕提示时选择保存、并将启动软盘放回。这将删除启动盘中原有的4种网卡的基本驱动包,这时启动盘上有大约70K左右空间,除少数网卡的驱动外都能保存进去。保存后以后再启动时就不会出现这个网卡选择的菜单了。

扩展的驱动包软盘可自动检测约50种PCI网卡(兼容产品不在计算之中),另可手选40多种ISA卡和PCMCIA卡。

检测到多网卡时也须手选,但因有些驱动不支持用来指定网卡的配置参数,所以有时还会出现驱动找不到网卡的问题。

  • 之后就是网络支持的主菜单了。其中包含了若干典型的网络应用模式:

[0] Do not load network support at this moment.
[1] Packet Driver & MSTCP.
[2] Packet Driver only.
[3] MS TCP/IP with NetBios support.
[4] NetBEUI.
[5] IPX (MS NWLink).
[6] Server mode.
[7] PPPoE dialup link (Packet Driver).

大体上分成对两类应用的支持:

  • 选项1、2、7是为基于包驱动(Packet Driver)的网络程序提供支持,这类程序通过包驱动接口使用TCP/IP协议访问网络上基于TCP/IP的服务。例如用Ghost通过网络进行Peer方式镜像、使用Arachne、Lynx浏览或下载、或用wget、cURLl等程序下载FTP文件等等。

1和2可用于访问局域网资源、或通过局域网上的Internet网关访问互联网的情况。区别是2只加载包驱动程序,而1则同时会加载MS Client中的TCP支持(暂且叫它MSTCP或MS TCP/IP吧)。

说明:MSTCP模块要多消耗约80K内存,但在使用DHCP分配IP地址时,它有助于消除个别应用程序存在的问题,并能提高效率(选1时批处理文件能够把通过DHCP获得的配置信息存在环境变量里供网络应用程序直接使用,而选2时每个应用程序都要分别去向DHCP服务器重新获取)。

选项7提供通过与网卡连接的DSL modem建立PPPoe连接的能力,实质上就是在物理网卡的包驱动上加了一层PPPoe封装。不过由于各地DSL规范的不同,这里选用的PPPoe驱动程序(PEPA)可能不一定能广泛应用(我在北京电信的ADSL上试过能用,其它符合欧洲标准的也应该可以)。

  • 选项3~6是提供对微软网络客户的支持,相当于在Windows系统的网络配置里绑定了那个“Microsoft网络客户端”服务,说通俗点就是能访问共享文件夹等资源。

其中3~5是用不同的协议仅启动客户端功能,就是说能访问网络共享,但是自己这台机器不能提供共享;6则可在这台计算机上设置共享,以允许其它电脑访问。

6的用处除了可以把这台DOS计算机当成文件和打印服务器外,更实际的用处是:有时我们需要的文件在一台没有设置共享文件夹的Windows计算机上,但是在那台机器上却只有个普通用户帐户(设不了共享),这种情况下可在DOS机上用模式6启动网络,并用 net share myshare=d:/incoming /full 这样的命令把DOS机上的文件夹设置为可写的共享,Windows机器的普通用户就能从那台机器上把需要的文件复制到例如//dossvr/myshare 这个共享文件夹里了。

由于6用得少,为简化选择考虑,在这个模式下会加载TCP/IP、IPX兼容协议和NETBEUI三种协议,所以启动后剩下的内存就很少了。

关于微软网络客户要注意的两个问题:

  1. 输入工作组名字的时候一定要保证这个组里必须有至少一台配置有相应协议的“Samba服务器”(就是启动了Computer Browser服务的Windows机器、或开了Samba支持的Linux主机),否则DOS机找不到其它电脑,反之亦然。
  2. 验证登录信息的计算机必须启动Net Logon服务,如果是Windows 2000/XP的计算机,还要注意有关的安全策略中的设置。

在登录到NT域时,域服务器上肯定都会开着那个服务,这时主要要注意的是组策略的设置。

采用对等鉴证时,负责鉴证的工作站有时为了安全或优化的原因会停掉Net logon服务,所以要多看一下;另外使用对等鉴证时,同样的用户名在不同的机器上可能是不存在的,用户密码也可能不同,访问不了共享时记得先看一眼这个。

  • 关于如何输入IP地址、机器名什么的就不用说了。这里要提醒用过MS Client的人,若是自己指定IP,在那个黄色的提示后面请输入用点分开的IP地址,如192.168.0.10、255.255.255.0等,别按MS Client的默认方式用空格分隔。

至此,关于各个菜单就都介绍完了。使用方面其实没什么好说的,用MSTCP的,可以用ping测试一下;用微软网络客户的可以net view一下;ADSL拨号的……嗬嗬,这个就别用那个pdping测试了,反正我没拿它测通过几次,把它包含在盘里是用来激活PEPA建立拨号连接的。真要用来试拨号的话,建议直接用lynx连一下google什么的,一般能出现“MAKE HTTP connection to ...”就说明能找到DNS了(就是说,前面的链路层和IP层都ok了)。

技术信息

  • 一些对不熟悉DOS网络应用的人的帮助
    大体上和Windows下的网络支持具有相似的层次,MS Client中也包含相应的“网卡”、“协议”和“网络客户”几个层次的内容。但是包驱动则是独立的一支。这里提供的网络启动盘中的网络连接是大体符合下面的结构的:

      基于包驱动的应用程序                   基于微软网络客户的对网络共享的访问
            |                                      |
        dis_pkt.dos                   MS Client提供的三种协议及微软网络客户
            |                                         |
            /-------------------+---------------------/
                                |
                       PROTMAN.EXE和网卡驱动模块

    可以看出,包驱动支持是独立于MS Client提供的几种协议的,就是说它不需要MS Client的任何协议的支持就能运行,也能和它们自由组合。另外,这也意味着基于包驱动的TCP/IP应用程序完全不使用MS Client的TCP/IP支持。所以如果用MS Client自带的ping.exe去测试用包驱动建立的PPPoe连接就是驴唇不对马嘴了。

    启动盘里提供了一个pdping.exe是个基于包驱动的ping工具,注意它使用的不是ICMP而是TCP。不幸的是由于它需要知道自己的IP地址才能工作,而启动盘里建立PPPoe连接的ADSL.BAT脚本为了简化工作,一律把自己的IP地址设成一个假的255.255.255.254,这对象Arachne或Lynx等很多别的实际应用来说是没什么影响的,可是却使这个pdping工作起来不正常了。所以不要用它来测试PPPoe连接,建议直接用Lynx打开个网站直接看一下就知道能不能用了。ADSL.BAT是toggle型的工作方式,第一次运行是拨号,第二次是挂机。本文其它部分还有一些关于PPPoe支持的说明,在此不赘述。

    对wattcp应用程序来说(使用包驱动的一类),必要时可以直接修改wattcp.cfg中的配置,大多数情况下不用重新启动电脑、只要重新进入一下要用的应用程序就可以,因为这里面的配置不驻留在内存里。而在使用MS Client的协议时,变更了配置必须重新启动。

    关于通过微软网络客户访问共享资源的一些注意事项也在前面提到,你必须自己用net use建立对其它机器上的网络共享的映射,或用net share在本机上创建共享。需要的话请看net help提供的简单帮助。

  • 使用Ghost进行网络镜像的问题
    以我自己遇到的问题来看,7.5版本的Ghost总体上比8.0和8.2的版本稳定。8.x的版本甚至在本地盘上操作时有时都会异常退出。

在用TCP/IP的Peer方式进行网络镜像时,7.5版的稳定性显然比高版本的更好。

在在访问用微软网络客户映射的本地逻辑盘时(指启动微软网络客户后,用类似 net use z: //server/ghost 这样的命令将网络共享映射为Z:,然后在Ghost中用Local方式访问该盘),高版本的相对正常一些,但毕竟让人有点不放心。

有些机器上使用GhostCast方式时,如果找不到多播服务器,可以试试在启动后显示网络模式菜单时先选0退出到提示符下,用下面命令设置一个环境变量:

set pdmode=6

然后运行 msnet 回到网络模式菜单启动网络,该操作可解决有些情况多播连接方面的问题。该问题更详细的说明请参见以下Symantec文档:

另外一个问题是,Ghost自己带的1.18版的dis_pkt.dos在VMware虚拟机上用时似乎有问题(VPC上可以),所以启动盘里放的是个老点但没出什么问题的1.15版。

  • 使用PEPA时的问题:
    PEPA的最大缺点是缺乏错误提示,虽然在文本屏幕时右上角有个状态显示灯,也能通过在pepa.ini里使用“-l”来显示些附加的细节,但都不够直观和详细(需要的话可去下载pepa 1.9的完整zip包看看里面的readme.htm,不过别抱太大希望)。

    • 连接后一般要等几秒钟再启动网络应用程序(要等PPPoe连接成功)。
    • 挂断后不要马上重拨,也要等上几秒。这是因为软件采用的挂机方式其实只是把PEPA卸载掉,然后被动地等局端设备实际挂断。要小心有时局端设备没真把你挂断(ADSL不是包月的就惨了),这时重新拨号后会不能访问网络,这就需要把网线断开几秒钟或者重开一下DSL modem。

    PEPA的未注册版本只能用30分钟,之后没任何提示,但访问网络时什么都收不到。可以运行两次ADSL.bat(相当于重新拨号)来继续使用。这个盘里的是XX的,去掉了这个限制(没仔细试),如果你需要PEPAM的XX,请按本文“其它软件的下载地址和技术信息”一部分中的方法自己处理。

     
  • 用启动软盘制作启动光盘的说明
    可将光盘设计为软盘引导仿真方式,并将该软盘镜像文件作为引导用的镜像文件添加到光盘中,并在光盘根目录下建立一个名字叫NDISDRV的子目录,将驱动包软盘镜像中的文件(例如DrvPk!91.exe)放在这个目录下,用户用此光盘引导时在启动菜单中选那个“Network + IDECD”的项即可自动用该驱动包来检测网卡。

    也可以使用大于1.44M的虚拟软盘镜像,把驱动包放在/NET目录里,效果也是一样。不过这样做有个问题就是那个加载USB光驱、软驱支持的选项2时,因为RAMFDD不支持超过1.44M的软盘格式,所以若是用USB光驱或软驱启动时就会在启动到一半的时候停住。但是对只需要网络应用的情况来说可以索性把那些应用程序也放在启动映像里,不用光盘就是了。

这里是个简单的例子,为方便测试我放了些DOS下用包驱动来进行TCP/IP访问的应用程序。实际中我自用的是另一张盘,上面还有些系统恢复工具如Acronis系列、汉化ERD Commander 2005等、一键还原什么的。这类东西现在很多,根据自己喜好添加就行,基本没什么技术含量。当然,如果你希望试试我的版本,找个地方我可以帮你传上去(ISO文件530M,压缩了250M),因为太大了、用的人也不多,此处就不提供下载了。

  • 直接安装于虚拟机硬盘的方法
    如果你喜欢偶尔玩玩DOS,想在虚拟机上装个DOS系统玩玩DOS网络的话,可直接将虚拟机的C盘用format c: /s 格式化,然后把软盘上的目录和文件原封复制到C盘里,驱动包文件可放在c:/net目录里,不用修改什么文件。这样可直接从C盘启动,功能和软盘启动基本相同,不过保存网卡驱动时不会删除C盘上的基本驱动包。恢复网卡选择单时只要留下c:/net目录里名为 dosnetx!.exe 和 drvp*.exe 的文件即可。
  • 如何删除保存的网卡设定并恢复网卡选择菜单
    对软盘来说,最省事的办法是重新用镜像文件做张新启动盘。如果是手工操作,可删除软盘上/net目录里 除 dosnetx!.exe 外的其它文件,再把镜像文件中的基本驱动包drvpk!.exe复制到软盘的/net目录里即可。
     
  • 其它软件下载地址和技术信息

     

     

    MS Network Client 3.0 和 MS Workgroup for MS-DOS 补丁

    • 下载地址:msclient安装文件1 msclient安装文件2 wg1049补丁
    • 说明:
      • msclient 本身不提供服务功能,需要在DOS中设置共享的话,可在安装msclient后用wg1049补丁中的文件替换msclient目录中的四个文件即可使用 net share myshare=d:/mydir 这样的命令设置共享。

    MS LAN Manager 2.2c

    PEPA 1.9 - DOS 下的 PPPoe 连接程序

    • 原版下载 
    • XX
      对两个文件,关键都是前面的第一处修改,真正去掉30分钟限制;后面那个只是不显示未注册版的信息,不影响使用,我去掉它的原因只是为了使用时和原版区分开。
      • pepa.exe:
        1. 文件起始处偏移量0x14F2处74->EB
        2. 0x7A6C处74->EB
      • pepam.exe:
        1. 0x169C处7E->EB
        2. 0x96F3处74->EB

     

    Lynx 2.85 rel 1 - 文本Web浏览器

    Arachne 1.90J1 - DOS 下的图形界面Web浏览器

     

    WATTCP

    • 说明:WATTCP本身没有提供什么具有实用性的应用程序,它主要是提供了一个供开发使用的基于包驱动的TCP/IP库,也包括一些基本的网络测试工具。较早为实模式开发的工具由于实模式本身的限制太多,其应用比较有限。后来结合DJGPP和DOS扩展器等工具开发的32位保护模式下的Watt-32则包含了更强的功能,也更具实用价值(这里面的ftp和telnet客户端是我个人觉得其同类程序最好用的,单弄出来放在这里)。
    • 下载地址:实模式的工具包 Watt-32开发包 用watt-32开发的一些应用程序 我把其中一些较实用的打包放在这里

    PC Pine - 文本界面的IMAP/POP3客户端

    VNC - 基于wattcp的远程客户端

    • 说明:通俗、但不准确地说,VNC (Virtual Network Computing) 有点类似于pcAnywhere或者Windows终端服务,不少Linux用户都比较熟悉。也有厂商提供Windows系统上和MacOS下免费或商业的VNC服务端程序,此处不提供服务端程序的下载链接,下面的链接只是DOS下的客户端程序。
    • 下载地址:DOS VNC Viewer 1.1  RealVNC 4.0



     

    编辑本文

    本文未完成的内容

    • msclient设置详解,解释如何修改system.ini、protocol.ini、及tcputil.ini以实现:

      • 变换网卡、及使用多网卡;
      • 绑定协议及实际启动各种协议的支持;
      • 网络客户设置;
      • 提供共享服务。
    • 有关包驱动:
      • 包驱动的概念;
      • 用dis_pkt.dos为msclient提供包驱动支持;
      • wattcp.cfg的设置;
      • 基于包驱动的TCP/IP应用程序。

抱歉!评论已关闭.