Compatibility has long been a problem for Windows NT users. NT offers superior security and reliability—but at the price of limited backward compatibility to legacy hardware and software. Now comes Windows 2000 Professional (Win2K Pro), which starts with the NT core and adds improvements such as Plug and Play (PnP) support and an upgrade path for Windows 9x users. However, compatibility problems continue, although the problems aren't hopeless for desktop users upgrading from NT 4.0 or Win9x.
Upgrading from NT 4.0
Microsoft claims that an upgrade to Win2K Pro from NT 4.0 is a guaranteed success. Unfortunately, such an upgrade won't always work perfectly, but most NT users face a significantly simpler upgrade than do those who upgrade from Win9x.
If you're thinking about upgrading to Win2K Pro, first look at the Win2K Pro system requirements—especially the RAM requirements. NT 4.0 requires only 16MB of RAM, although few people use it with so little memory. Win2K Pro requires 64MB of RAM, and almost all early adopters report that it needs more. Unless your system has a lot of excess RAM, plan to upgrade its memory before you install Win2K Pro. You'll also want to check your system's available disk space; typical Win2K Pro desktop installations require 650MB, not counting extra room for the virtual memory page file or applications.
Next, download and run Microsoft's Readiness Analyzer software. (For more information about compatibility tools and references, see the sidebar "Compatibility Resources," page 64.) For most systems, the Analyzer reports no problems, but some users will find that Win2K Pro isn't entirely compatible with hardware that runs with NT 4.0. Win2K Pro is an Intel-only OS; it doesn't support systems based on the Compaq Digital Alpha or other RISC CPUs. The OS also doesn't support Intel-based systems that use EISA buses or IBM Micro Channel Architecture (MCA).
If you have an ISA bus system with a fairly recent processor, you might find that one or more of your peripherals won't work with Win2K Pro without an add-on driver, even though the NT 4.0 CD-ROM includes the necessary drivers for your peripherals. In Win2K Pro, Microsoft tightened the testing requirements for drivers and added some significant new features. For example, Win2K Pro supports power management, which means that a system can power itself down when it's idle and that all Win2K Pro drivers must be restartable. Drivers on the NT 4.0 CD-ROM that aren't on the Win2K Pro CD-ROM failed part of the new testing procedure. You can try installing the drivers from your NT 4.0 CD-ROM to make your peripherals operate in your Win2K Pro system, but the drivers might not work.
If you're using a driver from a device manufacturer, you'll want to ask the vendor whether a Win2K Pro driver is available. Printer support in Win2K Pro is excellent; the OS includes drivers for all printers that the NT 4.0 and Win98 CD-ROMs support. Driver support for other devices isn't as comprehensive. For example, in all-in-one printer/scanner/fax units, Win2K Pro generally supports only printing. Microsoft is working with all-in-one device vendors (e.g., Hewlett-Packard—HP, Brother, Xerox, Canon) to produce drivers quickly.
Although Win2K Pro supports devices that NT 4.0 didn't, you can't assume that your devices (e.g., all-in-one printer/scanner/fax units, scanners, cameras, Win98-only notebook PCs) will work with Win2K Pro. When Microsoft first announced that the feature set for Win2K Pro would include PnP, power management, and Windows Driver Model (WDM) drivers, people assumed Win2K Pro's device support would equal Win98's device support. Perhaps the OS eventually will provide comparable support, but Win2K Pro uses NT's driver model, which differs from the Win9x driver model. Thus, vendors need at least to modify drivers, and many must write new ones. Vendors that did the extra work to provide drivers for generally unsupported device classes in NT 4.0 (e.g., HP's unique scan-and-fax driver for the OfficeJet 700 series all-in-one device) need to adapt those drivers for Win2K Pro.
Keep in mind that, despite the new name, Win2K Pro is really a new version of NT Workstation. You'll need to use the Hardware Compatibility List (HCL—http://www.microsoft.com/hcl/default.asp) to check which systems and devices Win2K Pro supports and which it doesn't, then demand that vendors supply device drivers when device drivers aren't on the Win2K Pro CD-ROM. As with previous NT versions, the driver situation will improve with time. Many NT users implement dual booting as a solution to the shortage of drivers. Dual booting is hardly the best solution, but you can set up Win2K Pro and Win98 in separate disk partitions on the same system. If you have a dual-boot system, you can use Win98 when you need access to a device or application that Win2K Pro doesn't support. (For more information about dual booting, see Sean Daily, "Multibooting Windows 2000 Systems," page 83, and Windows 2000 Pro, "Dual-Boot Blues," April 2000.)
If you've been running applications under NT Workstation 4.0, most will probably work without a hitch on Win2K Pro; in rare cases, you might have compatibility problems. In particular, Microsoft's changes to the Win2K Pro default security settings can cause problems for end users who need to install programs or change systemwide settings. To avoid those security-related problems, you can follow instructions in the Win2K Pro release notes to give users Power User rights. The release notes also identify third-party applications that require upgrades or patches to work with Win2K Pro, and in some cases the release notes provide ways to work around compatibility problems. Most NT 4.0 software is compatible with Win2K Pro, but much Win98 software isn't similarly compatible.
Upgrading from Win9x
For Win9x users, compatibility issues are more complicated. The additional problems arise because of fundamental differences in the architecture of Win2K Pro, NT, and Win9x. All the systems are 32-bit OSs, but Win9x's main goal is backward compatibility for older hardware and software. Win9x sacrifices security (and to some extent reliability) to achieve backward compatibility. The virtual device driver (VxD) model introduced with Win95 probably has caused the most long-term trouble with compatibility across the spectrum of 32-bit Windows OSs. VxDs are extensions of the OS kernel; they operate at the privileged Ring 0 execution level and have systemwide access to all memory regions. VxDs are incompatible with Win2K Pro and NT security, so Win2K Pro and NT don't support VxDs. Thus, any devices—including video display drivers—that use VxDs won't run under Win2K Pro. Many application vendors have implemented software that uses VxDs. No such program can run on Win2K Pro.
Win95's support for PnP devices and power management created a severe problem for users operating NT 4.0 on notebook PCs; NT lacked built-in support for the features (although some vendors provided add-on solutions). Win2K Pro provides support—in some respects, superior support—for PnP and power management, but that support highlights the most up-to-date versions of PnP and power management, which are based on the Advanced Configuration and Power Interface (ACPI) standard. Support for pre-ACPI forms of PnP and power management is limited, and early ACPI BIOS versions that work only with Win95 might require an upgrade to work with Win2K Pro. In some cases, early ACPI BIOS versions might not work properly at all with Win2K Pro.
Beyond these issues, Win9x provides a high degree of compatibility to earlier versions of Windows and DOS, including support for real-mode DOS device drivers that load in the config.sys file. For security reasons, Win2K Pro is incompatible with the real-mode DOS device-driver model, and you need to replace any such drivers with native Win2K Pro drivers. Devices with real-mode drivers tend to be old, so getting updated drivers can be a problem.
Before you upgrade to Win2K Pro from Win9x, you need to decide whether such an upgrade is economical. If you have a 133MHz or faster Pentium system with 64MB of RAM and a large hard disk, a simple memory upgrade will prepare your system to efficiently run Win2K Pro. You also need to check your system against the HCL (http://www.microsoft.com/hcl/default.asp) and the BIOS compatibility list (http://www.hardwareupdate.com/en/upgrade). If your BIOS isn't compatible, you need to find an upgrade before going any further.
You can download and run the Win2K Readiness Analyzer software to get a report showing which devices require new drivers and which software you need to upgrade. Microsoft has started compiling a database of compatible software (http://www.microsoft.com/windows2000/upgrade/compat/search); if an application you need isn't on the list, you'll need to check with the vendor to see whether a Win2K Pro-compatible version is available. Many (but not all) desktop productivity applications will work with Win2K Pro without an upgrade, but you might need to upgrade system-level utilities, backup and antivirus software, or games to get them to work with Win2K Pro.
As a last resort, you can set up dual booting to retain your Win9x setup for some devices and applications and run Win2K Pro for everything else. However, dual booting is a complicated approach. If you find a crucial compatibility problem that doesn't have a simple solution, a better option might be to stay with Win9x and upgrade to Win98 Second Edition (Win98SE) while you wait for the necessary driver or application in a native Win2K Pro version.
Compatibility isn't a simple topic, and Microsoft's support of two fundamentally incompatible OS architectures further complicates it. Microsoft's official stance is that the problem will go away when the Win2K and NT kernel and driver model replace the Win9x kernel and the VxD driver model. The catch is that Microsoft isn't saying when the replacement will happen. Microsoft is preparing at least one more release based on the old Win9x kernel. The OS, code-named Millennium, is in beta test, and Microsoft says the system will add new features, including new device-driver architectures. However, Millennium isn't self-hosted; its development platform is Win2K, so I hope that all such new developments will appear on the high-end platform in short order.
Beyond Millennium, Microsoft reportedly is developing a new Win2K kernel-based system as the ultimate desktop system for home users, gamers, and everyone else. Code-named Neptune, the OS will run on a new generation of legacy-free PCs that will eliminate the need to support older hardware with real-mode drivers and VxDs. We don't know when Microsoft will roll out Millennium (and probably at least one service pack or upgrade) and get Neptune ready to ship. In the meantime, we'll have to live with two different OS architectures—and the compatibility problems that accompany them.