Windows 98 & 2000 Pro

This page Copyright (c) 2003-2005 P.R. Nienhuis, Amsterdam
Last updated 12 June 2005


Windows 98
  Issues with HD > 8.4 GB on Win9x/ME
    How to show Win9x/ME disk space beyond 8.4 GB
    Dealing with the hibernation space
  Win98 hibernation issues in presence of other operating systems
    Installing Toshiba Win98 elsewhere on disk
    Patching MSBATCH.INF
  Adapting Win98 to my preferences
  Taming down Windows 98 with 98Lite

Windows 2000 Professional
  Slipstreaming service packs into the installation CD
  Adapting Windows 2000 to my preferences
  Specific Windows 2000 issues on the Libretto
    Reducing Win2K's work load
    Taming down Windows 2000 using external software
       Fred Vorck's web page
       Nuhi's nLite
    Recovery console
    Compatibility mode
    Toshiba Power Saving mode
    Display switching and hibernation

Combining Windows 98 and Windows 2000 Pro
  Sharing the swap file
  Sharing software packages
    To be installed/upgraded in each OS separately: e.g., Internet Explorer
    To be installed in each OS separately but upgraded in just one OS
     MS-Office 97
     Corel WordPerfect Office 10, Easy CD Creator 5.x, Processing Modflow 5.1
     Netscape, Mozilla, Opera
    Sharable by installing in one OS and then just copying shortcuts
     Cygwin, Octave

  Changing Win2K's boot drive letter (not for the weak of heart!)
  Win2K's support tools

It is probably wisest to install both Windows 98 and Windows 2000. Using pure DOS (which can be booted if Win98 is installed) one can fiddle around with the Win98 system files; using DOS and/or Win98, one can fiddle around with the Win2000 system files, that is, if Win2000 has been installed on a FAT32 partition.
If you install Win98 first (on a logical partition), subsequent installation of Windows 2000 Pro automatically installs multibooting between Win98 and Win2000.


Obviously at first sight there is not much to mention about Win98 itself. It just works.
Earlier I wasn't too satisfied with it as e.g. Windows 95. MS-Office 97 was not so stable under Win98 but later on I found out that this was caused by some glitches during application of Office 97 service packs (see below). OK, Win98 after a restore took 650 MB (compare that with Win95: just 300 MB) but with today's hard disk sizes that is not an issue anymore. Stripping away all the Channel shit and other Favorites suggestions is a piece of cake.

However, as regards Win98 on a Libretto there are (IMO) two major issues:

  1. The 8.4 GB hard disk size limit imposed by the BIOS only on Win9x/ME;
  2. Hibernation in presence of other operating systems on the Libretto.

Note: On this page I'll use the SI definition of GB: 109 rather than 230 bytes. FYI: the latter "GB" equals about 1.074 SI GB.

The Libretto 100 & 110 feature hibernation by the BIOS. It seems that when Toshiba engineers designed the Lib 100/110 around 1998 or so, they thought that during the Lib's lifecycle hard disks larger than 8.4 GB would not need to be taken into account, surely not for a small computer as the Librettos which were probably seen as add-on PC's rather than day-to-day work horses. In addition, true 32 bit OS-es like Windows NT and 2000, let alone OS/2 and Linux, must have been beyond their horizon.

Toshiba designed an hibernation scheme which dumped memory etc. to a fixed place on the hard disk, not so much the first cylinders or on a special hibernation file on a FAT / FAT32 partition, but rather the last cylinders on the hard disk. To save this hibernation area from being overwritten by user data, the BIOS would report a smaller hard disk size to Windows than the actual size. The difference was ofcourse the disk space needed for hibernation, i.e. memory (32 or 64 MB) plus video memory plus probably some BIOS data plus some dedicated data structures, all in all somewhere around 70 MB altogether.
In more detail, the BIOS would (or to be more precise, could) only lie to Win9x/ME's FDISK disk partitioning program. Mind you, FDISK is the only Win9x/ME program which is interested in the total hard disk size. All other Win9x/ME disk programs and utilities simply read the MBR if needed and take for granted what has been written there (be it by FDISK or any other partitioning tool).
Now there are three more or less overlapping problems with this setup:

  1. Problem 1: Implied 8.4 GB maximum size
    The hibernation portion of the Libretto BIOS was never designed for hard disks larger than 8.4 GB. That means that the Libretto 100/110 BIOS simply can't report sizes larger than 8.4 GB minus the 70 MB hibernation space to Win9x/ME FDISK.
    Interestingly, Wilm Bockey (see below) found out that most if not all of the BIOS subfunctions needed for managing hard disks > 8.4 GB are present. The ones missing or incompletely implemented refer to reporting hard disk size. This means that once the partition info (sizes and locations) have been properly written to the MBR (i.e., not as reported by the Lib BIOS), Win9x/ME can access all of the hard disk including areas beyond 8.4 GB. Indeed, I found out that this is entirely true.
    It makes one suspicious that the Libretto BIOS has been deliberately crippled to accomodate the hibernation feature, or in other words, the hibernation stuff might be a just a gross kludge.

  2. Problem 2: Only DOS FDISK could be affected, all other OS-es were neglected
    There exist operating systems which do not use the BIOS to establish hard disk sizes, but bypass the BIOS altogether and simply ask it the hard disk itself. When installed alongside Win9x/ME the two different ways of finding out hard disk size might make for interesting confusion.
    N.B. 1: Such OS-es use the BIOS disk routines only during initial stages of booting.
    N.B. 2: There are very good reasons for operating systems to bypass the BIOS. One of the most important ones is that most of the BIOS code is not reentrant, that is, a routine must be finished before it can be entered again. Therefore you can't have two copies ("invocations") of BIOS routines running concurrently, a thing which modern multitasking and multi-user OS-es simply can't live without. Another very important reason is that most if not all BIOS code is 16 bit code, while all modern OS-es are 32 bit throughout. The BIOS routines are actually a DOS legacy, and FDISK, the program used for disk partitioning, is still a DOS program.

  3. Maximum hibernation area location is 8.4 GB, also on bigger hard disks
    No matter how large the hard disk is and whatever operating system has been installed, the BIOS always hibernates to what it thinks are the last cylinders of the hard disk, i.e. the last cylinders before and around the 8.4 GB limit.
    N.B. 1: W. Bockey also found out that the BIOS hibernation routines use the int13 extensions themselves! Indeed, it turns out that the hibernation area usually lies from cylinders 1017 to 1026 (i.e. well beyond cylinder 1023 which is the last cylinder to be read in case of absence of int13 extensions). It leaves the reason as to why this 8.4 GB hibernation area limit exists in the first place, quite enigmatic.
    N.B. 2: Xin Feng suggests that MaxBlast II is able to move the hibernation area to the end of the hard disk. I doubt this, because if that were true MaxBlast must know about the very specific Libretto BIOS limitation and be able to find out whether write requests to the original (around 8.4 GB) hibernation area originate in native software applications or in the hibernation BIOS routines. The latter is not impossible, but quite a hassle, especially if running plain DOS, and IMO therefore quite improbable. But who knows...

