What is Microsoft Windows?

During the first decade of Microsoft Windows (versions 1.01 to 4.00.950A), Windows ran on MS-DOS and was merely a glorified shell, not really an OS regardless how many times Microsoft says otherwise. For the first ten years, Microsoft marketed it as a stand-alone shell, not an OS.

With the release of Windows 95B (Windows 4.x running on MS-DOS 7.x) in 1996, Microsoft marketed Windows as a stand-alone OS.

Windows 98, 98SE and ME continued with this misunderstanding and misconception. For these reasons, many people say that 95B and up are real operating systems. Because 95B and up run on a hidden layer of MS-DOS 7, buried in C:\WINDOWS\COMMAND, many others (myself included) say that Windows 4.x in general is a descent tool, but not a real OS.

With the release of Windows NT 3.1, Microsoft finally dropped the MS-DOS-dependent Windows 4.x kernel.

Windows NT 4.0 and up offered some compatibility with 16-bit applications.

Windows XP (NT 5.1) offers little to none whatsoever. I really do not care about any version past 98SE since I stopped using Windows after Windows 2000 (descent version) in favor of PC-BSD (2005) and then Linux soon after (original run in 1999 and then ever since 2009). As such, this page mostly covers my experience with Windows 3.1x to 98SE.

Installing Windows 3.1x:

I rebuilt an old (a junker) i386 PC for fun, just because I could. I installed MS-DOS 6.22 as the OS and the Windows for Workgroups 3.11 users with the Calmira shell. Rebuilding an old computer makes interesting project, from which one can learn a lot about old hardware and old software.

For Windows 3.1x and 4.00.950A (Windows 95A, first edition), you must first install MS-DOS because they are not bundled with MS-DOS. Read the instructions on installing MS-DOS.

For Windows 95B (1986) and up, you can bypass installing MS-DOS running FDISK.EXE and FORMAT.COM using a boot disk (FAT32). Windows 4.xx (95, 95B, 95C, 98, 98SE and ME) includes MS-DOS 7 and does not have low-level memory utility. Because MS-DOS 7 is direly limited, I recommend you to install MS-DOS 6.22 and run memory management. Note that MS-DOS has MEMMAKER and PC DOS has RAMBOOST.

Windows 4.xx (95 to ME) has CONFIG.SYS, a system file that can create a RAM drive to speed up whatever you do. Of course, do not save anything there that you need or want to keep. Add the following line to CONFIG.SYS to optimize your system.


The latter creates a virtual disk of 2048 bytes (2 MB) assigned as E:, which is nothing by today's standards, but significant if using an i386 or i486.

Do not bother installing Windows 1 (1985) or 2 (1987) as they are merely useful.

If you are installing Windows 3.1x, (6 floppies for Windows 3.1x; 9 floppies for and the Windows for Workgroups 3.11) do not forget to install Calmira on your PC. Also refer to my instructions on how to maintain the HDD in a i386 computer running MS-DOS and Windows 3.1x.

If installing version Windows 95A (1995), get ready for twenty-one (21) floppies. For the record, IE is not included. You can get any 16-bit web browser on floppies.

Installing Windows 95B or Later:

If installing Windows 95B (1996) or later, make sure the BIOS will read CD-ROM first. Reboot the system with the Windows CD-ROM. Once the CD-ROM starts running, watch TV or something exciting for the next half an hour or longer. Finally follow the last steps of the installation and registration (no way around it nowadays).

The architecture of Windows 4.xx can be FAT32 while MS-DOS is FAT16. Do not change the structure of the File Allocation Table (FAT) running C:\WINDOWS\CVT1.EXE. If you do, you would have wasted about an hour of work and possible access to your upper memory and extended memory blocks.

If installing Windows 95B or later from a recovery disk, forget everything that you have read so far. Most recovery disks do not have the OS with SETUP.EXE and all the .CAB files (as you would buy it in any store). These recovery disks are merely disk images with the OS, drivers and whatever other junk the manufacturer wants to promote — usually as shareware. These recovery disks are also BIOS-locked. This means that only an recovery disk from manufacturer `A` will work with a certain BIOS specified by manufacturer `A`. Therefore a recovery disk from manufacturer `A` will most likely not work on a PC from manufacturer `B` most of the times. Try booting your PC with the recovery disk. Most likely the PC will boot to an installation program and follow whatever instructions you are given. Every manufacturer makes these recovery disks differently. There is no way to work around this problem. This is the result of Microsoft's Piracy Policy.

If installing Windows NT 4.0 or later including Windows 2000 (NT 5.0), XP (NT 5.1 and NT 5.2), 7 (NT 6.1), 8 (NT 6.2), 8.1 (NT 6.3), 10 (NT 10.0) and 11 (also NT 10), first get a list of what hardware is in your PC. At the beginning of the installation, there are various questions about hardware. Follow the same steps as for 95B, but you will not get much of a break. The installation is more interactive. Make sure that you select NTFS (New Technology File System) instead of FAT32 (File Allocation Table 32-bit) when asked for the file format system. NTFS will give you more protection and privacy, in a multi-user OS. After you finish installing Windows 2000 or later, refer to the Black Viper website to know what services (programs running in RAM all the time, sometimes without your control and/or interaction; referred to as a daemons in Unix) can be stopped and/or disabled.

Calmira: Making Windows 3.x Look Like Windows 95:

Calmira was originally developed by Li-Hsin Huang under as Calypso. Nowadays Erwin Dokter, Brian Johnson and other developers work on this "shell for Windows 3.1x that adds Windows 95 look and functionality" coded in Object Pascal (Delphi).

By Self-taken screenshot., https://en.wikipedia.org/w/index.php?curid=971355

By Self-taken screenshot., https://en.wikipedia.org/w/index.php?curid=2397632

