Windows 3.1 / 3.11 MenuSlimming Down Windows 3.1/3.11Full screen

      The new programs keep requiring more and more space. But many of the files are not necessary. All the files you may need for every possible computer the program may be installed and are cluttering up your hard drive. Windows 3.11 freshly installed with a network card takes up about 14mb. But the actual Windows runable is less than 2mb.

Windows Run from Floppy Disks

      You can run Windows from floppy disks. I have succeeded using two 1.44mb floppys in a computer with no hard drive. This method can get you by on the minimum memory needed for Windows 3.x, as little as 4mb. This is suitable for older computers with little memory, whether or not they have a hard drive. Using DMF formatting, you may be able to run from a single disk.

Windows On A Ramdisk

      Since today's computers are using FAT 32 partitions which Windows 3.1 can't run on, I have been experimenting with Ramdisks. My Packard Bell 386 (20mhz) has only 16mb of ram. If I create a 14mb Ramdisk to run it on, there is not enough memory left to run it. So I peared Windows down to fit. At this point it is about 5mb total on a 9mb ramdisk. It has a 2mb swap file also on the ramdisk. So I have about 2mb more space that I can fill and about 7mb of memory left for programs to run on. Far more than to 2 to 4 mb of RAM the computer had when I first used Windows 3.1.

      Because it is in ram memory, moving from window to window is quite fast. It move more like a 486x50. Time will tell how well other programs wil run on this "slow" computer.
 

Starting From Scratch

      The minimum files that Windows will run from are:
In the Windows Directory you need:
 main.grp5120  progman.exe115312  reg.dat2825  win.com50904 
 mouse.ini24  progman.ini238  system.ini2452  win.ini3464 
These files total: 180,155 bytes
 
In the Windows\system Directory you need:
 comm.drv5968  mmsound.drv3440  user.exe264096  vgasys.fon7280 
 dosx.exe32682  mmsystem.dll61648  vga.3gr16384  vtdapi.3865245 
 gdi.exe220800  mouse.drv10672  vga.drv73200  win386.exe577557 
 keyboard.drv7568  shell.dll40944  vgafix.fon5360  winoa386.mod49248 
 krnl386.exe76400  system.drv2304  vgaoem.fon5168  wswap.exe16302 
These files total: 1,482,266
The total for Windows is: 1,662,421 bytes.
These two files will change depending on the Video driver you load: vga.3gr vga.drv
If you load Super VGA, they will be: vddsvga.386 svga256.drv

      Now, of course it is void of any programs. So it is just there. So now you add the files you need for whatever programs the files are needed for. You can keep many files in reserve until they are needed. Help files you probably won't need once you have the Windows set up the way you want it. CPL files aren't needed unless you need to change something with the CONTROL PANEL.

The Menus Groups

      Lets start with the Menus. These are the GRP extension files. Windows 3.11 creates the following (Main.grp was skipped as it was included in the Required section):
In the Windows Directory you need:
 accessor.grp8723 The Accessories Group network.grp6508 The Network Group
 games.grp42 The Games Group startup.grp44 The Startup Group
 dosprmpt.pif545 DOS Prompt PIF _default.pif545 Default PIF Source

The Control Panel

      The control panel is only required when you need to modify settings. The files required by this are:
 control.exe The Control Panel control.ini148592 Control Panel Information
 cpwin386.cpl111760 The Windows Setup Program main.cpl148592 The Drivers Setup Program
 drivers.cpl41440 The Drivers Setup Program snd.cpl8192 The Sound Drivers Setup Program
 fax.cpl2048 The Fax Program driver Setup 
Additionally, these programs will need:
 lzexpand.dll23712 All  ver.dll9696 All 
 ncdw.dll41264 All  wfwsetup.dll337008 All 
 setup.inf57701 All  commctrl.dll48112 File manager 
 commdlg.dll97936 Multiple   network.inf58618 Network Setup-Vendor  
 winnet.inf14691 Network Setup-Vendor 
These files total: 1,020,251 bytes

      These files could be stored in a ZIP file or other location until needed.

The Network
DOS

      If you are running a Network Card with Windows For Workgroups 3.11, you will need the following files:
To operate only as a client (DOS or Windows):
 ifshlp.sys4548   ndishlp.sys4464   
 net.exe433829 The DOS Networking Program net.msg75697  
 neth.msg122333   protman.dos21940  
 protman.exe13782   protocol.ini528 Set Up by Windows
 wfwsys.cfg840 set up by Windows de22x.dos28832 Card driver from vendor
 ipxodi.com39748 Protocol driver from vendor

      The Network can be connected at DOS and will be available in Windows. However, Windows will not have the ability to change it or act as a server if it is connected at DOS.

The Network
Windows

      Net Start must be run before starting Windows. However, the Network should not be Logged on to at DOS. To run the Network from Windows, you need the following files in the SYSTEM directory:
 ifsmgr.38665625  lpt.3865917  ndis.38627846  ndis2sup.38623224 
 netbeui.38637043  nwlink.38633316  nwnblink.38637988  serial.38611112 
 vcache.3869862  vcomm.3865688  vnetsup.38614647  vpmtd.3865653 
 vredir.38685746  vserver.386101054  vshare.38614925  wfwnet.drv308864 
Options in the Windows directory are:
 logonoff.exe8192  winmeter.exe92992  winpopup.exe28528  netwatch.exe40448 
 msmail.exe302502  rasstart.exe13312    netwatch.exe40448 

      From here you can add the sound card and any other accessories you may want. Many of them include the drivers they need and add them to Windows. I will have to experiment with that next.
 

