Guide to DOS on Virtual Box

Updated: 17 December 2017

1. What versions of DOS (Disk operating system) can I install?

You can install most versions of DOS including MS DOS, PC DOS (IBM), DR DOS (Digital Research), and FreeDOS.

Description of DOS commands can be found on ComputerHope.

2. How do I install MS-DOS on Virtual BOX?

Once you have created your virtual machine, you need to prepare and install DOS, excluding FreeDos, the procedure is:

1. Boot from the first floppy disk image of your MS-DOS version. If necessary, Press F3 to exit to the DOS prompt.

2. Run FDISK and create a partition and make it active. This will be your C: drive.
a) Click Y for large disk support (FAT32) if using Freedos, Windows 9x otherwise No to use FAT16 format.
b) Enter 1 for 'Create a DOS partition or Logical DOS Drive'
c) Enter 1 for 'Create primary DOS Partition'
d) Select Yes to use the entire disk
e) Exit FDisk and restart (Ctrl+Delete)

3. Run FORMAT C: /S to format the disk in FAT format, and make it bootable. The bootable files for MS DOS include:

a) IO.SYS which contains the information to read the MBR, read the disk and load the files to boot the operating system. From Windows 95, IO.SYS and MSDOS.SYS were combined.
b) MSDOS.SYS which contains the DOS kernel and is responsible for file access and program management. In Windows 95 and later, this file becomes a text file containing configuration options instead of code.
c) COMMAND.COM contains some built in command line commands including DIR, CD, COPY, DEL. External commands are found in C:\DOS.
d) CONFIG.SYS contains a text file which configured system and device drivers to be loaded at startup e.g DEVICE, FILES, COUNTRY, SHELL, STACKS, DOS etc
e) AUTOEXEC.BAT is a batch text file containing commands to run at startup including setting Path, configuring keyboad, display, load a menu and so on.
f) DRVSPACE.BIN is a program that allows compressed drive space to be loaded and used.

4. Run SETUP from the disk to begin installation of DOS to the C:\DOS folder.

5. To see what version of DOS is installed or running, enter the VER command.

If using Freedos, you can boot from an ISO file and it will set up the disk, then select Install to Hard Disk from the menu.

Install Freedos

For Freedos, the system files are different as follows:
a) KERNEL.SYS - Freedos' Kernel for booting freedos, is responsible for file access and program management.
b) FDCONFIG.SYS which is a text file to configure freedos.
c) AUTOEXEC.BAT which is a batch text file containing commands to run at startup including setting Path, configuring keyboad, display, load a menu and so on.
d) BOOTSECT.BIN which is a copy of bootsector.
e) COMMAND.COM contains some built in command line commands including DIR, CD, COPY, DEL. External commands are found in C:\FDOS\BIN.

6. How do I configure memory such as Upper, Expanded and Extended RAM in DOS?

In MS-DOS you you use HIMEM.SYS to configure high (HMA) and extended memory (the memory above the first 1MB). It is required for Windows or Windows for Workgroups to function.
e.g. In CONFIG.SYS enter DEVICE=C:\DOS\HIMEM.SYS /Testmem=off to turn on the memory manager HIMEM.SYS.

The EMM386.SYS is required to make use of Upper Memory (the 384MB above Convential RAM) called Upper Memory Blocks and allow Expanded RAM to be simulated in Extended RAM for some programs. The DEVICEHIGH and LOADHIGH (LH) commands make use of UMBs to free up space in Convential RAM for drivers.

For Example, this command turns on Extended RAM and UMBs, but turns off Expanded RAM support:
DEVICE=C:\DOS\EMM386.EXE NOEMS

The following command for DRDOS,and using networking, then DOS may crash on bootup so you need to modify CONFIG.SYS to exclude E000-EFFF memory range
DEVICE=C:\DRDOS\EMM386.EXE DPMI=OFF FRAME=NONE EXCLUDE=E000-EFFF

FreeDos, has multiple more up to date memory managers including
a) JEMMEX.EXE - an expanded memory manager (see jemmex)
b) JEMM386.EXE - an expanded memory manager based om EMM386 but is faster, smaller and can be loaded from the command line (see jemm386)
c) HIMEMX.EXE - is a high memory manager loaded via FDCONFIG.SYS (see himemx)
d) XMGR.SYS - is a XMS memory manager (see xmgr). This one is compatible with Windows 3.1 for FreeDos.

Use the MEM command to display memory and usage, the /C option will display what is loaded in the Upper Memory Blocks to help you optimize memory usage.

7. How do I configure CDROM drivers in DOS?

You can use CDROM with DOS if you have the driver for it. You can use the OAKCDROM.SYS provided with Windows 95/98/Me boot disks, from Manmrk.com or the SoundBlaster SBIDE.SYS driver or UIDE.SYS with FreeDos.

To enable the driver specify the driver in CONFIG.SYS and then load the CDROM Extensions in AUTOEXEC.BAT.
e.g. Config.sys: DEVICE=C:\DOS\OAKCDROM.SYS /D:IDECD001

Autoexec.bat: MSCDEX /D:IDECD001 /L:D
or NWCDEX /D:IDECD001 /L:D

The name for /D switch can be anything you like but must match the name in the Autoexec.bat file. You can specify the drive letter using the /L switch.

