Windows 98, Phenom II & Hardware Virtualisation

Discussions about using Windows guests in VirtualBox.
Post Reply
mark rumsey
Posts: 81
Joined: 3. Mar 2009, 23:14

Windows 98, Phenom II & Hardware Virtualisation

Post by mark rumsey »

Following some of the observations in the Windowas98 tutorial, I decided to do a little testing as I have a nearly new Phenom II based PC. Before going further, I should say that I an mot a computer expert of any description. I have no knowlesge of how hardware virtualisation, VirtualBox or MS VPC works and what I am about to say may be complete and utter nonsense, but I hope it's not :wink:

The basic PC spec is as follows.
AMD Phenom II 9655BE processor (3.2GHz).
8GB DDR3 dual channel memory
2 x PATA and 4 x SATA physical hard drives
SATA DVD multiformat drive with BDROM & HD DVD reading
SATA DVD multiformat drive
SCSI ZIP Drive via Adaptec ASC29320 adapter
3.5" floppy
AMD 4670 based graphics
Onboard HD audio, dual gigabit LAN, USB2, firewire, serial and parallel ports.

I am currently running this as a dual boot machine between Windows 7 RC1 64 bit and Windows XP SP3 32 bit. I also have a very small MS-DOS6.22 installation to hold the boot manager, and later I will be adding OpenSuSE 11.1 64 bit.

Under Windows 7 I have Windows VirtualPC installed with the official VirtualXP image, plus VirtualBox 3.0.4.
Under Windows XP I have Microsoft VirtualPC 2007 SP1 and VirtualBox 3.0.4.

I have installed essentially identical Windows98 setups into virtual machines running on MS VPC under WinXP and VBox on both WinXP and Win7.All machines were set up with virtual drives of about 2GB, 640MB RAM and one low spec NIC. Both of the VBox installs behave in much the same way, that is they only run with hardware virtualisation disabled. If it is enabled the VMs lock part way through start up. The only noticabe difference between the two is (surprisingly) the VM running on the 32bit XP host is slightly faster than the one running under the 64bit Win7 host. The MS VPC install on the XP host is quite different. Not only does VPC have guest additions for 98 giving proper desktop integration etc, the machine will also run with hardware virtualisation enabled making it noticably faster than either of the VBox machines. I have not tried installing Win98 under Win VPC
on the Win7 host partly because I can't find out how to create a blank machine (the interface and setting are hidden away and are only accessible once VirtualXP has been started, plus there doesn't appear to be a 'new' option anywhere to create a new machine) and partly because I don't believe it will work as the VM is displayed/accessed using Remote Desktop which doesn't work with anything before XP. I had also previously tried installing Win98 directly on the hardware, but it failed, although I don't know if this was due to a Phenom II incompatibility or simply the PC had too much memory.

I have made a few other observations about VPC and VBox, the main one being that VPC on a 32 bit host will not allow 64 bit clients to run (the client reports a 32 bit processor) whereas VBox will if hardware virtualisation is enabled. This set me to thinking about what VPC and VBox do differently with hardware virtualisation. One guess is that VPC traps potentially troublesome instructions and executes them in an emulated environment as if hardware virtualisation is disabled whilst VBox lets everything through. However, I doubt this is the case as both VBox and VPC were written before AMD launched the Phenom II, so how would Microsoft know which instructions to trap? Also, to trap those instructions VPC would have to examine each meaning a significant processing overhead and, possibly, a reduction in performance with hardware virtualisation switched on!

Another is that as VPC comes in 32 and 64 bit variants, and I have the 32 bit variant on my 32 bit XP host, it only enables some sort of 32 bit virtualisation mode that means the problem instructions hare handled properly and don't cause problems. I cannot go any further on this theory as I do not have a 64 bit host that I could install the 64 bit version of MS VPC 2007 on to see if Windows 98 then won't run with hardware virtualisation enabled. This does, of course, assume that hardware virtualisation has different 'modes' available in the first place.

Theory 3 is a little simpler. Windows 98 uses the 3-4GB address space for its own internal purposes (a bit like the upper memory area on the original PC in the 640K-1MB range was reserved for the machine to use for things like BIOS etc), which means it will not run if there is more than 3GB of physical memory visible to it even if the precautions are taken to limit the file cache etc to enable it to run on a system with ove 768MB. With VBox when hardware virtualisation is disabled and with VPC with hardware virtualisation enabled or disabled only the memory specified is made available and any addresses outside that range are left 'vacant' for Win98 to use as it sees fit. However, I wonder if VBox with hardware virutalisation enabled does this, or whether the address space above the specified memory is somehow locked and when Windows tries to access the addresses in the 3-4GB range that it uses for its own purposes, the hardware virtualisation in the processor grabs the instructions and tries directing them to the physical memory making the VM behave as if it had a large amount of memory installed.