If you are still running Windows 3.1x at home or work, Calmira is a shell worth trying. It is very good, user-friendly and free.

Calmira Desktop ({Information Description=Screenshot of Calmira Desktop Source=Own work Date= Author=Edokter Permission={pd-self} other_versions= })

Calmira requires an i386 microprocessor or higher, Windows 3.1x, at least 4 MB of RAM, a VGA monitor or better and a mouse, of course.

The new version of Calmira has an installer. Just follow the proper instructions. The older versions do not have installers. You simply copy the decompressed files to a directory outside C:\WINDOWS or C:\DOS. A good idea is C:\CALMIRA. At this point, run CALMIRA.EXE.


If you want to bypass PROGRAM MANAGER (PROGMAN.EXE) to start, edit SYSTEM.INI changing SHELL=PROGMAN.EXE to SHELL=C:\CALMIRA\CALMIRA.EXE considering that the latter is the correct path for the Calmira executable. It is a good idea to back up the original SYSTEM.INI first.


I installed Calmira on my no-name i386 computer running a whopping 40 MHz with 20 MB of RAM that I owned at the time. Calmira merely uses 4 KB of RAM.

It took me under twenty (20) minutes to learn what Calmira can and cannot do. As usual, I did not read any instructions because "real men do not need instructions" (a joke between my best friend and me).

Other Replacement Graphic User Interfaces for Windows 3.x & 95:

Before you do any changes, remember to back up SYSTEM.INI.


Then you can change SHELL=PROGMAN.EXE to SHELL=[path_of_shell].

  1. Packard Bell Navigator (c. 1994) by Packard Bell
  2. TabWorks (1994-1997) by Xerox

Read about OpenGEM as a full Windows 3.1x replacement on old i386 and i486 PCs.

Memory Management:

Probably from all the operating systems I have used, Microsoft Windows might have the worst memory management. I have had to write batches to clean up left over garbage. As such, CLI might still be the way to manage a Windows machine.

There are also third-party utilities that handle memory management in the newer versions of Windows, but most of these are not loaded on boot. Hacking the Windows Registry can also be used to clean the PAGEFILY.SYS file.

Newer Versions:

When I first started working on this page, not to mention VintageOS as a whole, Windows NT 4.0, Windows 2000, XP and 7 were the newer Microsoft technologies. Mobile device versions of Windows were shabby and have never acquired a descent market share. Case in point, sales of Windows CE and Windows Mobile were nowhere near iPhone (iOS) or Android.

my experience with Microsoft's attempt of a mobile device OS has been less than exciting. Windows CE was Microsoft's PDA, which was a pain to configure its synchronization via a serial cable.

Microsoft's attempt to make a smart phone has included acquisitions of Danger Hiptop (Sidekick) and the Lumia division from Nokia. Microsoft failed miserably and discontinued these attempts in 2017 opting to port its apps to iOS and Android.

Although I had a Windows Phone for work, I did not care for it. My unit was nothing more than a glorified portable FM radio with an .MP3 player and a 4" display. Surprisingly I found an app in the Windows Phone Store that I really liked — MS-DOS Mobile 1.0 released by Microsoft Studios as an April Fool's Day joke, which emulated MS-DOS 5.0 with Windows 3.1x and includes an ASCII/CGA camera filter.

MS-DOS Mobile — DIR C:\>

MS-DOS Mobile — DIR C:\DOS>



MS-DOS Mobile — access to C:\SYSTEM> denied

MS-DOS Mobile — DIR C:\TEMP>



MS-DOS Mobile with Windows 3.1 (splash screen)

MS-DOS Mobile with Windows 3.1 (shell)

It is said that an OS is as good as its applications (apps, in this case). Microsoft Phone has a poor library — hence its weak market share. The latter is heavily impacted by limited user space. The model that I was using had only 4 GB, which is used by apps (all files inaccessible and hidden even when mounted) and user files (\Documents, \Downloads, \Music, \Ringtones and \Videos). To make matters more annoying, although the unit has a slot for a microSD, the card was not seen by Windows Phone unless resetting it clearing all user configuration with the card in place.

Needless to say, Windows Phone is much more difficult (not to mention frustrating) to use than Android, iOS and even the now defunct Palm. It actually made me really miss my previous beat up Android mobile phone even if it was broken, literally falling apart and held together with electrical tape. I was glad when it broke and I got a crappy Android replacement a few months later.

Package Managers:

Windows now comes with its own package manager — winget. This means that Windows now offers a facility that finds software for installation and updates on any computer running Windows, which also installs and updates all dependencies (libraries and other programs needed) — commonly referred to as packages.

        winget install python3

There are third-parties that handle this need usually at corporate level. I use the free version of Chocolatey to manage applications and their dependencies like run-time environments (if available in the vendor's repository) in my Windows machines as have no interest to manually check which and when software needs to be updated. I am not saying that you should install Chocolatey, but it is simple to use specially when you install its GUI or if you like to use CLI using the choco command.

        choco install chocolateygui

Chocolatey handles the installation and all configuration while your boss thinks you are the best systems administrator he has ever hired. It can even upgrade all applications automatically via a scheduled task (cron job) or manually.

        choco upgrade all -y

Of course, there are other applications in the market that you can chose from that handle the same job, but I have not seen another for end-users. By the way, I am not getting paid for promoting the product. It is just a good idea to bring package management into the Windows much too often poorly managed and disorganized environment.

Note that the problem with all package managers is that you depend on someone — most likely the vendor creating the package and distributing it to the repositories. If a package has not been distributed and therefore is not available at the repository, the package manager cannot compare versions and offer you the new version. I have seen this issue with some Windows applications where a vendor fails to produce the package on time although relying on the package manager for distribution and sales (getting new customers).