Try using SHSUCDX driver (also available with Freedos) instead of MSCDEX which allows you to read ISO disks that use lower case characters for filenames where MSCDEX cannot read them. Also try the DOSLFN command for Long FileName support.
E.g. SHSUCDX.EXE /D:IDECD001,D to mount it on D: drive.

8. Can I use a Mouse driver in DOS?

Mouse drivers can be useful for some DOS applications including EDIT and QBASIC. A driver is not usually supplied with MS DOS, but you can download MSMouse 11 from Software Patch or Cute Mouse.

FreeDos comes with its own mouse driver called CTMOUSE (Cute Mouse).

9. Can I use DOS or Windows to join a network?

Yes, but you can use the Microsoft Network Client 3.0 (available on Windows NT4 Server CD- not the workstation one) but it can be use up all the memory when loading drivers and TCPIP/IPX clients to connect to network. Drivers for VirtualBox require the AMDPCNet drivers (see the NDOS2 driver for Windows 3.1) which needs copying to the hard disk before running setup to install the client. Note that TCPIP can use a lot of memory and may fail to load.

Insert the CD, goto the d:\Client\MSClient\disks\disk1 folder and run Setup to install the Network client, and browser for the PCNTND.DOS file location to load the driver. Select TCP/IP for network protocol. For full installation see these instructions.
Use the NET.EXE (with no options), to connect to a share on another computer.
To share drives on MS DOS you need the Workgroup Add-on for MS-DOS, then you can use the tools (NET SHARE) to share files and folders with other computers.

Windows 3.1 does not fully support TCP/IP, it will support early Novell Netware (IPX), Microsoft LAN Manager, 3Com 3+Open, Artisoft, DEC Pathworks, TCS 10Net. But TCPIP requires DOS drivers. FreeDos supports Windows 3.1 but only in Standard mode (WIN /S). There is no Guest software to setup shared folders, but you can create a normal shared folder on WFW by using File Manager, select a folder and select Disk menu, Share as menu option. The share will be then be visible on your host system e.g. \\IP-Address\Sharename.

An alternative method, is to use a network packet driver (PCNTPK.COM) for NEC NE2100, and an external TCP/IP kernel such as NTCPDRV.EXE or DHCP.EXE to configure the PC for IP networking. Freedos already includes most of these basic network tools.
e.g.
C:\NET\PCNTPK.COM INT=0x60
C:\NET\NTCPDRV.EXE -IP=10.0.0.34 -NETMASK=255.255.255.0 -GATEWAY=10.0.0.2 -DNS-HOST=10.0.0.2
or

C:\FDOS\BIN\PCNTPK.COM INT=0x60
C:\WINSOCK\WINPKT.COM 0x60 (Trumpet Winsock packet driver)
C:\FDOS\BIN\DHCP.EXE

If you want to use TCP/IP with Windows 3.1 then you also need to install Trumpet Winsock and load the above Network packet drivers before starting Windows, then run C:\Winsock\Tcpman.exe in Windows before you can start using Windows network applications, such as Netscape.

The best way to network, is to use Windows for Workgroups 3.11 (WFW), which allows you to install networking properly, without using up precious conventional memory with DOS drivers.
Note, please use MS-DOS as the DOS system for WFW as others may not work properly.

Sharing files with MS-DOS
Windows 3.1 utilities including Winsock
Networking with Windows 3.1
Networking with Windows for Workgroups 3.x
TCP/IP for Windows for Workgroups
mTCP network utilities
Windows 3 updates

10. How do I setup Localisation and Keyboard Drivers in DOS?

You can change the default US English to UK layout using the following commands in the startup files.
Config.sys:
DEVICE=C:\DOS\DISPLAY.SYS CON:=(EGA,437,6)

Autoexec.bat:
MODE CON CP PREP=((437) C:\DOS\EGA.CPI)
KEYB UK

For more fine tuning, use the COUNTRY settings and NLSFUNC command.
To set the date and time and other regional settings, set your Country code (see Help on codes). For example, UK,
COUNTRY=044,,C:\DOS\COUNTRY.SYS

In Freedos, the Country settings are configured like this:
COUNTRY=001,858,C:\FDOS\BIN\COUNTRY.SYS

11. How do I enable Sound in Freedos?

For DOS games, the only the only line required is the SET BLASTER line in Autoexec.bat e.g.

a) AWE32 settings.
SET BLASTER=A220 I5 D1 T5 P330 H6 E620

b) SB Compatible card without music
SET BLASTER=A220 I5 D1 T5 H6

where the values are Address(A) , IRQ (I), DMA (D), MIDI (P), High DMA(H) and Awe32 (E).
The type can be of the following values:

1. Sound Blaster version 1.0 and 1.5
2. Sound Blaster Pro or Pro compatibles with SPC-2 chip
3. Sound Blaster version 2.0
4. Sound Blaster Pro or Pro compatibles with SPC-3 chip
5. Sound Blaster 16
6. Sound Blaster 16 ASP

11. Where can I get applications for DOS and Windows?

Try the following sites for programs, tools, utilities and other drivers.

To copy files to your DOS system, you can use the following methods:
a) Burn the files into an ISO file, which you can mount onto DOS system to copy them off.
b) Use Microsoft Network to share local drives with host system (Windows 3.11 shares works best).
c) Use FTP client to connect to a file server (IIS FTP or Filezilla) to download/upload files (see mTCP above).

Updates:
Old Files

Windows 3.1 Software

Programs:
Winzip
Netscape browsers
Internet Explorer browsers
Internet Explorer 4 to 5