Set up a DOS VM with networking (and shared folders).
Below you find tips on how to set up host/guest networking. The guest was a DOS 6.22 VM, but any DOS 5.0 or later version may be used. My host system is a typical Windows machine. I used VirtualBox 1.4.0.
What you need (apart from having a basic DOS VM):
- MS Client for networks (two self-extracting files DSK3-1.EXE, DSK3-2.EXE)
- AMD NDIS2 (not NDIS3!) NIC drivers for Windows 3.1
- WG1049.EXE (optional)
- NETSHAR.EXE (optional) - refer to Microsoft KB 121086
- Microsoft KB 128800 - on how to add extra NDIS2 drivers to the client setup (optional)
Important: Set up the VM's network adapter to use bridged networking. See the VirtualBox manual for additional explanation and details. The default NAT networking does not allow the VM to communicate with the host, which is what most users want.
Add AMD PCnet NDIS driver to MS Client setup
With the AMD PCnet drivers available and the files dsk3-1.exe and dsk3-2.exe:
- Run dsk3-1 and dsk3-2 in a temporary directory (or unzip them, as they are self-extracting ZIP archives).
- Follow Microsoft KB 128800 instructions on how to add the AMD NDIS drivers to the setup routine.
MS Client setup
Run setup from the temporary directory above. Hints:
- Give host and guest the same workgroup name.
- Select basic redirection (to save memory in the DOS VM).
- When done: set filesharing to yes in the \NET\SYSTEM.INI file.
The default protocol is NWlink and that should do. No need to add e.g. NetBEUI. Additional steps:
- Copy netshar.exe and wg1049.exe to the \NET directory.
- Run these two executables there, they'll add and/or overwrite some files.
If you want to share your host's c:\ drive, allow c:\ to be shared (e.g. as 'C'), and allow users to modify your files as well; this will give read/write access to your c:\ drive. Keep security in mind; restrict access and require passwords to access data. Be sure to have the same workgroup set up for both machines - host and guest.
Once your VM reboots, you can map or share drives. Assuming that the VM computer name is DOSCLNT:
C:\> net share dosc c:\
and assuming that your host computer name is WINHOST:
C:\> net use e: \winhost\c
Results can be checked by the following two commands:
C:\> net share C:\> net use
Now you should be able to read from and write to the host.
Now I can read from and write to my hosts drive from the VirtualBox DOS machine! Internet access via the physical host NIC is still possible including keeping the host firewall alive. I did not care much about optimization, just wanted to get it up and running.
- I was not able to read guest files from the host.
- For security reasons I would not recommend sharing your root drive with anyone.