Storage

      Since I run this on a Ramdisk, I have to copy the files to the Ramdisk each time the computer is re-booted. I store them in a ZIP file created by PKware's PKZIP program. This can be stored on a hard drive, a ZIP disk, Floppy disks, or a Network Drive. As I make changes to Windows, I must update the ZIP files.

      To minimize the space required for the Windows (and any other added programs), any files I don't normally need (Help Files, Control Panel Files, Etc.) can be stored in separate ZIP files. When I need to make changes, I can add them while I make the changes. By keeping track of what files those are, I can delete them when the changes are complete. A Batch File would work for that.

      This keeps the unpack time down when starting and minimizes the size of the Ramdisk required. Unzipping 14mb of 300 plus files takes much longer than unzipping 5mb of 90 files. You could, of course, load and run Windows from a ZIP disk (or a CDROM or Network), but that defeats the speed increase of running on a Ramdisk.
 

Run Windows 3.x from Floppys

      Since a RAMDISK is using memory, on older machines that have very little, say 3 or 4mb, once you load file to a Ramdisk, there won't be enough to run Windows. Using DOUBLE SPACE or DRIVE SPACE, you can fit a running Windows on a single 1.44 floppy disk. However, the boot files needed plus the Windows files are a little too much for one disk. But there is a way. This Windows, like the Ramdisk Windows can be run on a computer with no hard drive.

      First you need a boot disk using DOS 6.2 or 6.22.

Step one: Make a boot disk. Put a blank floppy disk in drive A. Get to the C:\> prompt and type:
sys a:
When it is finished you should have:
IO.SYS
MSDOS.SYS
COMMAND.COM
DBLSPACE.BIN
on the disk (DRVSPACE.BIN if using DOS 6.22). You will need to add:
DBLSPACE.INI
which you will create containing the lines:
AutoMount=1
FirstDrive=R
LastDrive=R
MaxRemovableDrives=1
MaxFileFragments=111
ActivateDrive=r,A0
Set the Attrib for this file to R,H,S.

Now you use DBLSPACE to compress the disk.
DBLSPACE /COMPRESS A:
will create a compressed file dblspace.000 on the floppy disk in drive A and Mount it. The actual Drive A will become Drive R (the letter I have specified in the dblspace.ini file).

The COMMAND.COM should be the only file on A drive (now compressed). The other files should remain on the uncompressed drive (now R drive).

Copy the following files to the now compressed disk:

command.com
dblspace.sys
himem.sys
mem.exe

Make a windows and windows\system directory. Copy:
emm386.exe

to the Windows directory. This may be the only file in these directories. There are 2 reasons for this.
1) EMM386.EXE needs to be loaded at boot. Windows will look for it in the same location when it starts. So this file must be on both disks.
2) If you are in the A:\windows\ directory and change disks and there is no a:\Windows\ directory on the new disk, the doublespace will unmount and you will crash.

Next create a CONFIG.SYS file with the following lines in it:

DEVICE=HIMEM.SYS /testmem:off
DEVICE=windows\EMM386.EXE noems
DOS=HIGH,UMB
files=40
buffers=40
STACKS=9,256
lastdrive=Z
shell=a:\command.com /p
devicehigh=DBLSPACE.SYS /move

Save that to the A:\ drive (compressed).

Next create the AUTOEXEC.BAT with the following:

echo off
path=a:\;a:\windows
prompt=$p$g

Save that to the A:\ drive (compressed). You can add other drivers such as a CDROM driver, ZIP Drive driver, and/or Network drivers. With the exception of the EMM386.EXE and the COMMAND.COM, none of these files will be needed after the boot. If you want flexibility, create a BOOT MENU. With that you can choose bare Windows, Networking, CDROM and/or ZIP Drive or a combination of these.

Next you prepare the second disk. This will contain the minimum Windows files listed above. You can add what other files you can fit on the disk. This disk will also be compressed. But the whole disk will be used for the compressed file. Start with a blank disk and select:

DBLSPACE /COMPRESS A:

Now copy the windows files to the disk. You should also copy COMMAND.COM to the root of this disk.

Note: If you are copying Windows files from C drive, INI files and GRP files may be pointing to C drive. You must modify these for them to work on A drive.

The first disk is the Boot disk. This second disk is the Windows start disk. These should get you into Windows. But I suggest a third disk which you could call Windows Run. This could have other files to make Windows do what you want and other programs you want to run after Windows has started.

THE OPERATION

      When you boot from the boot disk the compressed drive is mounted before you see a DOS prompt. You could add instructions in the autoexec.bat if you want telling you when you run the next disk. When the boot stops, you can place the second disk with Windows on it in the drive. Provided you do not cause the drive to be accessed while the disk is out, it should think it is still on the same compressed drive. However, you now can type WIN and start Windows. You may get an error that the DBLSPACE.BIN cannot be found. However, Windows seemed to work in spite of this. That file was on the boot disk. So it is not accessible after you change disks.

      Once Windows is started, I find that it does not need most of its files. So you can insert a third disk with other files and programs you want to run that would not fit on the second disk. You could add such files to the first disk. But it may have little space left. You could probably create several compressed disks with files for what you want to run. You will have to experiment to see what files you can get along without on each disk and still run the Windows the way you want.

      While this makes it possible to save work to a floppy disk, it is important that each floppy disk used is compressed and has the same file structure on it. If you put a standard (non compressed) floppy in the drive and try to read it or write to it, the Doublespace will unmount the disk and the system will crash.

      I did this using Windows.3.11 WFW. Older computers such as a 286 cannot use Windows 3.11 as it has no Standard Mode. While this method will work for Windows 3.1, I don't know if Doublespace will work on a 286 computer.

PoliTalk Technical Menu
E-Mail

Comment to PoliTalk
And That's My
My Two Cents

Updated August 20, 2002
1