MacBochs with Windows 98se

Bochs is an open source PC emulation project. One of its goals is portability, and as a result it is available for a wide range of operating systems, including Mac OS X. For G5 owners who require Windows emulation but are currently shut out of VirtualPC, MacBochs may spark some interest. At the moment, performance is rather slow and some important features (eg. physical CD-ROM access, high resolution support) are not yet implemented. Apparently, the folks at OpenOSX have released their Wintel PC emulator based on the Bochs code, and they have optimized performance for G4 processors and provided better driver support. If you'd like to try the rockier but cheaper (free!) route, you can follow the steps here for installing Windows 98 SE (second edition) under MacBochs 2.0.2. The MacBochs binary is available from the Bochs website.

Here is a snapshot of the final setup. Note that you will only get 640 x 480 resolution and 16 colors. If you can obtain any better, please let me know!

There are various ways of approaching the installation - the following steps worked for me. I have posted them so that they may be of use to anyone interested. These instructions assume you feel comfortable with the Terminal and have some knowledge of basic UNIX commands.

It seems like there are currently no drivers for using a physical floppy or CD device in Bochs under OS X (please correct me if I am mistaken). You must therefore create disk images of the boot disk and Windows 98 installer CD-ROM.

Let's assume you want to place your disk, CD, and floppy images in the directory [IMAGES]. Your Bochs installation is in the directory [BOCHS]. In the instructions that follow, be sure to replace [IMAGES] and [BOCHS] with the correct pathnames.

For example, on my machine:

[IMAGES] is /Users/Shared/DiskImages/bochs/

[BOCHS] is /Applications/Emulation/Bochs/

You will require the following settings file: bochsrc.txt

Note 1: To obtain the Windows 98 boot disk image you will require a floppy drive on your Mac. Because this immediately excludes 95% of the readership, I have also included instructions for obtaining the boot disk image from a Windows PC (with a floppy drive, but this is probably a redundant phrase :-). You will need to download and install the shareware program WinImage. We will use it to create an uncompressed .imu file that is readable by MacBochs.

Note 2: If you don't have a Windows 98 boot disk, a search on Google should remedy the problem.

Note 3: One reader, David Robinson, had success installing Windows 98 without a boot disk. He writes:

You mention needing to create a Windows boot floppy. I found this was only needed if you use your ata line below:
ata1-slave: type=cdrom, path="win98cd.iso", status=inserted
If it is changed to:
ata0-slave: type=cdrom, path="win98cd.dmg", status=inserted
It works perfectly. The install can be booted from the windows 98 cdrom image.

Although his change did not work for me, someone else may encounter better succes.

"Patience is the best remedy for every trouble."
Titus Maccius Plautus (254 BC - 184 BC)

Okay, let's proceed!

Obtain Windows 98 CD Image

If you are running Jaguar or earlier:

  1. Insert your Windows 98 install CD.
  2. Launch Disk Copy.
  3. Choose File -> New -> Image from Device
  4. Select the Windows 98 CD and click Image.
  5. Save the CD image in [IMAGES] as win98cd.dmg with the following options:

    Image format: read/only
    Encryption: none

If you are running Panther or later:

  1. Insert your Windows 98 install CD.
  2. Launch Disk Utility.
  3. Select the CD from the pane on the left.
  4. Choose Images -> New -> Image from (name of the CD)
  5. Save the CD image in [IMAGES] as win98cd.dmg with the following options:

    Image format: read/only
    Encryption: none

Obtain Windows 98 Boot Disk Image

If you have a floppy drive attached to your Mac running Jaguar or earlier:

  1. Insert your Windows 98 boot disk. You may want to lock it so that extraneous OS X files (such as .DS_store) don't get copied onto it.
  2. Launch Disk Copy.
  3. Choose File -> New -> Image from Device
  4. Select your boot disk and click Image.
  5. Save the boot disk image in [IMAGES] as win98boot.dmg with the following options:

    Image format: read/write
    Encryption: none

