注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

DOS编程技术

讨论在纯DOS下的编程技术

 
 
 

日志

 
 
关于我

1984年大学毕业,1985年底有机会开始接触PC机,1986年开始在PC机上做开发工作,曾接触过MS-DOS、CP/M、UNIX、VMS、LINUX、iRMX等众多的操作系统并在上面从事技术开发,擅长做底层与硬件相关的软件开发,目前主要在DOS和LINUX平台下工作,主要从事软件,在硬件开发上也有一定造诣,亦有在8051系列、6502系列(凌阳)、z80系列、ARM、X86等各类平台下开发软硬件的经历。更详细情况可以参考http://resume.whowin.net

网易考拉推荐

VirtualBox下的DOS如何与XP主机共享磁盘  

2009-01-06 12:47:01|  分类: VirtualBox |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

    在VirtualBox下安装好DOS后,一个很麻烦的问题就是DOS guest无法和Windows host共享磁盘,如果想让DOS guest读windows host的文件,要先把这些文件制作成光盘或者软盘镜像,然后在DOS guest中设置虚拟光盘或虚拟软盘读出来,如果在windows host上想读取DOS guest上的内容,要在DOS guest上把内容写入虚拟软盘,然后释放掉软盘,在windows host中在打开这个虚拟软盘,过程十分繁琐,而且,如果我们在dos guest下有一个大于1.44MB的文件要与windows host共享,那就更麻烦了,因为软盘的容量只有1.44MB,所以,如果我们不解决这个问题,那么这个虚拟的DOS平台真的是太不好用了。

    非常幸运的是,我在VirtualBox的官方论坛上找到了一篇关于DOS guest和windows host共享文件夹的文章,文章很短,大致的思路是在DOS guest上利用Microsoft Network Client实现与windows host的文件共享。

    再次感到非常幸运的是,我在我以前的软件藏品中找到了Windows NT 4.0的光盘,在这个光盘里我找到了Microsoft Network Client 3.0,使这个思路的实现前景光明。

    在开始安装之前,还有这样几个问题需要解决:

    1、Microsoft Network Client 3.0(以下简称MSCLIENT)需要安装NDIS2的网卡驱动程序,我们必须找到虚拟机上虚拟网卡相应的驱动程序
    2、根据VirtualBox的说明书,VirtualBox提供的虚拟网卡主要是AMD PCnet网卡,所以我们要设法找到该网卡的NDIS2驱动程序
    3、根据VirtualBox的说明书,虚拟网络提供三种连接方式:NAT(Network Address Translation)、Host Interface和Internal Network,我们必须要确定采用那种连接方式
    4、我们必须要搞清楚NDIS2驱动程序的安装方法

    我在AMD的网站上找到了PCnet网卡的驱动程序,网址是:

    http://www.amd.com/us-en/ConnectivitySolutions/ProductInformation/0,,50_2330_6629_2452%5E2454%5E2463,00.html(2017年3月17日注:这个链接已经失效了)

    不过大家不必在去下载了,在《在虚拟机下安装DOS 6.22(上)》一文中有一个dossoft.iso的下载,在这个光盘镜像中有所有我们需要的东西。

    关于虚拟网卡的连接方式,通过仔细阅读VirtualBox的说明书,我认为应该使用Host Interface方式。

    关于驱动程序的安装方法,根据VirtualBox官方论坛上有关帖子的介绍,Microsoft KB128800介绍了NDIS驱动程序的安装方法,于是我在Microsoft的网站上找到了KB128800,网址如下:

    http://support.microsoft.com/kb/128800

    比较要命的是,我们看到的是计算机自动翻译的中文版本,而翻译水平实在不敢恭维,根本就看不懂;这篇文章必须要看英文的才好,为此必须要在页面右边的“文章翻译”一栏中再强行把文章翻译回英文(微软真是多此一举)。根据文章说明,安装这个NDIS2的驱动大致需要下面几个步骤:

    (1)把Microsoft Network Client拷贝到硬盘上

    (2)根据NDIS2驱动程序中的oemsetup.inf这个文件更改MSCLIENT中的wcnet.inf文件

    (3)把相应的NDIS2驱动程序拷贝到MSCLIENT的目录中

    这样,我们在安装MSCLIENT时就可以自动地把相应的NDIS2驱动程序安装上了。

    实际上,上面的三个步骤大家也不用做了,在我提供的dossoft.iso的虚拟光盘中都已经统统改好了。

    到这里,应该说我们已经排除了可能遇到的问题,下面我们要做的事仅仅是安装MSCLIENT。

    在安装之前,我们要先对虚拟机的网络部分做一下设置

    (1)启动虚拟机

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    (2)在虚拟机左边窗口选择“MSDOS6.22”,在右边窗口点击“网络”

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    (3)网卡我使用的是缺省的PCnet FAST III,连接方式为Host Interface,我有两块网卡,实际使用的是Intel Pro 3945ABG无线网卡,所以要选择上这块网卡

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    红线上面是最终的设置结果,至此我们可以进入虚拟DOS,安装MSCLIENT了。

    在安装之前,我先把我们要用到的一些软件在虚拟光盘上的目录位置介绍一下。

    我们在本文中要用到的软件在虚拟光盘的doshare目录下,这个目录下有两个子目录,一个是MSCLIENT这是MSCLIENT的全部安装文件;另一个是NETDRV目录,里面放着PCnet网卡的的NDIS2驱动程序;在MSCLIENT目录下,还有两个子目录,分别是DISKS和NETSETUP,DISKS是MSCLIENT的软盘安装版,该目录下的两个目录disk1和disk2可以制作两张软盘用于安装MSCLIENT;NETSETUP目录是MSCLIENT的硬盘安装版,我们这次就是要使用这个目录,在这个目录中我们已经为安装PCnet网卡的NDIS2驱动程序做了适当的修改。

    下面我们开始安装MSCLIENT.

    (1)启动虚拟DOS,此时虚拟光驱中应该有dossoft.iso虚拟光盘,进入到d:\doshare\msclient\netsetup目录下,在DOS提示符下输入:setup

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    (2)按回车开始setup

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    (3)缺省的安装目录是c:\net,我主张装在c:\msnet目录下,因为如果我们建立开发环境时,有一个wattcp要安装在c:\net目录下,输入好目录后按回车

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

     (4)不必理会

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    (5)选择Advanced Micro Devices PCNET Family网卡,然后按回车

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    (6)按回车,继续

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

     (7)用户名我用vdos,当然也可以用别的,然后回车

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    (8)光标开始在最下面一行,我们需要改变一点设置,把光标移到第二项,按回车

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    (9)把光标移到第一个选项上,按回车

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    (10)把原来的Full Redirector改成Basic Redirector,改变这个选项的目的是为了省一些常规内存,没有别的作用,工作在实模式的DOS,常规内存是十分宝贵的

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    (11)按回车,继续

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    (12)按回车,继续

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    至此安装完毕,不必按回车键重新启动,按F3退出,回到DOS提示符下。

     根据从VirtualBox官方论坛上得到的信息,我们还需要展开两个文件wg1049.exe和netshar.exe,同时还需要修改system.ini中的某个设置,下面我们完成这个工作。

    (1)修改system.ini

  • 进入c:\msnet目录(就是我们安装MSCLIENT的目录,如果你安装在其它目录,请进入相应目录)
  • 在DOS提示符下输入edit system.ini进入编辑system.ini的界面
    VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术红色箭头处原先应该是“no”,改成“yes”,然后存盘退出

    (2)展开文件wg1049.exe和netshar.exe

  • 这两个文件存放虚拟光盘dossoft.iso的doshare目录下
  • 将这两个文件拷贝到C盘MSCLIENT的安装目录下
    copy d:\doshare\wg1049.exe c:\msnet
    copy d:\doshare\netshar.exe c:\msnet
    如果你的MSCLIENT安装目录不是msnet,请按照你的目录进行拷贝
  • 执行这两个文件
    进入c:\msnet目录,并执行这两个命令
    C:\>cd\msnet
    C:\MSNET>wg1049
    C:\MSNET>netshar
    遇到的所有overwrite的提示均输入“y”,大致的运行状况如下图:
    VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    到了这里,你需要重新启动你的虚拟DOS了,启动过程中遇到的提示均以回车应对。

    下面,你需要在你的windows host下做一些工作,工作很简单,找一个合适的目录,把它给共享出来,这个大家应该都很熟练,我在我的D盘下共享了一个叫做share的目录,一会我们要在DOS guest中去去这个目录。

    好了,你的DOS虚拟机应该应经启动起来了,你在windows下的share目录应该也已经共享出来了,现在我们要在DOS虚拟机下输入一些命令,你就可以访问共享的share目录了。

    对了,你还需要知道你的windows在网络上的ID是什么,如果你不知道,把鼠标放到桌面的“我的电脑”上右击,选“属性”,再选“计算机名”,你就看到了,如下图:

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

    还有一点要确认一下,就是你的windows host的工作组是:workgroup,如果不是,请更改一下并重新启动windows使其生效。

    上图我们看到,我的windows的工作组是workgroup,我的计算机名是:hengch,好了这应经足够了。

    下面的命令要在DOS GUEST上输入

    C:>net use e: \\hengch\share

    这个命令的意思是,把hengch计算机上的share目录用e:表示,以后我们访问E盘就相当于访问\\hengch\share了。

VirtualBox下的DOS如何与XP主机共享磁盘 - whowin - DOS编程技术

     上图中是实际执行结果,显示的E盘的目录正是我的windows host中d盘share目录下的内容。

    问题:

    理论上说,如果我在DOS guest上输入net share dosc=c:\msnet,那么在windows host中的网上邻居中应该在vdos计算机下看到这个目录,但实际上却没有做到,原因不明。就是说,在windows host下无法读写DOS guest下的目录,如果那位读者发现问题所在,请告诉我,谢谢!

 

 

  评论这张
 
阅读(11055)| 评论(21)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018