Windows 98 Qcow2 ((better)) Review

Windows 98 Qcow2 ((better)) Review

To create a Windows 98 environment using a qcow2 disk image, you'll primarily use QEMU, an open-source emulator. The qcow2 format is QEMU's native "Copy on Write" format, which is efficient because it only grows in size as you add data to the virtual disk. 1. Create the qcow2 Disk Image

First, you need to generate the virtual hard drive file. A size of 1GB to 4GB is usually perfect for Windows 98.

Open your terminal or command prompt and run:qemu-img create -f qcow2 win98.qcow2 2G 2. Boot and Install Windows 98

You will need a Windows 98 SE (Second Edition) ISO file. To begin the installation, use a command similar to the one below to launch the VM and boot from the "CD-ROM":

qemu-system-i386 -m 256 -hda win98.qcow2 -cdrom win98se.iso -boot d -cpu pentium3 -vga cirrus -net nic,model=pcnet -net user Key Configuration Tips:

Memory (-m): Set this between 128MB and 256MB. Going over 512MB often causes Windows 98 to crash during boot.

VGA (-vga): Using cirrus is highly compatible with the default drivers in Windows 98.

Sound (-soundhw): Use sb16 (Sound Blaster 16) for the best chance of audio working immediately. 3. The Installation Steps Once the VM starts, follow these classic setup steps: QEMU config for Windows 98 that will work with v86? #945

Here’s a solid Windows 98 QEMU/Proxmox post structure for a qcow2 image, covering creation, setup, and optimization.


Why use QCOW2 for Windows 98?

Step 3: The "Golden Image" Configuration

Once Windows 98 is installed to the qcow2, boot without the CD (-boot c). You will notice:

Shut down the VM. Now we append drivers to the boot arguments.

1. The RAM Limit Patch

Windows 98 crashes on startup if it sees more than ~1.5GB of RAM. Even with 512MB, you might get "Insufficient memory to initialize windows."

The Legacy Trap

The email from the client was short and panicked: "We have a legal hold on the design files for the 1998 Metro interface. The only machine that can read the proprietary format crashed. If we don't open these .prs files by tomorrow, we lose the case." windows 98 qcow2

I called the client immediately. "What kind of machine are we talking about?"

"A custom workstation," the client said. "It ran Windows 98. The hard drive is making a clicking noise. It’s dead."

I rubbed my temples. Finding a replacement hard drive for a 25-year-old proprietary workstation was possible, but not in 24 hours. Installing Windows 98 on modern hardware was a nightmare of driver incompatibilities and BIOS settings.

"Send me the drive," I said. "But I’m not fixing the hardware. I’m moving your house to a new neighborhood."

The Setup

Three hours later, a courier handed me a heavy, dusty tower. I didn't bother plugging in a monitor or keyboard. I popped the side panel, removed the failing IDE drive, and hooked it up to a USB-to-IDE adapter. My Linux workstation recognized it immediately, though the partition table was badly damaged.

I wasn't going to repair the file system on the metal. That was too risky. I needed a pristine environment.

I opened a terminal. I didn't reach for a Windows 10 ISO. I needed the specific environment the software was built for. I needed Windows 98.

The Command

I typed the search query into my browser: windows 98 qcow2.

For a sysadmin, this specific search string is a lifeline. It bypasses the need to hunt down a physical CD-ROM, rip it, and convert it. It looks for a pre-configured, copy-on-write disk image format (qcow2) used by QEMU and KVM. Ideally, I was looking for a ready-made image that had the OS installed, saving me an hour of installation time.

I found a trusted archive containing Win98.qcow2. I downloaded it and placed it in my working directory. To create a Windows 98 environment using a

Now came the surgery. I wasn't going to use that fresh image as my primary drive; I was going to use it as the "donor" for the operating system.

I created a new, larger disk image to house the system and the recovered data: qemu-img create -f qcow2 recovery_drive.qcow2 10G

Then, I cloned the fresh Windows 98 install onto the new drive: qemu-img dd if=Win98.qcow2 of=recovery_drive.qcow2

Finally, I needed to attach the client's failing drive as a secondary drive. I used ddrescue to image the physical drive into a raw image file first, to minimize stress on the dying hardware, then converted that raw image to qcow2 format.

qemu-img convert -O qcow2 failing_drive.raw failing_drive.qcow2

The Boot

I launched the virtual machine.

qemu-system-i386 -m 512 -hda recovery_drive.qcow2 -hdb failing_drive.qcow2 -enable-kvm

The window popped up. The familiar BIOS POST text scrolled by, followed by the iconic Windows 98 splash screen.

I held my breath. Windows 98 was notoriously finicky about hardware changes. Moving from a custom 1998 workstation to a virtualized Intel Icelake architecture could trigger a blue screen instantly.

The desktop loaded. It was a clean, default Windows 98 desktop.

I double-clicked My Computer.

Drive C: was the fresh Windows install. Drive D: was the client's old drive. Why use QCOW2 for Windows 98

I navigated to D:\Projects\Metro. The folder opened instantly. The proprietary .prs files were there. The file system corruption that prevented the old hardware from booting hadn't affected the actual user data.

The Export

The files were visible, but I couldn't just drag and drop them to my Linux host because Windows 98 doesn't understand modern network protocols or USB mass storage easily.

I had a trick up my sleeve. I shut down the VM and mounted the qcow2 image directly on my Linux host using guestmount.

guestmount -a recovery_drive.qcow2 -m /dev/sda1 /mnt/vm

I copied the files from the mounted image to a shared network folder. The client received the files twenty minutes later.

The Aftermath

The client asked, "Can you send back the working computer?"

"It never left," I replied. "You have the files. The computer is a 20MB file on my server called windows 98 qcow2."


Creating a qcow2 for Windows 98

  1. Create a new qcow2 image (e.g., 10–20 GB recommended):

    qemu-img create -f qcow2 win98.qcow2 15G
    
  2. Boot from Windows 98 installation ISO and a virtual floppy/ISO with MS-DOS/FDISK support, if needed:

    • Use a bootable Windows 98 CD ISO (or Windows 98 SE).
    • Provide a virtual floppy/iso with FDISK/FORMAT if you need to partition.
  3. QEMU command example for installation:

    qemu-system-x86_64 -m 256 -cpu pentium -machine pc,accel=kvm \
      -hda win98.qcow2 -cdrom Win98SE.iso -boot d \
      -device piix3-usb-uhci -usb -vga cirrus
    
    • RAM: 192–512 MB (Windows 98 runs fine on 64–256 MB; higher RAM may cause problems).
    • CPU: emulate a Pentium-class CPU for compatibility (-cpu pentium or qemu32).
    • Disk controller: default IDE/PIIX is appropriate.
    • VGA: use Cirrus Logic (-vga cirrus) or std/qxl with appropriate drivers; S3 Trio/Trio64 options are also common.
    • Avoid modern virtio devices unless you install matching drivers in Windows 98.