What is 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
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
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
DEVICEHIGH=C:\WINDOWS\RAMDRIVE.SYS 2048 /E
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 install Windows 1 (1985) or 2 (1987) as they are merely
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
If installing version Windows 95A,
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 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) and 10 (NT 10.0), 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
Calmira: Making Windows 3.x Look Like Windows
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
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
Calmira requires an i386 microprocessor or higher, Windows
3.1x, at least 4 MB of RAM, a VGA monitor or better and a mouse,
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=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.
COPY SYSTEM.INI SYSTEM.BAK
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
COPY CONFIG.SYS CONFIG.BAK
Then you can change SHELL=PROGMAN.EXE to
Packard Bell Navigator (c. 1994) by Packard Bell
TabWorks (1994-1997) by Xerox
Read about OpenGEM as a full
Windows 3.1x replacement on old i386 and i486 PCs.
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
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.
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
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.
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.
Windows does not come with a package manager. The concept of a
single location where anyone can find 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 — is foreign in
Windows and most users. 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
choco install chocolateygui
Chocolatey handles the installation and all configuration while
your boss thinks you are the best systems administrator he has
ever hired. 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
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).