VMs and Old OSes

Here are a few things I’ve found running VMWare 6 to host my main work environment:

Win2K and large SATA drives

I initially started using Win2K as the host environment for the VM, given it is more lightweight than XP. I found that even Win2K SP4 didn’t see my entire 300GB drive, instead cutting it short at 139GB. This is both in the installer and the drive manager once installed.

Fortunately I had just started and didn’t have any partitions set up yet. Turns out that out-of-the-box Win2K does not see large partitions and it would have corrupted any large partitions had it mounted them. Its fixable by creating this registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\atapi\Parameters\EnableBigLba [DWORD] = 1

Guess not enough people have corrupted large drives under 2K for MS to make this a default in a hotfix. In any case I wouldn’t like to install Win2K cold on a large drive with existing partitions on it, by the time you get to hack the registry, the other partitions might be trashed.

Dropped network transfers

I persisted with Win2K and soon discovered the networking between the guest VM and the host (bridged mode) was really flaky; large file transfers would fail inexplicably with silly errors. It turns out that Win2K’s networking was freaking out because data was flowing between the VM and the host at speeds faster than the physical “real” interface (100mbit) could support. Win2K has some kind of “check” for this which fires even though the data isn’t actually going over the physical interface.

The fixes for this included hacking in a new virtual ethernet adapter for VMWare (which bridges at the MAC level) and using a separate “host only” adapter for the guest-to-host sharing. The second way worked fine but I decided to give up on 2K as a host and went back to XP as the host OS.

Big differences between Uniprocessor and Multiprocessor Win2K VM HALs.

My guest VM is Win2K and I initially installed it with one CPU enabled under VMWare, so it installed a Uniprocessor kernel/HAL. All worked great so I thought it might be good to try a dual CPU VM. Adding the CPU isn’t enough, you have to use Device Manager in the guest to change the computer from ACPI Uniprocessor to Multiprocessor (update the driver, manually select the alternate HAL). This enabled the VM to see multiple CPUs but I noticed something very nasty.

Running Winamp or ZoomPlayer now used 100% of both real cores. Changing the VM back to a single virtual CPU (still with a multiprocessor HAL) just meant I now had one real core maxxed out. After I switched the VM back to the ACPI Uniprocessor HAL (device manager again) it now uses a couple of percent for Winamp and about 15% for 640×480 video stretched to 1280×1024, like I’d originally observed. Not bad if you remember its a VM!

I guess the multiprocessor HAL needs more of VMWare’s attention to manage when doing I/O, even with a single virtual core.

No ActiveX, No Internet for you

A couple of weeks ago, when I arrived here in Seoul, we had a tech come out to connect broadband. The building is on fiber and the hardware side of the connection just involved patching the existing RJ45 wallplate to the building’s router rather than the phone line.

The software side was a bit of a shock to me; the tech installed 4 ActiveX controls as part of the connection process. After he left, I looked closer at what was going on.

When the building router senses a new ethernet MAC address, it requires you to authenticate. Any URL you enter redirects to a login page. The kicker is that the login requires an ActiveX control to be installed, into which you enter your national ID card # and your phone number. (Not so much authentication as a reminder that everything you do is traceable to YOU).

Had I been running on a Mac or Linux without Windows, it would have been a show stopper. Those OSes simply dont matter here, its Windows or its nothing.

The other controls he installed included an “IP checker” and a speed tester.

I’ve since set up a new computer here and also bought a router. We had to reactivate the link again (for the router’s MAC address) but I made sure we did it in a VM this time so I could Snapshot whatever it installed away.

I notice that the IP address assigned to me hasn’t changed since I got here a few weeks back, even after disconnecting and reauthenticating. The net is working fine, I get 90mbits in and out to sites within Korea; the international link is nowhere near that capable. I usually achieve about 1MB/sec for Gutsy updates from a server in Japan. USsites are about 400KB/second. Australia is about 200KB/second on a good day.

It seems the reason ActiveX is so prevalent here is because the Korean government mandated it for e-commerce years back when trade restrictions prevented the export of strong crypto, so the Koreans developed all their own. Some banks install a half dozen ActiveX controls, sometimes ocnflicting with controls installed by other banks. One even installs its own firewall. Thanks.

We now use VMWare virtual machines to avoid clagging up the host system.

What does that button do?

I bought a new computer system here in Korea and got a basic keyboard with it, a standard 104 key thing with a few extra buttons which I’d assumed were multimedia buttons. The keyboard did not come with any software and when I pressed the buttons, I was quite surprised to see Korean web sites pop up, which of course tried to install ActiveX plugins (this place lives on ActiveX, but thats another story).


The pages opened even in a fresh OS install VM, so I knew it wasn’t any driver doing it. Closer scrutiny has shown whats happening.

The keys are hard-coded to send “Windows-R” (opens the Run dialog box) followed by some URLs which are basically typed in by the keyboard.

No idea if the keys are reprogrammable; it would involve the keyboard reflashing itself and given their labels, I kind of doubt it.

The URLs of the keys are:

www.sky-lotto.com, www.weminplus.com, www.gazone.co.kr and www.hozone.co.kr

which redirect (probably to the highest bidder).

Glad I’d set up firefox as my default browser before pressing those keys.

Was thinking I could make them go somewhere useful using my host file but I discovered that the keyboard’s timing is a bit quick when I have a lot of VM stuff going on and sometimes the Run dialog hasn’t opened before it sends the other keys, leading to a lot of beeping.