1. Introduction
2. System Requirements
3. Included Software
4. Virtual Machine Settings
5. Required Command(s)
6. Installation Sequence
7. File Associations
8. Shared Folder Options
9. Usability Tips
9. Known Bugs / Limitations
10. Troubleshooting & Feedback
12. Other Driver Options
13. Sources / Credits
14. VMware Player
15. Play on Linux
1. Introduction
There are quite a few guides out there on how to install Windows 98se in VirtualBox, this one differs in the following ways:
- Level of detail - for instance this guide takes you step by step through installing the system (with the use of some helpful scripts), the other guides I've seen only give a general outline
- Installed software - once you finish you will have a fully updated system with a basic software loadout and some important runtimes
2. System Requirements
VirtualBox 6.1.x or later plus extension pack (Win7: use 6.0.24 with VMSVGA graphics & SB16 audio or VMware Player 15.5.7)
Host CPU must be capable of and have hardware virtualization enabled (VT-x/AMD-V)
A Windows 98se install CD and the Windows 98se updates CD for this guide, available from MediaFire or via torent
In Linux your user account must join the VBoxUsers group or most USB devices won't work with the VM (requires account restart)
The install has been tested in Windows and Linux (I don't have OSX) on the systems listed in the Host folder (Host.7z attachment), please provide feedback as to your success or failure so it can be added to the list.
3. Included Software
The Windows 98se updates CD image file contains the following software (typically the last version to work):
The extracted config and batch files from this post's attachment
Auto-Patcher December 2007 Full - MSFN topic
Auto-Patcher December 2008 Upgrade - download
nusb36e - updated USB drivers
Realtek AC97 - Audio driver
SoftGPU - Video driver
KernelEx-4.5.2.exe - compatibility layer to run XP programs
Kernel Ex Updates - version 4.5.2016.25
Kill.exe - From the Windows 98se Resource CD
flashplayer10_3r183_90_winax.exe - Flash for IE
Microsoft XML 4.0 SP3, extracted from msxml4-KB2758694-enu.exe
vcredist2005_x86.exe - Visual C++ 2005 SP1 KB2538242
vcredist2008_x86.exe - Visual C++ 2008 unofficial backport
NDP1.1sp1-KB971108-X86.exe - .Net 1.1 hotfix
NDP1.1sp1-KB2833941-X86.exe - .Net 1.1 hotfix
7z920.msi - 7-Zip file archiver
Firefox Portable 38.1esr - will crash on exit
Dictionaries.7z - spell check for Yanks, Poms, Canuks & Aussies
install_flash_player_32bit.exe - 11.1.102.63 for Firefox
jre-6u22-windows-i586.exe - Java runtime environment
Open Office 3.2.1 - Great Britain - United States - Other - needs Java
SumatraPDF-2.2.1-install.exe
Chair_Agenda.pdf to register the .pdf file association
iview444_setup.exe - IrfanView Image Viewer & Editor
iview444_plugins_setup.exe - IrfanView Plugins
klmcodec345.exe - K-Lite Mega Codec Pack
quicktimealt156.exe - QuickTime Alternative
New_Mouse.wmv to check video rendering
FileZilla_3.7.4.1_win32-setup.exe - FTP Client
dotNetFx20_98Me.exe - .NET Framework 2.0 RtM
NDP20-KB928365-X86.exe - .Net 2.0 hotfix
NDP20-KB947746-X86.exe - .Net 2.0 hotfix
RP972.exe - Revolutions Pack (theme changer)
sdd-win-7.0.0.340-beta.exe - SciTech Display Doctor
VMware drivers - Tools, Mouse & Audio
Intel_Gigabit_Ethernet.exe
4. Virtual Machine Settings
Create a new Windows 98 (not Win7, you change to that later) virtual machine named "Win 98se" with 512MB of RAM and an 8GB or larger hard drive (fixed size drives are faster on host HDDs) then adjust the VM settings to match as closely as possible the list given below. The changes from default settings are in bold, if an item is mentioned then its matching box is ticked.
- General
- Basic
- Name: Win 98se
- Type: Microsoft Windows
- Version: Windows 7 (32-bit) (allows SVGA)
- Advanced
- Snapshot Folder: Default Setting
- Shared Clipboard: Disabled
- Drag'n'Drop: Disabled
- Encryption
- Not Enabled
- Basic
- System
- Motherboard
- Base Memory: 512MB
- Boot Order: Optical then Hard Disk
- Chipset: PIIX3
- Pointing Device: PS/2 Mouse
- Extended Features: Enable I/O APIC (only)
- Processor
- Processor(s): 1 CPU
- Execution Cap: 100%
- Extended Features: Enable PAE/NX
- Acceleration
- Paravirtualization Interface: Default
- Hardware Virtualization: Enable Nested Paging - Zen2+ CPU = Disable on Copy
- Motherboard
- Display
- Screen
- Video Memory: 128MB
- Monitor Count: 1
- Scale Factor: 100%
- Graphics Controller: VBoxSVGA
- Acceleration: Enable 3D Acceleration
- Remote Display
- Not Enabled
- Recording
- Not Enabled
- Screen
- Storage
- Controller: Floppy
- Type: I82078 - Use Host I/O Cache
- Floppy Drive: Floppy Device 0
- Controller: IDE
- Type: PIIX4 - Use Host I/O Cache
- Win 98se.vdi - 8+ GB Fixed for host HDD (must be C:)
- Hard Disk: IDE Primary Master
- Win 98se Install CD (must be D:)
- Optical Drive: IDE Secondary Master
- Win 98se Updates CD (must be E:)
- Optical Drive: IDE Secondary Slave
- Controller: Floppy
- Audio
- Enable Audio
- Host Audio Driver: Windows DirectSound or Linux / OSX equivalent
- Audio Controller: ICH AC97 OR stick with SoundBlaster 16
- Extended Features: Enable Audio Output
- Enable Audio
- Network
- Adapter 1
- Enable Network Adapter
- Attached to: NAT
- Name: N/A
- Adapter Type: PCnet-PCI II (Am79C970A)
- Promiscuous Mode: Deny
- MAC Address: (randomly generated)
- Cable Connected
- Adapters 2-4
- Not Enabled
- Adapter 1
- Serial Ports
- Ports 1-4
- Not Enabled
- Ports 1-4
- USB
- DO NOT Enable USB Controller
- USB 2.0 (OHCI + EHCI) Controller
- DO NOT Enable USB Controller
- Shared Folders
- Machine Folders
- User Interface
- Mini ToolBar: Show in Full-screen/Seamless & Show at Top of Screen
5. Required Command(s)
After creating your virtual machine and applying all the settings but before starting it up you must exit VirtualBox and run at least the first of the following terminal commands under same user account, they do not require admin privileges. In each case the top line is the Windows command and the bottom line is the Linux / OSX command, replace "Win 98se" with the name of your virtual machine if you changed it.
For Windows users there's a command script and for Linux / OSX users there's textfile from which you can copy/paste in the Host folder (Host.7z attachment, includes multiple fake CPU options).
This command fixes the USB mouse and is always needed
Code: Select all
"%ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe" setextradata "Win 98se" VBoxInternal/USB/HidMouse/0/Config/CoordShift 0
VBoxManage setextradata "Win 98se" VBoxInternal/USB/HidMouse/0/Config/CoordShift 0
Replace the # with 0 for vGPU9, 1 for vGPU10 or just delete the # to reset to VirtualBox/host default
Code: Select all
"%ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe" setextradata "Win 98se" VBoxInternal/Devices/vga/0/Config/VMSVGA10 #
VBoxManage setextradata "Win 98se" VBoxInternal/Devices/vga/0/Config/VMSVGA10 #
Code: Select all
"%ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe" setextradata "Win 98se" VBoxInternal/TM/TSCTiedToExecution 1
VBoxManage setextradata "Win 98se" VBoxInternal/TM/TSCTiedToExecution 1
Code: Select all
"%ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe" modifyvm "Win 98se" --cpu-profile "AMD Athlon 64 X2 Dual Core 4200+"
VBoxManage modifyvm "Win 98se" --cpu-profile "AMD Athlon 64 X2 Dual Core 4200+"
6. Installation Sequence
General tips:
- Microsoft Windows users with an AMD Zen 2+ CPU are probably better off copying a working installation across from another machine, see the troubleshooting section.
- VirtualBox doesn't reliably detect when Windows 98se has closed so a better option than choosing ShutDown is to choose ReStart instead and then close the VM window when it is on the CD-ROM Boot Screen.
- As Windows 98se can be more than a bit unstable (especially on recent host CPUs), it is strongly recommended to save your image at various points, just take a snapshot of the virtual hard drive while shutdown before proceeding.
- I've given the time taken for some processes on my system if you want to take a break while they run.
- Optional steps are described in green
- Alternate drivers are described in blue
- Guaranteed errors are described in red
- System specific errors are described in orange
- Always reboot when asked.
Boot from CD-ROM - Start Windows 98 Setup and configure the hard drive (enable large disk support)
Boot from CD-ROM - Start computer with CD-ROM support then enter the command E:\Install, does the following
- Formats C:
- Copies installation files to C:\Win98
- Patches the installation files
- Launches Windows 98se Setup
Setup will hang on the last reboot, just force a restart
Enable DMA on the virtual HDD (Device Manager >> Generic IDE Disk >> Settings)
Set Virtual Memory from 1024MB to 3072MB (My Computer >> Properties >> Performance)
Switch to Windows Logon (Network Neighbourhood >> Properties >> Configuration)
E:\ Auto-Patcher December 2007 Full (install only)
E:\ Auto-Patcher December 2008 Upgrade (install and run)
Enter the following key sequence, waiting for screen refresh - 24 minutes
Manual, Next, 5-(3rd party), Save, Install, Install
You might have to do the odd restart but if the VM continually aborts then it's time to refer to the troubleshooting section
ShutDown and take a SnapShot - Pre-Drivers
E:\nusb36e.exe - updated USB drivers
E:\Audio\Setup.exe (Realtek AC97, keep 7+1 files) - skip if using SoundBlaster 16 audio
E:\Video\SoftGPU.exe, check hypervisor preset - enable SSE/AVX hack OR SciTech Display Doctor (see section 12)
After the reboot you can change to a decent resolution - to verify A/V settings:
- OpenGL: run E:\Video\tools\glchecker.exe
- If renderer is SVGA3D, you have HW acceleration, congratulations! If OpenGL version is 2.x then you have vGPU gen 9 active, most compatible but no vertex/pixel shaders. If OpenGL version is 3.x or higher then you have vGPU gen 10 active, better performance but some apps/games might not work.
- If renderer is llvmpipe, you have SW acceleration, but at least accelerated by SSE (128 bits) or AVX (256 bit). VirtualBox GPU acceleration is disabled or your real host GPU doesn't support HW acceleration.
- If renderer is softpipe or generic, then something has gone wrong.
- If you run any of the benchmarks you will have to alter the screen resolution back and forth afterwards.
- DirectX: run dxdiag (Start -> Run -> type dxdiag) and check all display (DirectDraw/Direct3D) & audio (Sound/Music) tests
After the reboot and seeing the Kernel-Ex confirmation dialog reboot once more and
Boot from CD-ROM - Start computer with CD-ROM support then enter the command E:\KX, does the following
- Updates Kernel-Ex files
- Patches Windows 98se Memory Manager
- Enable the USB 2.0 (OHCI + EHCI) Controller
- Change the pointing device (mouse) to USB Tablet
- Increase system base memory to 1024MB
Mouse not working properly? Did you apply the required command? Shutdown and do it now!
Network Setup Wizard (Accessories >> System Tools, cable must be connected, keep 3 files)
Internet Connection Wizard (Accessories >> Communications, connect via LAN)
Lock down Internet zones (Internet & Restricted to High, others to Medium)
Do Windows Media Player 1st run setup (so E:\Apps.bat can clean it up)
ShutDown and take a SnapShot - Pre-Apps
E:\Apps.bat - installs the following, reboots on completion - 8 minutes
- Kill.exe
- uninstall MSXML 4.0 SP2
- flashplayer10_3r183_90_winax.exe (for Internet Explorer)
- RP9Updates.exe (additional DLLs)
- msxml.msi (MSXML 4.0 SP3 KB2758694)
- vcredist2005_x86.exe (Visual C++ 2005 SP1 KB2538242)
- vcredist2008_x86.exe (Visual C++ 2008 unofficial backport)
- dotNet11.exe (.NET Framework 1.1 RtM)
- NDP11sp1.exe (.NET Framework 1.1 SP1)
- NDP1.1sp1-KB971108-X86.exe (hotfix)
- NDP1.1sp1-KB2833941-X86.exe (hotfix)
- Power Menu 1.51
- reboot and autostart Apps2.bat
- extract OOo_3.2.1_Win_x86_install_en-**.exe (Open Office)
- 7z920.msi (7-Zip file archiver)
- Firefox 31.8esr portable (KernelEx - XP SP3, will crash on exit)
- extract Dictionaries.7z (for Firefox)
- install_flash_player_32bit.exe (for Firefox)
- jre-6u22-windows-i586.exe (Java Runtime Environment)
- install openofficeorg32.msi (En-GB by default)
- SumatraPDF-2.2.1-install.exe
- iview444_setup.exe (image viewer & editor)
- iview444_plugins_setup.exe
- klmcodec345.exe (K-Lite Mega Codec Pack)
- quicktimealt156.exe (QuickTime Alternative)
- FileZilla_3.7.4.1_win32-setup (FTP Client, KernelEx - XP SP3)
- Set Firefox as the default web browser
- Copy AutoPatcher Wallpapers
- MenuReorg.bat (tidy quick launch, desktop & start menu)
E:\RP9.bat - Revolutions Pack, make your install look like XP or W7, sample attached below
Apply a theme (Wallpapers in My Pictures, Cursors under Control Panel >> Mouse >> Pointers), it will take several minutes
Windows Explorer settings (details view, don't hide file extensions)
Favourite http://kproxy.com/ in Firefox (converts httpS to http)
Set file associations for 7-Zip, K-Lite Mega Codec & SumatraPDF (see below)
Open E:\New_Mouse.wmv - black screen? disable YUV & RGB Offscreen (Play >> Filters >> Video Renderer >> Direct Draw)
ScanDisk (Accessories >> System Tools)
Shutdown, take a final snapshot and clone the virtual machine
Defrag the clone and use it from now on
7. File Associations
To register the file associations:
- 7-Zip - Open 7-Zip and it's under Tools >> Options >> System (clear the email options on the 7-Zip tab)
- K-Lite Mega Codec - Open Media Player Classic and it's under View >> Options >> Player >> Formats
- SumatraPDF - Open E:\Chair_Agenda.pdf in Windows Explorer and link it to C:\SumatraPDF\SumatraPDF.exe
- Open Office - The easiest reset method is to uninstall Open Office, reboot and then reinstall Open Office with the command or for individual file types you can open the file in Windows Explorer (shift-right-click if already linked) and link it to
Code: Select all
C:\Windows\System\msiexec.exe /I C:\OpenOffice3\openofficeorg32.msi REGISTER_ALL_MSO_TYPES=1 /Qb
C:\Program Files\OpenOffice.org 3\Program\[word=swriter|excel=scalc|powerpoint=simpress] and then edit the file type
(Tools >> Folder Options) adding [ -o "%1"] to the end of the open command.
Open Office file association commands (these do not work on network shares, local files only)Code: Select all
"C:\Program Files\OpenOffice.org 3\program\swriter.exe" -o "%1" "C:\Program Files\OpenOffice.org 3\program\scalc.exe" -o "%1" "C:\Program Files\OpenOffice.org 3\program\simpress.exe" -o "%1" "C:\Program Files\OpenOffice.org 3\program\sbase.exe" -o "%1" "C:\Program Files\OpenOffice.org 3\program\smath.exe" -o "%1" "C:\Program Files\OpenOffice.org 3\program\sdraw.exe" -o "%1"
8. Shared Folder Options
As there are no virtual machine additions that provide shared folders (even in VMware), you will have to use other methods, here are a few options:
- BiDirectional: Swap a FAT32 formatted USB flash drive (plugged into a USB 2.0 port) between the Host and the Guest
- BiDirectional: Use FileZilla FTP Client to connect to FileZilla FTP Server on the Host
- Host to Guest: Create a CD image containing the desired files and attach that to the guest
- Guest to Host: Use 7-Zip to extract the desired files from the virtual hard drive (only works on the true base of a snapshot tree)
9. Usability Tips
Some games can have trouble with the mouse, if so try turning mouse integration off.
Some games require that the install CD be in the drive, if so connect to a physical (or advanced virtual - Windows, Linux) drive and enable passthrough.
As many old games are fixed at low resolutions, View >> Virtual Screen >> Scale will likely prove very useful.
10. Known Bugs / Limitations - on a "perfect" install
Firefox (31.8, Jul 2015) - won't always work with modern websites, will crash on exit
Media Player Classic (3.4.5, Sep 2007) - won't play modern codecs, alternate suggestions welcome
FileZilla (3.7.4.1, Feb 2014) - drag & drop doesn't work when sending files/folders, you must right-click them
11. Troubleshooting and Feedback
A. Installation on a host system with an AMD Zen2+ CPU is difficult and unstable, a more reliable option for Microsoft Windows users is to simply copy across a finalised Windows 98se VM that was installed on another Windows machine, copy the entire VM folder and add it to VirtualBox on the Zen2+ machine. You will need to reattach the CD images, generate a new MAC address for the network controller and most importantly Disable Nested Paging (System >> Acceleration).
B. I was unable to install on a host with an older Intel Core 2 class CPU in Linux (ScanDisk errors) but I was able to copy across an already installed VM and get that to work but it was painfully slow (you will have to fix the file permissions).
C. Security software has been known to interfere with VirtualBox (for instance it is impossible to install Windows 2000 in VirtualBox if Avast Free anti-virus is installed on the host) so first try disabling such programs and if that doesn't help you might even have to uninstall them.
D. If your VM can't see a FAT32 flash drive (connected via a USB 2.0 port), check the Device Manager for a dodgy Intel USB2 Host Controller. Remove it and reboot, with luck it should reinstall correctly (this only seems to apply if using the alternate SciTech graphics driver). Also in Linux your user account must be a member of the VBoxUsers group (account restart required).
E. An older version of this guide using different software can be found in the feedback thread, it may work better for you.
12. Other Driver Options - all in the Drivers folder on the updates CD
You can chose to stick with the default SoundBlaster 16 in VirtualBox rather than changing to ICH AC97, in which case you should not run E:\Audio\Setup.exe
SciTech Display Doctor was released for free (item 2) when the company went out of business, it's not as flexible or powerful as SoftGPU but it is an alternative option that provides limited 3D acceleration, be sure to read the SciTech install guide in the Drivers folder.
You can use the Intel PRO/1000 MT Desktop (82540EM) network adapter as drivers are available, however it won't increase your network speed as VirtualBox will push data through the virtual interface at the highest speed your physical network will support, also don't change to it until after you've run the Network Setup Wizard.
13. Sources / Credits - Standing on the Shoulders of Giants
Primary source by the VirtualBox community
Auto-Patcher for Win 98se by Soporific
SoftGPU Display Driver by J H Robotics
KernelEx wiki - MSFN (application compatibility database) by Xeno86 & Jumper
Firefox 38 for Win 98se by Schwups
14. VMware Player
If you are using Microsoft Windows 10/11 or a current version of Linux you can use VMware Player 16.2.5 / Workstation 17.x.x, for Microsoft Windows 7/8 use VMware Player 15.5.7 or VMware Player 12.5.9 if your host has a pre-2010 CPU.
However the installation is somewhat more difficult, there are notes on the installation in the Host folder (Host.7z attachment).
If VMware Player on Linux fails to launch then install "Git" via your package manager and then run as an administrator the matching shell script, it may (but is not guaranteed to) help.
15. Play on Linux
If you just want to run a specific program/game that won't run on current versions of Windows, why not consider running it on Linux?
Using the Play on Linux front-end for WinE, many old Windows programs/games will run far better on Linux than in a virtual machine.
For instance King's Bounty: Armoured Princess runs just fine on Linux Mint (including the 3D effects using red-blue glasses), there's no way it would run on any virtual machine. Tip - always link to the program executable, NOT the Windows shortcut.