To overcome problem 1 there are many alternatives.

To overcome problems 2 and 3, one must take some simple precautions when partitioning the hard disk.

How to show Win9x/ME hard disk space > 8.4 GB

If you've well grasped the info above, you'll realize that the only thing which is needed is proper entries in the Master Boot Record (MBR). To get them there,

=> simply use a different partitioning tool than Microsoft FDISK. <=

Really, it's that simple. Once the proper entries are in the MBR, Windows 9x/ME will be able to access all of the hard disk space (that is, at least to 32 or perhaps even 128 GB, the next disk translation limits).

To be honest, I found that logical FAT32 partitions beyond the 8.4 GB limit which are not made by Windows 98 itself cannot be recognized properly, let alone formatted reliably, by Win98. This is due to my extended partition type being "5" rather than "f"
(I need "5" because OS/2 doen't recognize type "f" extended partitions -- a fix exists but that has other -severe- disadvantages :-( ).
I had these FAT32 partitions formatted by Windows 2000 Disk Management and after that, Win98 recognized them properly.

Nevertheless, here are five suggestions to access all of your HD from within Win9x/ME, in increasing order of preferablity, least preferrable mentioned first (1), most preferrable last (5):

  1. Partition your hard disk in another computer
    Put your Libretto hard disk temporarily into another computer and partition it there (do not install operating systems, just copy the OS installation files but don't proceed any further. OS installation must always be carried out in the computer it is supposed to run on).
    To be able to use your Libretto hard disk in a desktop you'll need a 3.5" to 2.5" IDE converter. Your best chances to find one are electronics shops.

  2. Use a disk manager
    Use a disk manager like Ontrack, EZ-drive or MaxBlast. A disk manager is nothing but a program which replaces those parts of the computer BIOS which manage the hard disk.

    As a result it "overlays" the actual drive geometry with a faked one (hence the name "drive overlay", although "overlay" may also refer to the faked replacement of the crippled portions of the BIOS). The net result is that it emulates a MBR which indeed has entries spanning the entire hard disk space.
    Although for many non-technical users this is an easy solution, there are some things to watch out for:

  3. Avoid DOS/Windows FDISK by using another operating system's tools
    Partition the hard disk from another operating system, e.g. Linux. I made several partitioning schemes while installing Linux, and Linux fdisk allows you to easily assign a certain partition type to any partition. Not only Windows swallowed these partitioning schemes without a hitch, also OS/2 Warp did (and OS/2 is extremely fussy about partitioning).
    In fact, because I still run Warp too, I made my final disk partition scheme using OS/2's FDISK.
    A potential complication is that MBRs contain redundant info on partitions: partitions are indicated by both starting cylinder/head/sector & ending cylinder/head/sector, as well as absolute start sector & size in sectors. And of course Microsoft uses the start & size sector stuff, and the rest of the universe the CHS-info (or the other way round, I can never remember). Luckily, most if not all partitioning tools write both types of information in the MBR, so there is little to worry about.

  4. Avoid FDISK and use specialized tools
    Use a dedicated partitioning tool like Partition Magic (commercial), Ranish Partition Manager (freeware) or whatever.

  5. Fix the wrong info conveyed to FDISK in the first place
    I personally prefer the solution handed to me by Wilm Bockey, i.e. use a temporary disk translator program called LDS100CT just before running win9x/ME FDISK. After the disk has been partitioned sufficiently so that Win9x/ME can run, FDISK is never ever again needed. Only in rare occassions you might need to do FDISK /MBR, but just before that you can run the temporary disk translator again, can't you?
    Note: LDS100CT works only on < 32 GB hard disks! (but it works good.)

  6. Wilm Bockeys LDS100CT program merely reverses the BIOS cheat to FDISK: it tells FDISK the real hard disk size, although Bockey may still have reserved by default 70 MB at the end of the hard disk if no parameters were given.
    Even if you will not use Bockey's solution, it is A Good Idea to at least read what he found out about the Libretto BIOS hibernation and disk translation issues.
    For some background, here is a very readable introductory text to hard disk translation issues.
Dealing with the reserved BIOS hibernation disk space on hard disks > 8.4 GB

The problem (as outlined above):

So the potential BIOS hibernation area must not be used for user data; to be more precise: it must not be contained in any user partition.

The exact location of the hibernation area seems to vary between hard disks. E.g., W. Bockey found that on his 20 GB hard disk cylinders 1018-1026 were used. I have a 15 GB hard disk in my Libretto; I had win98 FDISK make a partitioning scheme (w/o using disktranslators or the like) and I found the last extended partition reached up to cylinder 1016, so I reserved cylinders 1017-1027. Other people reported on the Libretto mailing list that they experimented with writing files to various cylinders and then checked if these were still untouched after hibernation/restore; reported cylinder values seem to range from 1010 (start) to 1040 (end). As each cylinder is about 7.8 MB, considerable disk space is wasted if the reserved area is taken too big. Remember, the total hibernation size needed amounts to only around 70 MB (64 MB main memory, 2 MB video memory plus some additional data structures).

So I guess that when you reserve cylinder nos. 1015-1030 it should always be OK. But what if your disk partitioning tool works in Megabytes?
If so, you should first ask yourself: "What megabytes?" - SI? (109) or "binary" megabytes (230)?
Once you found that out, you can start computing the necessary sizes yourself. Remember, in SI GB the start of the hibernation area lies around 8.422 GB (= disk limit) minus 70+MB = 8.350 GB. In "digital GB's" that would be about 7.775 GB.
A safe number for the end would be at cylinder # 1030, or 7 * 8 MB higher than the 1024 cyl. capacity (BTW we start counting at 0, 1 cyl. is about 8 MB), which makes 8.422 GB + 56 MB = 8.480 GB or 7.895 (both numbers rounded).
As you can see, the hibernation space proposed above amounts to some 130 MB; a bit overdone, but compared to the total hard disk size it means nothing.
On my Libretto, Win2K Disk Manager reports 7.805 and 7.899 "digital GB", resp., for cylinders 1017-1028. (Win2K clearly uses "digital GB's".) FYI, the way Linux fdisk perceives the partitions on my 15 GB hard disk is shown here. Take notice of partition 8: I assigned a dummy partition of type a0 to the hibernation space.



One of the more irritating problems I had with the Windows 98 version supplied by Toshiba is that it consistently screwed up the BIOS setting "Power-up mode". I like it to have set to "hibernation", but after every boot of Win98, this setting was reset to "boot", i.e. no more BIOS hibernation. The problem is that OS/2 nor Linux can be hibernated reliably anymore by pressing the power button. Win98 and/or Win2K still hibernate fine but do not seem to care much about other OS-es, more or less cf. the general inclination of Microsoft products.
Using the Toshiba OEM Windows 95 installation, this trouble did not occur. Of course I tried the Win95 Toshiba Controls in Win98, but then the hibernation problem occurred again. The combination of Toshiba Power Saver (the "hairy light bulb") and Win98 is the very problem.

A very simple way to solve the problem is to fire up Win98, click Start->Run and type MSCONFIG, in the System.ini tab in the [386enh]-section, remove the check mark in front of pwrsave.vxd, and reboot (and reset the BIOS Power-up setting to "hibernation").

Installing Toshiba Win98 elsewhere on disk

A somewhat involved way to cope with Toshiba Win98 hibernation behaviour is to install a final copy of Win98 not just from the Toshiba OEM Win98 CD-ROM itself, but using that installation to reinstall Win98 somewhere else without the Toshiba Controls (i.e., Power Saver and HW Setup applets, the former is the culprit but the latter cannot be installed separately from the former).
Once Toshiba OEM Win98 has been installed, a new Win98 installation can also be started, from the C:\Windows\Options\Cabs directory.
That way it is also possible to install it into a logical rather than a primary partition, which is especially fine if Win2000 is to be installed afterward.

  1. Copy the entire Windows\Options\Cabs tree to a safe place (e.g., the logical partition where the new Win98 install is desired, or a CD-ROM).
  2. Format the C: partition where windows was installed, or repartition your HD completely anew. Be sure that there is one primary partition formatted as FAT or FAT32, make it bootable and be sure to put the system files on it (FORMAT /S). BTW it *is* possible to boot DOS and/or Windows from a logical partition (using e.g. SmartBoot), but then it *must* be the very first FAT partition on your system.
  3. If needed, copy the Windows\Options\Cabs tree back to your HD, go to Windows\Options\Cabs and first of all, rename the file MSBATCH.INF to something else (but not ending on .inf). If you don't, the Toshiba Controls will be installed. You can also patch MSBATCH.INF (see below) to have a more automated install, like the OEM install,
  4. Win98 is not installed with ACPI support by default. To enable this, start Setup.exe (from within Windows\Options\Cabs) with at least the following flag: /p j (with a space in between and no slash before "j"; have a look here for an overview of other setup flags).

First, change the Windows installation directory in the [Setup] section from C:\WINDOWS to <drive_letter>:\WINDOWS (I used E:\Win98).
In addition, in the [InstalllocationsMRU] section, change the line "C:\WIN98" and replace it with a proper path name in your configuration.
If you want you can adapt the MSBATCH.INF file much more to your wishes if you have another Win98 somewhere and install the Resource Kit, in particular the Microsoft Batch 98 tool.


Although I liked working with Windows 98 on my Libretto for a number of years, I grew more and more irritated by some of its stupid naming conventions. One of those is the name "Program Files" for the directory where all programs are to be installed. No big deal for Windows programs, but quite often I want to access files in there from Linux and/or OS/2 and/or MSDOS text consoles and then I got a bit sick of having to enclose the path name in quotes or shorten it using the xxxxxx~1.yyy conventions in order to cope with the spaces.
So I changed the Program Files directory name a bit.
First of all I made a registry backup using the Windows 95 Emergency Recovery Utility (ERU).
Then, the second thing after installation, I copied the entire <drive>:\Program Files" tree to "C:\Programs" (on my primary partition, to be able to share programs more easily with Win2K).
Next I fired up regedit (Start Menu -> Run ..... and filling in regedit) and changed all occurrences of "C:\Program Files" *AND* "C:\PROGRA~1" into C:\Programs. It took some 20 minutes to find and replace them all by hand (I guess there are about 150 or so occurrences. I left the name of "Downloaded Program Files" alone.) (This has to be done as soon as possible after installation, as otherwise every installed program (in C:\Program Files) adds its registry keys in several places, only helping to extend the job of changing them.) Then I rebooted and deleted the entire "C:\Program Files" directory.
There are programs around to make such registry changes / replacements in one fell swoop. A good example is Registry Replace v. 1256, a free download from here. In spite of this great program, it is still advisable to afterwards comb yourself through the registry with Windows's own Register Editor to change keys skipped over unnotedly.

Finally, I searched and replaced all occurences of C:\Program Files to C:\Programs in the *.inf files in \Windows\Inf

If needed, in a similar way you can also change that/those other stupid name(s) i.e., "C:\My Documents" (make it MyDocs) and/or "My Pictures" (MyPics) etc. Better still, the relevant keys can easily be deleted, avoiding to having to start navigating always in "My Documents" while you know that the file you need is quite somewhere else.
In addition, it is necessary to change all occurences of these strings ("Program Files" and "My Documents", and "My Pictures" from the .inf files in \Windows\Inf.

An example of text console use is that I regularly back up files by copying them from one computer to the other. Using Explorer, always all files are copied, one cannot specify options like "copy only newer files". A quite involved way out is to select them by hand using the <Ctrl>-key - but then just one mistake or a vibrating finger on the <Ctrl>-key means I can start the selection all over. From a DOS box (or Command prompt in Win2K) I can just  type something like XCOPY *.* /d /s and have a drink while the computers sort it out rather than me.
Part of this frustration could be solved by a more sophisticated Explorer


Just a short note: When you find (like me) that your Win98 takes ages to load there are several options to make it a bit faster. These include the usual defragmenting, registry tuning and deselecting not needed services (see here).
One option I haven't tried is to use 98Lite. There is a free time-unlimited demo available. On the site you can also find IEradicator, a tool to wipe Internet Explorer and the IE-stubs which are silently loaded when booting Windows causing considerable booting delay.


WINDOWS 2000 Professional

Installation of Windows 2000 Professional is a bit difficult at first sight. Probably because of the Libretto PCMCIA floppy, Windows 2000 installation/boot floppies don't work - no CD-ROM is found.
However, you can install Windows 2000 from within Windows 98. You have to properly specify "Installation on another drive letter" rather than "Upgrade". Win2000's SETUP (in the \I386 directory on the Windows 2000 Pro CD) neatly shuts down Windows 98 as soon as the necessary installation files have been copied to hard disk. I read somewhere that in DOS mode, you can also run Winnt.exe from the \I386 directory, but that file was not present on my original Win2000 CD-ROM (probably it is only present on restore CD's for OEM install/restores)
BTW one can also copy the entire \I386 tree to hard disk, boot DOS and then run Setup.exe from the hard disk. It is very advisable to load SMARTDRV.EXE before Setup, that makes the difference between 4 hours or 45 minutes instalation time!

On the web many many pages can be found with interesting info on and tweaks of Windows 2000. So below I'll just mention the ones that were of particular interest to my situation.


Instructions for incorporating Service Packs and Hotfixes can be found e.g., here (Nero) or here (CDRWIN). I have added SP3 this way.
BTW, by patching the file Setupp.ini in \I386 and changing the last three digits in the line starting with "PID=" from 000 or OEM to 270, the setup process skips asking for your Product ID. Perhaps this is how "Corporate Licenses" work out in big firms - otherwise sysadmins there would have to type in a Product Id for every local PC.
Just a hint - you do not need to burn a new installation CD. You can simply copy the entire \I386 directory including subdirs from CD to somewhere on your hard disk (say, 300 MB). Next, download the Service Pack Network version (i.e., SP3 or, as of June 2003, SP4, a 120 MB download), and run the file like W2KSP3xx.EXE  /S  or W2KSP4xx.EXE  /S  (where xx stands for your language version. Mind you, the /S flag is essential). A bit of a problem is that you can only do this from within a running Windows 2000 system logged in as Administrator...... (I did it on my desktop PC, running a Dutch Win2K Pro - no problem for slipstreaming the English version).
Hint as to the Admin account: If you have the RunAs service installed, just press the Shift key and right-click on the service pack file (and later on, the CDRWIN shortcut) and select Run As....

You are asked for a directory where the service pack will be unpacked. Enter a proper name, say \SP3, and after unpacking has finished run the file Update.exe in \SP3\I386, specify the location of the Windows 2000 installation files, and you are all set. For installation, you just have to change dir to \I386 in the updated Windows 2000 installation directory and run SETUP.EXE.


As for Windows 98, I did not like the name "Program Files". Moreover, I wanted to share as much Win98 programs with the Win2000 ones. Adding these desiderata, I wanted to try to have one common C:\Programs directory tree for all Windows programs.
Thus I inspected a few directories like C:\Program Files\Common Files\... and found that most if not all files were the same size. Some exceptions were vxd-files (not present in Win2K) and C:\Program Files\Common Files\System\Ole_DB and ...\DAO where more and newer file were present; in addition Win2K had a few more subdirs.
So I decided to take a chance.
I copied all files and subdirs from C:\Program Files (installed by Win2K) into C:\Programs (owned by Win98). I had to do this from Win98, due to locked files. Next, similar to Windows 98, I changed all occurences of "C:\Program Files" and "C:\PROGRA~1" in the registry to C:\Programs. I used Registry Replace 1256 for this (it affected > 1000 keys!), followed by manual combing thru the registry looking for C:\Program Files or C:\Progra~1. After rebooting a few new occurences popped up, but after 3 or 4 reboots all occurences were replaced.

The result is that up til now, all programs run OK in both Win2K and Win98.
Similar reasoning goes for the directory "C:\Documents and Settings", which IMO is the most stupid and unnecessary long name you can think of for something which is simply called "users" or "home" in virtually all other operating systems. In addition, I want to be able to use my Windows "Home" directory also for storing Netscape or Mozilla mail and bookmark settings when run from Linux or OS/2 (i.e, share them between these OS-es). So, in the registry I changed all occurences of "C:\Documents and Settings" and "C:\DOCUME~1" to C:\Home. (I'd say there are just 30 occurences or so.)
The important reg key is HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList. Here the base user directory is defined. However, right after installation many many reg keys and program shortcuts have hard-coded path names containing "Documents and Setting", all of which have to be changed by hand.

It is important to tweak the registry this way at the very first time that Windows 2000 is booted, i.e. when one is logged in as Administrator, no other users have been registered (and no registry keys have been defined for them yet) and no programs have been installed yet (ditto), save e.g., Registry Replace.
Later on I found that there may be hard-coded paths in \WINNT\Inf too- so don't forget to check and edit the .inf-files here.

I've been warned by MS Officials in the Usenet group microsoft.public.win2000.setup that there may also be binary keys referring to Program Files and drive letters. However, I've never encountered any trouble using my procedure - and my stripped & changed Win2K & Win98 systems have been running w/o trouble for over 2 years now..... so here I draw my own conclusions.


One can choose between FAT32 and NTFS. Personally I think that FAT32 on the Libretto is better. It is faster than NTFS, more conservative as regards disk space (NTFS has about 10% overhead for storage of its tables), it allows easy coexistence between Win2000 and Win98 and frankly, the NTFS security options are no use on a very personal computer like the Libretto. A simple 3 second Internet search reveals *dozens* of free and often easily usable programs to read NTFS disks too, some even from just a bootable DOS floppy, many others using bootable "live" Linux CDs. So there you are... I think PGP or password-locked ZIP archives are much better alternatives to secure sensitive data.
Sure, NTFS version 5 offers data encryption, but that only works under the installed Win2K. If that Win2K ever crashes irrepairable, you got no more access to your data. OTOH PGP and password-locked ZIP files can be salvaged and decrypted in many other OS-es.
BTW I think the best NTFS reader for DOS would be this one.

Windows 2000 Pro supports both the Libretto's PCMCIA floppy driver and the non-standard 800x480 screen resolution out-of-the-box. Bravo!

Nevertheless, being a somewhat picky person I soon found some things I didn't like much. Some are obvious and easlily accomplished and are left to you to find out yourself, others took more Internet searching and experimenting and are described below.

Reducing Win2K's work load

The Libretto 110CT hardware, i.e. a 233 Mhz Pentium MMX and only 64MB RAM coupled with a quite moderate ISA bus connection for the hard disk (no DMA!) + a slowly rotating HD (just 4200 rpm), is barely adequate to run a demanding OS like Windows 2000 Pro. Once a specific program has been started up the Libretto is quite responsive, but a lot of time and disk activity is needed to allocate the program in memory and swap other programs out. Therefore it pays to reduce the number of services and background programs which at install time are silently specified to run.
Amongst others, here some info is given on the necessity of various services and how to tame the unneeded ones. For performance geeks, Fred Vorck's web page contains hints on how to get rid of Outlook, IE and other annoying resource hogs already right at installation time.
Just some of the silently installed services which IMO range from superfuous to totally unneeded, and which I consequently disabled or set to "manual", are:

Another resource hog is formed by Windows System File Protection. Meant as a very useful security and stability guard, on slow PC's it effectively cuts down performance significantly, especially when starting up & shutting down. My Libretto got much more responsive after having done away with it. So there is a choice between stability and performance, it's your pick. I removed it as follows (see e.g., here, here and here for reference):
  1. In a command prompt, run:

  2. sfc /cachesize=0
    which sets the dll cachesize in C:\Winnt\system32\dllcache (usually 200 up to 500 MB) to zero. Then be sure to run:
    sfc /purgecache
  3. Using regedit, change in HKLM\Software\Microsoft\WindowsNT\CurrentVersion\WinLogon the keys SFCDisable to ffffff9d (6 "f"s) and SFCQuota to 0 (zero; probably it has already been set to zero in step 1 above).
  4. Reboot.
  5. SP2 SFC.EXE and maybe also SFC.DLL have been changed, perhaps to disallow all-too-easy disabling of WFP. So, relocate SFC.EXE and SFC.DLL from your original Windows 2000 installation CD and copy them over the ones in C:\Winnt\System32. Running Win98 or pure DOS makes this all the more easier (another reason not to install NTFS).
  6. Now reboot. In principle, you're done.
  7. To check whether WFP is really off, look in Adminstrative Tools -> Event Viewer and look for messages that WFP is not active. If you can't find a message like this, WFP is active.

In later Windows 2000 service packs SFC may not be disabled that easily. Again, on Fred Vorck's site instructions are given for getting it together: the direct link is here.

Taming down WINDOWS 2000 using external software

There are a few geeks out there who quite agree that a default Windows 2000 installation has a unneededly high work load caused by too much superfluous junk like IE (Internet Explorer stubs silently loaded while booted), Outlook, Netmeeting, Frontpage, etc etc. Some of them have actually managed to really do something about it.
Be warned that completely removing Internet Explorer seems not to be possible; e.g., when you type a URL in the address bar in Windows Explorer the site is still loaded, implying tyhere are still some IE stubs left.
Much more info can be found on these sites:

My experience is that using Vork's method one can remove the most of IE, but of course, there's a trade-off: you must be prepared for quite a bit of experimenting. nLite is for those who want to get rid of MS-junk with the least amount of trouble.

Windows 2000 recovery console

It may pay to install the Win2000 recovery console, allowing to boot into a text console in case your Win2000 won't boot anymore, enabling you to try to repair it. I needed it once after Linux setup had overwritten the MBR, ruining the Win2K GUID on the MBR. To install it, browse to \I386 on your Win2K setup CD or setup directory, and run:
Winnt32.exe /cmdcons
(that takes about 7 MB disk space). The recovery console will automatically be added to the Win2K boot menu. You can also just boot from the Windows 2000 CD, press F10 at the "Welcome to Setup" screen, and then press C to get in the console.

Windows 2000 Compatibility mode

You may have older programs which feel happier running on Win95 or NT4 than under Win2K. To mimic Win95/NT4 a bit more on Win2K, you can install compatibility mode.
According to this site, you need to log on with administrator rights, open a command prompt and then type:
regsvr32 %systemroot%\apppatch\slayerui.dll
Afterward, users with admin rights can adapt the shortcut of the program in question by right-clicking, selecting Properties, and select the Compatibility mode type (Win95 or NT4) in the Compatibility tab. That tab is only present if compatibility mode has been installed correctly.

More info can be obtained from the Windows 2000 Support Tools, to be found on the Win2K CD-ROM under \Support\Tools.

Toshiba Power Saving options

I found Windows 2000 Pro's factory settings for power saving quite insufficient - they gave only 2 hours battery life and no options for display brightness and processor speed. One needs the Toshiba Windows 2000 power controls for this.
Browsing support bulletins on Toshiba Canada's support site, I found this document, describing how to set up a Tecra with Toshiba-specific stuff. For the Libretto, one only needs to download and install (in the order given below):

and optionally, only if you want BIOS setup from the Control Panel, A reboot is required after each install.
All files can be found on the Toshiba site (Support, Tech Support Center, don't take the model-specific downloads but "All downloads" below and filter tru Windows 2000 OS) or on GeraintJ's Home Page.

Once installed, you'll find that previous power saving settings have been wiped out but OTOH a new tab is present in the Power Options applet in the Control Panel, allowing processor speed and display brightness settings.
BTW I found this out only after having run Win2K for a number of months. It turned out that I could install the Toshiba files, but no extra Power tab was found in the Power Saving options applet. I had to reinstall Win2K completely anew to get Toshiba Power Saving options properly installed. So be warned..... install Toshiba Power Saving options as soon as possible after Win2K installation.

Hibernation issues, display drivers

You'll notice that I am particularly fond of hibernation on my Libretto - no wonder as booting or shutting down Windows 2000 takes 3 minutes (and with virus scanners etc installed probably 4), and hibernation and restoring from hibernation just 20 and 30 seconds, resp. That makes the difference between having to save your work and shut down already 5 minutes before arrival in the train station, or just pressing the power button only as soon as you see the platform appearing outside the train compartment window.
Windows 2000 Pro hibernates completely independent from the BIOS hibernation but is a bit picky as far as drivers is concerned - not all hardware drivers allow for proper hibernation. NT drivers which you can find scattered all over Toshiba's web site are a fine example of this.

All right, comparing Win2K with Win98, I lacked the display switch option (to change on the fly between an external display and the built-in LCD screen). So I searched the Toshiba site and found only the Libretto Windows NT 4 display driver for Neomagic, pk7vidnt.exe.
To make a long story short, I installed it but kept the newer neo20xx.sys and neo20xx.dll files. If you by accident had these files replaced, here's the procedure I used earlier to reinstall the original Windows 2000 Microsoft driver:
I had to delete the oemx.inf and oemx.pnf files from the winnt\inf directory. "x" is just a number, one might have to check all occurences of oemx.inf to find the right one mentioning Neomagic. Next I reinstalled the MS neomagic driver using the Add hardware applet.

After that, I found hibernation worked again, but the Neomagic tab in the Display properties applet had survived, too! (meaning the neomagic dll survived and thus proved to be quite independent of the graphics board driver proper.)


By installing Win98 and Win2000 in separate partitions, many potential problems are avoided.
It is possible to share the swap file between Win98 and Win2K.
The issue of how to install and share additional software between both of them will be outlined below.

Sharing swap files

Windows 2000 and Windows 98 have different names for their swap files (pagefile.sys and win386.swp, resp.). Win2K's swapfile can be renamed, but it is much easier to rename Win98's swapfile.
First of all, in Win2K enter fixed and equal settings for minimum and maximum swap file size ("virtual memory"): My Computer -> Properties -> Advanced -> Performance Options -> Change (in the "Virtual Memory" area), enter new settings and reboot to make the new swap file.
Then reboot into Win98. Once booted in Win98, and assuming Win98 lives on another (logical) partition, it may be wise to defragment the partition containing the swapfile to be sure that this file is consecutive. As this defragmenting will be carried out on the drive where Windows 2000 lives, it had better be done from another OS than Win2000, to be sure that some protected files (which when in use can't be touched) will be defragmented, too. In addition, it must be done before also Win98 will start using the common swap file.

Next, in Control Panel -> System -> Performance -> Virtual Memory, select "Let me specify my own virtual memory" and enter the same values for minimum and maximum swap file size as you did for Windows 2000. Do not reboot yet; first, in \Windows\system.ini (assuming Win98 has been installed in : in directory \Windows), in the [386Enh] section, make sure that the swap file settings look more or less as follows:


Next reboot and delete the win386.swp file in :\Windows.

It is also possible to share a swap partition between Windows 98, 2000 and Linux, thus saving many hundred's of megabytes on your windows drive. The only disadvantage I could think of is that you will have another DOS/Windows drive letter which in some cases may screw up shortcuts etc. Read the relevant Linux Swap-space HOWTO for details.

Sharing software

One stumbling block had been dealt with, i.e. specifying the same Programs directory in the registries of both Win2K and Win98 (in my case C:\Programs), so that only one copy of the software is shared between both OS-es.

As regards sharing software between OS-es, I'll show what I did with regard to the following software:

plus much other software which, in contrast to the above mentioned packages, can easily be shared by just copying the shortcuts from the respective Start Menu's to the other OS' Start menu.

In addition, IMO other software has to be deleted (a.o., the biggest security risk ever invented, aka Outlook - see Microsoft's own suggestions on how to get rid of it for Win2000, and e.g., here for Windows 98). Be warned that if you follow these instructions, Mozilla Mail (and Thunderbird) will complain about WNetEnumCachedPasswords entries not found - it may be better to just delete msoe*.dll out of the Winnt\System32 / Windows\System directories to just cripple Outlook.


I don't like IE much because of its resource hunger and its ugly Favorites menu, but it is needed because many web sites will only run properly with IE. In addition, for Windows Update IE is strictly required, although I get the impression that most if not all patches on the Windows Update site are for IE and/or Outlook only ...

At first sight, IE is an example of a program which cannot be shared between Win2K and Win98. Consequently, I had Win98 install/update IE in C:\Programs and Win2K update it in C:\Program Files. Later on, by comparing all files in the Win2K (Program Files) and Win98 (Programs) installs, I found that largely the same files were present in \Internet Explorer and each OS had added some additional files. So I gave it a try and copied all files from Win2K over to the Win98 install. Up till now I have faced no problems... even Windows Update works properly.

Same goes for other programs from the Windows Update site, i.e., Outlook (hard to avoid installing when carrying out Windows Update), Netmeeting, Media Player, etc.

FYI, on Fred Vorck's web page a desciption is given on how to get rid of IE from the very start.


MS Office 97 Professional

Be aware that Windows 98 runs a Task Monitor, which rearranges program parts after installation in order to make them start faster. However, this Task Monitor screws up the layout that many service packs for these programs expect, thus effectively hampering proper application of service packs and updates. Especially MS-Office 97 seems to suffer from this. I am not sure, but it seems Task Monitor runs at every reboot.
So, the way to go is as follows:

  1. (Immediately after installation of Windows, after the very first booting, click Start->Run, type msconfig, and in the rightmost tab ("Startup") remove the check mark before "Taskmon.exe")
  2. First install MS-Office 97 in Windows 98 (don't install FindFast, it's a resource hog), and after installation reboot immediately into Win2K;
  3. In Win2K, install MS-Office 97 with the same settings, and immediately apply SP1 and consecutively SP2, without reboot in between;
  4. Reboot into Win98, go to Start->Run, type msconfig, in the rightmost tab ("Startup") remove the check marks before OSA.exe (Office Start Accelerator or so, Starting up Office) and MS-Office Fastboot.exe (both are enormous resource hogs which are silently intalled by MS-Office setup).
You will see that in both Win2K and Win98 the same updated versions of the .exe files are used.

The much desired option of live scrolling does not work at first in Word 97. You will need to apply a registry patch from Xin Feng in both Win2K and Win98 to make that possible.

Corel WordPerfect Office 10, Easy CD Creator 5.x, Processing Modflow 5.1

Installation of these suites should be done the same way as for MS-Office 97:
First start installation in Win98, next repeat it with the same options in Win2K, and then apply all servicepacks and updates consecutively in Win2K, too. Repeating the updates in Win98 is not needed.

Netscape 4.79, OpenOffice, Mozilla

These can be installed in any OS first, and then installed in the other OS, with the same options and install directories. Updates etc. are no issue with these programs.
As regards Netscape, I regularly copy all files and directories in C:\Programs\Netscape\Users\<user_name> regularly between my desktop and my Libretto, thus providing a means of backing up. I have got Netscape mail as my default mail client, because I also run Warp Connect and Linux and in those OS-es I can also run Netscape 4.79 (OS/2: 4.61) and share the Windows-based bookmarks-, preferences- and mail archive files.
Besides, I perceive Outlook with its silently installed options as one big security danger.
For that reason and for easy international access to e-mail, I also still have Compuserve Classic (now at version 4.02); this is so old that it doesn't even know what to do with attachments in the first place, let alone virusses or trojans, so it is virtually immune.

As far as Mozilla is concerned, you may be better off with the Firebird branch - it loads much faster than Mozilla although it is currently just beta software. It lacks zooming in, too.

OpenOffice (now at 1.1) should be installed in Win2K with admin privileges and with the "setup -net" command in the directory where the downloaded install file was unpacked. Afterwards every user (= non-admin) should run OO setup from the directory where it has been installed, not from the unpack directory! and select User installation (or whatever it is called). When done in Win2K, reboot into Win98 and again run OO setup from the directory where it has been installed (i.e., "Workstation" setup).


Most programs which are installed with relatively simple setup procedures can be installed and run in the one OS, and run in the other OS by just copying the Start Menu shortcuts from the one OS into the other's Start Menu.

Cygwin, Octave

Cygwin is a very good Linux emulator for Windows. It is so good that it can even run XFree86 and X-Windows managers.
Cygwin/Octave ask for just a little more attention; they can be installed in any OS first. Installation in the other OS comprises copying not only the shortcuts but also the relevant registry keys. The latter can be exported using regedit in the OS where Cygwin was actually installed, and then doubleclicked upon the so-obtained .reg file from Explorer in the other OS (that way the other OS'es registry imports them).

BTW, I have made an Octave-Windows web page where many Cygwin / Octave <-> Windows issues are dealt with.


Changing Win2K's system (boot) drive letter

Be warned: be careful when you do this! one typo can render your Win2K installation useless!
Normally you can't change your Win2K's boot drive letter in the Disk Manager. However, it can be done, but it takes a lot of hacking.
In addition, you had better do this very soon after installation of Win2K, before many other software has been installed in it.

  1. Move the location of your paging file to another partition whose drive letter does not change.
    Right-click the My Computer icon, select Properties, Advanced tab, click Performance Options, specify another partition for virtual memory and (don't forget!) set virtual memory on the Win2K system drive to 0.
  2. Disable hibernation in the Power options applet in the Settings menu.
  3. Get yourself a copy of Registry Replace or so. You can do the next step using regedit, but it's quite tedious.
  4. Just to be sure, check if the Remote Registry Service will start automatically. I usually have this disabled for security reasons; but this time it may save your butt if you can have your Win2K connected to a network.
  5. Copy the program mountvol.exe (in \winnt\system32) to another partition, possibly the same one where you made the new paging file (if you don't, you can't mount your boot drive anymore).
  6. In the registry, change all occurences of: <old_boot_drive_letter>:\ to the <new_boot_drive_letter>:\, e.g., H:\ to G:\ (don't forget the backslash)
  7. Check and if needed change the drive letter in the registry key HKLM\Software\Microsoft\Windows NT\Current Version\Winlogon\Userinit to reflect the new boot drive letter, or delete the path leading to userinit.exe altogether (if you forget this you can login but Windows will get into an infinite loop of "Applying your settings" - "Saving your settings".
  8. In HKLM\System\Mounted devices, change the drive letter of your boot partition into the new drive letter.
  9. Using Disk manager (right-click My Computer, select Manage then Storage then Disk Management), make sure that the new drive letter is free.
  10. Search and replace all occurences of the old drive letter into the new drive letter in all *.inf files in \WINNT\Inf
  11. Now comes the tricky part. Type: mountvol You'll see a listing of all your partitions scroll by, including the not-recognized-by-Win2K ones.
    Write down the volume name of your current Win2K boot drive partition - it is a very complicated name like "\\?\Volume{.....}\".
    Then type:
    mountvol <bootdrive-letter>:\ /D ( e.g., mountvol H:\ /D, don't forget the backslash)
    followed by
    mountvol <new-bootdrive-letter>:\ <volumename>
    and reboot.
    Hopefully everything's OK.
    If not, have a look the MS-KB articles:Unable to Log on if the Boot Partition Drive Letter Has Changed or How To Restore the System/Boot Drive Letter in Windows to check for solutions.
  12. Sieve/comb trhought the various shortcuts in your Start Menu and change drive letters in absolute paths accordingly. In addition, check settings of your programs for absolute paths with references to the old drive letter. This is a LOT of work and the very reason that changing a boot drive letter should be done soon after installation of Win2K, before too many programs have been installed.
  13. Finally, do the same thing for all the .inf-files in the \WINNT\Inf subdir.
  14. If you transplant Win2K to another harddisk, or swap hard disks internally, it may be needed to wipe the volume GUID info on the MBR by booting into DOS (from e.g., floppy) and typing "FDISK /MBR". Win2K will enumerate all partitions again (rattling HD, long delays, less responsive OS) and after a while ask for a reboot.
Now you wonder: "Well I could have installed Win2K on the right partition with the right drive letter in the first place, couldn't I?"
You're right, but there are situations where it is not so easy:
  1. When you -like me- have OS/2 HPFS partitions. These have the same type as NTFS, but although Win2K can't access them (not just like that, see my Common stuff page) Win2K will still assign it a drive letter. So the drive letter chain can be a bit mixed up.
  2. On a PC with a number of OS-es, some time you may throw out a partition, combine a number of them or change partition types, again with possible consequences for the drive letter chain.
OK, perhaps far out, but no impossible scenarios - I've encountered them :-/

Win2K's support tools

Not a trick, but more of a hint: just unpack the file \SUPPORT\TOOLS\SUPPORT.CAB (10+ MB) on the Windows 2000 CD-ROM (or run its setup, see sreadme.doc). It contains a wealth of information in Word 97 .doc format, .CHM (compiled Help) files and -most useful- a number of very useful low-level tools together with quite complete documentation.