= Set up a DOS VM with networking (and shared folders). = == Overview == 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. == Prerequisites == What you need (apart from having a basic DOS VM): * MS Client for networks (two self-extracting files [https://archive.org/download/ftp.microsoft.com/ftp.microsoft.com.zip/ftp.microsoft.com%2Fbussys%2FClients%2FMSCLIENT%2FDSK3-1.EXE DSK3-1.EXE], [https://archive.org/download/ftp.microsoft.com/ftp.microsoft.com.zip/ftp.microsoft.com%2Fbussys%2FClients%2FMSCLIENT%2FDSK3-2.EXE DSK3-2.EXE]) * AMD NDIS2 (not NDIS3!) NIC [http://download.amd.com/techdownloads/wfw31.zip drivers] for Windows 3.1 * [https://archive.org/download/ftp.microsoft.com/ftp.microsoft.com.zip/ftp.microsoft.com%2FSoftlib%2FMSLFILES%2FWG1049.EXE WG1049.EXE] (optional) * [https://archive.org/download/ftp.microsoft.com/ftp.microsoft.com.zip/ftp.microsoft.com%2FSoftlib%2FMSLFILES%2FNETSHAR.EXE NETSHAR.EXE] (optional) - refer to [https://jeffpar.github.io/kbarchive/kb/121/Q121086/ Microsoft KB 121086] * [https://jeffpar.github.io/kbarchive/kb/128/Q128800/ 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 [/wiki/Documentation 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 [https://jeffpar.github.io/kbarchive/kb/128/Q128800/ 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. === Host preparation === 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. === Client preparation === 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. == Final result == 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. Limitations: * I was not able to read guest files from the host. * For security reasons I would not recommend sharing your root drive with anyone.