posted by Daniël de Kok on Wed 17th Mar 2004 19:12 UTC
IconAs a student I am quite often confronted with (closed-source) Windows programs. These days there are a few tools that can help running Windows applications on Linux. One of these tools is Win4Lin, Win4Lin allowsone to install Windows 95, 98 and ME under Linux. The Windows NT branch is not supported yet, because Win4Lin sets up a special DOS environmentin which Windows runs.

However, according to the Netraverse FAQ support for Windows versions other than Windows 95, 98 and ME is currently under development. This review summarizes my experiences with Win4Lin 5.1. I use Slackware Linux, so the overview of the installation is based on that.


Microsoft Office under Win4Lin Win4Lin emulates an environment that is comparable to a usual Windows environment. First of all, Win4Lin adds some hooks add various places in the Linux kernel, like the scheduler. These hooks are utilized by the mki-adapter module, which provides an interface to the hardware for the Win4Lin BIOS. The BIOS and the kernel interface provide everything DOS needs to run.

There are a few advantages and disadvantages to this approach. First of all, it some users might not like the fact that Win4Lin makes and uses hooks in the kernel. Besides that, the user is dependent on Netraverse for kernel patches. Fortunately Netraverse provides new patches quite quickly after each new kernel release. The big advantage of this approach is that it is much faster than a real virtual machine (like Virtual PC), hardware access by Windows is just translated to normal conventions of accessing hardware under Linux.

In contrast with VMWare and Virtual PC, Win4Lin does not use a hard drive image. Windows filesystem operations are translated to operations on the Linux filesystem. This means that Windows is installed on the Linux partition. This makes files from the Windows installation easily accessible.

Win4Lin supports two types of networking: WinSock (1 and 2) and VNet. WinSock networking integrates with an existing Linux network interface. This approach requires no configuration, and will suffice for most daily network uses (for instance, web browsing and fetching e-mail). VNet is a more advanced, but requires a bit more configuration. With VNet a separate IP address is configured for the Windows session. VNet is required to support file and printer sharing.


Slackware Linux is not supported by Win4Lin, but the installation procedure is relatively simple. First of all you have to compile a kernel with Win4Lin support, because there are no pre-compiled Win4Lin kernels for Slackware. The Netraverse site has excellent instructions for patching vanilla Linux sources: here

To install Win4Lin the RPM package manager from the "ap" disk set is required (though some people might prefer using rpm2tgz). Win4Lin can be installed using one of the following two methods:

  • Use the Win4Lin Installer. This method works perfectly, and uses a graphical tool to install and configure both Win4Lin and Windows.
  • Download the full Win4Lin RPM with your Win4Lin account, and install it with rpm -i --nodeps package.rpm. The license code can be entered by executing /opt/win4lin/bin/ afterwards. Finally, Windows can be installed by running the win4linadmin command.

The Windows installation consists of two steps. The first step is performed as root, and creates an installable Windows image on the hard disk. The second step installs Windows, this step is done as a normal user.

Table of contents
  1. "Win4Lin review, Page 1/2"
  2. "Win4Lin review, Page 2/2"
e p (0)    38 Comment(s)

Technology White Papers

See More