The point of this rambling post is actually quite simple. Firstly if Microsoft can make Windows98 run with hardware virtualisation enabled, why can't VirtualBox? Secondly, if the first question can be answered, is there a way of modifying VirtualBox to make Windws98 run with hardware virtualisation enabled without affecting its functionallity with other operating systems even if that means having a switch to enable some sort of 'compatibility mode'? And thirdly, is the problem that causes VirtualBox to be unable to run Windows98 with hardware virtualisation enabled likely to cause problems with other older operating systems which are still supported such as OS/2, in which case will that problem be fixed or will those operating systems become unsupported?
Eck
Posts: 31
Joined: 5. Jan 2008, 19:10

Re: Windows 98, Phenom II & Hardware Virtualisation

Post by Eck »

Nice thoughts and analysis. You'll find, however, only frustration if you believe anyone developing Virtualbox has any interest in supporting Windows 98 in it. There's none, nada, end of story.

If you want your 98 guests to fly, and include full guest addition and usb support the answer is VMware Workstation. Costs money, but those folks are still putting out the most feature filled, stable virtual machine software. Tends to get guests of many types running speedier than the competition too. Their releases are not open source development versions with parts still being tested by the end user. Their bug testing is done through nearly a year and a half of technology preview and beta testing before they release a final and charge money for it.

That said, Virtualbox is amazing too. The fact that releases and development occur concurrently means we get newer toys to play with long before the VMWare customers do, like both DirectX and openGL and for more than just XP guests. VMware tech previews show they're getting Alsa support in before Virtualbox, at least in the previews of the next version. But paying customers won't see that for many months. If Virtualbox were working on it we'd see it in a couple of weeks.

As usual Microsoft is just adding and mostly taking away features of a product they purchased (at least this one they didn't have to steal). Since the developers are now long on other jobs, VirtualPC has been bug fixed up until the time Microsoft took over and those guys and gals who knew their creation were gone. That was over 6 years ago.

Perhaps it would be more helpful to the cause of software development to do testing on products from Virtualbox and VMWare. But Windows 98? That has even gone into experimental status on the next VMware from being fully supported from the beginning. They have 98 working great over there, but whatever changes to better serve modern hosts and guests are made cause regressions in 9x guest support are likely to fall on deaf ears now even at VMWare. They hope it'll still work, but they won't lose sleep if they break it.

Last bastion of folks still caring about 9x reside at the forums of msfn.org and the mdgx.com website. Even that has dwindled as the older generation (like me :)) only used 98 for a couple of things nowadays, and most of the time doesn't even have it installed virtually until the pang arises to do those few things with it. Lots of younger folks arguing with each other with younger mods offering suggestions that show they really don't have the 9x experience to really help. Instead of developing they're mostly watching over the forum to prevent posts from getting out of hand.

What is there in their massive backlog of posts are lots of good information to get the most out of the old OS if you search and read for hours. New stuff consists mostly about changing the look and feel or getting modern software running on it. If I wanted to use modern software I'd use a current Windows or Linux distro for it. KernelEX is the project succeeding in it, but that takes away compatibility with the older software sometimes. I wouldn't use it.

See? I ramble too! I don't do it too much anymore but I used to be famous for it. Got many a mod peeved at me. :)
ppgrainbow
Volunteer
Posts: 150
Joined: 12. Aug 2008, 04:22
Primary OS: MS Windows 2000
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: None
Contact:

Re: Windows 98, Phenom II & Hardware Virtualisation

Post by ppgrainbow »

A better alternative is VMware Player. That's what I use to run Windows 95 guest and because of a bug in the VMware BIOS that cannot use more than 64 MB of memory, I had to limit the RAM allocation to 64 MB and created a 4 GB hard disk image (4.3 GB decimal). Infact, I noticed that VMware Player was designed for Windows 95 guests due to low disk space and memory usage! :D

Both VMware and Virtual PC supports Windows 9x/Me with guest additions. For Windows 95, the original release of Windows 98 and Windows Millennium Edition, you would have to use the VPC 2004 SP1 guest additions ISO, under Windows 98 Second Edition, you can use the VPC 2007 SP1 guest additions.

If this is somewhat confusing or nonsense to you, let me know.
Post Reply