Copyright April 2000 Tony Lawrence
Win4Lin (www.netraverse.com, $89.99 for single user license) is the same product as SCO Merge, but for Linux. This is not at all like Wine; with Win4Lin you actually install Windows 95 or Windows 98 (which means, of course, that you have to own Windows 95 or Windows 98). After that, you just run Windows- Windows thinks it is running on its own hardware, thinks it is actually shutting down the computer when you choose "shutdown",and has no idea that the applications you install aren't installing on a Windows computer.
The product described here is the single user version. There is also a server based product that allows multiple Windows installations.
I installed it on a Corel Linux (1.0) system. The initial installation was extremely simple- just mount the CDROM and run an install script which created a new kernel with the Win4Lin modules included. The new kernel does boot a little differently than the stock Corel- Corel doesn't show you what's happening; you remain in a GUI environment while the machine boots. The Win4Lin changes that, and actually I prefer it that way.
At the time of this review, Trelos says they have done much more testing and debugging under RedHat. Although the problems I ran into here might have more to do with Windows than Trelos, you still might have an easier time on Red Hat or Caldera. In any case, be sure to check Trelos's web site for up-to-date versions for your release.
The documentation is in html files on the Win4Lin CD, but it's also at the Trelos web site, and I found that was the easiest way to access it. You really should read through all the documentation before installing- although no deep technical skills are required, there are things you'll want to know about ahead of time if you haven't worked with this before (if you've used SCO Merge, go ahead and charge right in). For example, if you don't understand that you do NOT configure Windows networking, you could cripple the installation and waste a lot of your time. You also want to understand how Win4Lin handles Windows printers, and you should carefully read the application installation sections just so you understand what could go wrong. Note that most of what could screw up are the same kinds of things that would screw up in a real Windows environment, but there are a very few things (VxD drivers, for example) that can cause problems for Win4Lin.
After rebooting, the next step is to install Windows. You do that as "root" (su'ing is fine), and the simplest way is to install directly from a Windows CD. I used Windows 98 Second Edition, and that also went very smoothly -just run "winsetup" in an X session, choose "System Wide Win4Lin" administration, and then choose "Load Windows CD".
You can install Win95 or 98, but not 3.1, Windows 2000 or NT. You cannot install from floppy disks; it has to be either from the CD or from a directory on the hard drive. If the CD isn't bootable, you'll be asked to provide your Windows boot install diskette also.
You then have to do a "Personal Windows Setup" as a non-root user. Neither Win4Lin or Merge will let you actually run Windows as root; it's just too dangerous. This is also done with "winsetup", and the experience is just like installing Windows directly- indeed, Windows thinks that is what it is doing, but of course it is actually running in an emulator under the control of "winsetup". My install started fine, but I ran into problems immediately. The installation stopped dead, saying that I either had insufficient memory or that the file "w95el90x.inf" was corrupt. I didn't think it could be corrupt, and I knew I had plenty of memory, so I was pretty much at a loss. I gathered as much information as I could and emailed it off to Trelos, not expecting an answer as it was Saturday. To my surprise, however, I did get an almost immediate answer from someone who said they'd need to dig into the details more when they were back in their lab, but nonetheless did have a few suggestions- basically, uninstall and start over, being sure that /var and /tmp were large enough. As this system is just one large 10 gig filesystem, they obviously were, but I tried reinstalling anyway- no luck.
That particular file is a ".inf" that references 3COM NIC cards that I don't even have in this machine. Also, Windows running under Win4Lin or Merge doesn't use the network card anyway; it all flows through the Linux networking. So I knew I didn't need this file. It's already been copied from the CD to /var/win4lin/dosroot/wincabs by the "Load Windows CD" step, so I thought perhaps I could just remove it (after carefully making a copy somewhere else, of course). That didn't work. The install wanted that file, and would not proceed without it.
The next stab in the dark was to copy a different .inf onto this. I could see by doing "ls -lut" of the directory that the install had processed other .infs before crashing on this one, so I picked another NIC .inf and just copied it to the w95el90x file. To my great relief, this let the install proceed.
Well, not completely. If you've ever installed Windows, you know that there is a point where it reboots- the Personal Setup of course does the same thing (remember, the Windows setup program is really running and it thinks it is really rebooting the machine, but it's just "winsetup" giving it that illusion).
It's after that reboot that you are asked to identify yourself, and the next screen after that is where you type in that long Windows license number. Unfortunately, my install crashed with a "5001" error right after entering my name. However, that was easy to fix, though the messages on the screen (from Windows, of course, not from "winsetup") are misleading- those say that Windows is trying to access C:\WINDOWS\OPTIONS\PREDUP.TAG but actually the problem is just that "license.txt" needs to be copied to the "help" subdirectory (cp ~/win/windows/license.txt ~/win/windows/help/license.txt)
After doing that, the setup (or install, from Windows point of view) went fine- there was a very long "updating system settings" where I thought it was hung, but checking "ls -lut" in ~/win/windows showed me that files were being modified, so I just left it alone and it finished without further problems.
Unlike SCO Merge, Win4Lin does not add icons to your Linux
desktop, so you start Windows by running "win" (you of course can
add your own icons, add "win" to your menus, etc.). You can also
run "fwin" from the command line (it will start up its own X
display). Either way, you are now running Windows under
There's very little that you have to concern yourself specially with in this environment. You do have to avoid configuring networking- for example, assuming that your Internet connection is already set up under Linux, you just fire up Internet Explorer, cancel out of its Connection Wizard, and tell it not to run again (note you don't even bother to tell it that you are on a local LAN- you tell it nothing, it just works). Another area that is a little different is adding a printer- you do it with the Windows "Add Printer wizard, but you will have needed to have set up a default printer under Linux first (before installing Win4Lin). If you have that done, the Windows printer wizard already has your default printer as a choice in its "ports" dialogue- you just choose that and you are done.
Just about everything else works as though you were running Windows on a stand-alone machine. You install software the same way, and with most applications you don't have to worry at all. I installed Office 97, Quickbooks 99 Professional, and Quickbooks 99 without any problem. However, it is possible that an unsupported VxD driver could cause problems. Of course, since you are running under another OS, you can simply restore the ~/win directory from backup and put everything back to normal, but you also have some ability to fix things outside of Windows- you might be able to just rm the "bad" VxD from ~/win/windows/system and continue. That's an advantage over a real Windows machine. Another useful perk is the ability to cut and paste from Windows to other Linux applications (by default, that's turned off because it uses more memory and most people wouldn't use it regularly).
I had to do that on my SCO machine (running Win95 under Merge) after attempting an upgrade of Quickbooks. The Quickbooks 2000 upgrade uses IE5 and the install of that failed, rendering my Windows "unbootable" (the Merge startup failed).The same upgrade was successful on Windows 98 under Win4Lin, so that's where I'm now running my Quickbooks. I wouldn't necessarily say that this was Merge's fault- the same upgrade might have caused problems for a real Windows 95 machine.
While I'd like to someday reach the point of running no Windows applications at all, I'm not there yet, so Win4Lin gives me at least the comfort and convenience of running those applications I still need without using a separate machine or rebooting. The performance is quite reasonable on my test hardware- a 466 MHZ Celeron with 64 MB (it might not be great on a low end machine, of course).
Jim Tom Polk had this to say:
I've been running it for about two weeks now, and am ever so much impressed with it's performance and it's stability. I still cannot get over how Windows 98 running as an *emulation* under Linux, with just 64 MB, is more stable than running stand alone with 256MB of RAM. (Shaking of head)
It has been a boost to my productivity to be able to use some good Windows applications without worrying about crashes leading to reboots.
It seems that the crashes were not due to the applications themselves, but to the Windows networking. I don't quite understand it, I'm just using it (gratefully).
But- Chad Lemmen had a great disappointment:
Well I bought Win4Lin and I'm not impressed so far. Their tech support is terrible. They couldn't help me at all. According to them Win4Lin will work on Corel 1.0 but not 1.1. I can't return it either so I guess I just threw away $50 well acutally $100 because I also bought Corel Deluxe for $50. I can't switch to Linux unless I can run some Win apps on it. I just thought you might like to know about this since you wrote an article on their software.
However, a day later Chad had better news:
I thought I would give you an update on my progress with Win4Lin. It is installed now and works fine. Although I haven't tried installing any windows apps I can load windows and use IE. I haven't tested anything beyond that. The problem with it not working before is exactly what I thought it was. When installing Corel Linux you have three options: 1)Take over the whole hard drive 2)Install in separate partition 3)Install in DOS/Windows partition. I had my original install in the DOS/Win partition. What this does is put a root image of Linux in C:\cdl. The kernel is also in that directory. So to boot Linux you first boot to the DOS prompt by pressing F8 before Windows loads then run C:\cdl\startcdl.bat. The batch file runs loadlin. As far as I can tell it is impossible to boot a different kernel than the one placed in there. So I was not able to boot with the win4lin kernel. I copied the win4lin kernel to a diskette and then rebooted into Windows and put the win4lin kernel in the C:\cdl dir and modified startcdl.bat to load it, but it wouldn't boot that way.
So I purchased PartitionMagic so I could create a new partition without losing my Windows partition. Then installed Linux into the new partition. Win4Lin then installed without any problems. I didn't have any of the problems that you ran into. Maybe that is because I'm using Corel Linux 1.1. I'm still kind of upset that Trelos support couldn't have told me this. If they would of just said that Linux needed to be in its own partition I would have been fine with it. Instead they told me to get a different distribution. I hope they don't tell other people that because I think Corel is the best dist for anyone coming over from Windows.