If you have a floppy drive attached to your Mac running Panther or later:

  1. Insert your Windows 98 boot disk. You may want to lock it so that extraneous OS X files (such as .DS_store) don't get copied onto it.
  2. Launch Disk Utility.
  3. Select your drive from the pane on the left.
  4. Choose Images -> New -> Image from (name of the floppy or floppy device)
  5. Save the boot disk image in [IMAGES] as win98boot.dmg with the following options:

    Image format: read/write
    Encryption: none

If you are accessing a Windows PC with a floppy drive:

  1. Insert your Windows 98 boot disk.
  2. Launch WinImage.
  3. Choose Disk -> Read Disk
  4. Save the disk image as an image file (*.ima) with the filename win98boot.ima
  5. Send the boot disk image to your Mac.

Set Up Hard Disk Image

  1. Copy the file bochs.scpt from [BOCHS]/dlxlinux into [IMAGES].
  2. Save the file bochsrc.txt in [IMAGES]. If your boot disk image was obtained from a Windows PC as a .ima file, you must change the line that reads

    floppya: 1_44=win98boot.dmg, status=inserted

    to

    floppya: 1_44=win98boot.ima, status=inserted

  3. In Terminal, cd to [IMAGES] and run bximage to create a new drive image as follows:

    [BOCHS]/bximage

  4. Follow the on-screen instructions. Choose "hd" for hard disk image. When asked for disk size, I would recommend at least 512 MB for Windows 98 (this leaves you with some space to install 250 MB's worth of programs). Name the drive image "win98.img".
  5. When the drive setup finishes, note the ATA drive information (appears after "The following line should appear in your bochsrc") and copy it into bochsrc.txt, overwriting my own line:

    ata0-master: type=disk, path="win98.img", cylinders=1300, heads=16, spt=63

  6. Launch bochs.scpt. Choose [5] (Begin Simulation) at the Terminal prompt. Bochs should launch using the boot disk.
  7. From within DOS run "fdisk" to create a partition on your new drive. Follow the on-screen instructions (if asked about enabling large disk support, select yes).
  8. Choose MacBochs -> Reset
  9. From within DOS run "format c:"

Install Windows 98

  1. Switch to your iso image by typing "d:" or "e:" and then run "setup"
  2. When Windows Setup requests that you reboot, choose File -> Quit
  3. In bochsrc.txt, enable boot from disk. Simply change "floppy" to "disk" as follows:

    boot: disk
  4. (optional) In bochsrc.txt, uncomment the line:

    panic: action=ignore

    During the plug and play device detection phase, setup would cause Bochs to exit with a panic "netnear: EIP > limit" error. Telling Bochs to ignore the panic allowed my installation to proceed problem free.
  5. Run bochs.scpt. Bochs should launch from your C: drive and continue the installation.

On my G3 350, the entire installation, beginning with the setup.exe and finally arriving at the Windows desktop, took about 36 hours. A lot of this time was idle time, as I usually left the room and came back several hours later (or after a night's rest) to enter information or click through some buttons. Needless to say, Windows 98 under MacBochs is pretty much unusable on my hardware.

I'd be interested to hear about performance on some of Apple's latest iron.

Here are some reports I've received:

  • Joachim Becker installed Windows 98 on his G5 (1.6 GHz). Despite renicing the Bochs process for maximum CPU cycles, Joachim writes: Bochs is sooooooo slow. The status of the installer is 14% after one hour or so...
  • Jeff Scott installed Windows 98SE on his G5 (1.8 GHz) with 1 Gb RAM. He writes: Unfortunately windows 98 is VERY far from usable... taking around 10 mins to even boot, and the installation took around 5 hours. My G4 450 MHz cube outperforms it with Virtual PC.
  • David Kopec writes: I got your OS X Bochs instructions to work with an old copy of Win 95 on my G5 (1.8 GHz). Is it fast? No, but probably usable for the most simple of applications. Much slower than Virtual PC 3 on my G4 500 MHZ
  • Pete Vickers installed Windows 95 on his G4 Powerbook (1 GHz/15"). Installation time was 3 hours and he reports slow but acceptable performance.


Counter courtesy of bCentral