QEMU/Guests/Windows 3.1: Difference between revisions

no edit summary
computernewb>Undefishin
No edit summary
 
No edit summary
 
(11 intermediate revisions by 3 users not shown)
'''[[How to install Windows 1/2 in QEMU|< Windows 1.x/2.x]]''' | '''[[How to install Windows 95 in QEMU|Windows 95 >]]'''
{{DISPLAYTITLE:How to install Windows 3.1 in QEMU}}
 
[[File:31Desktop.png|thumb|The Windows 3.1 desktop.]]
'''Windows 3.1''' is an operating system created and released by Microsoft in April 1992. This release was notable as it was the first version of Windows to gain notable attention - previous releases were very niche and weren't widely used.
[[File:Win300.jpg|thumb|The Windows 3.0 desktop.]]
'''Windows 3.1''' is an operating system created by Microsoft, released in April 1992. There is its earlier version called '''Windows 3.0''' and another version called '''Windows 3.0 with Multimedia Extension'''. There is an updated version called Windows for Workgroups 3.11 which adds support for networking and there is a (very rare) updated version of Windows 3.1, simply named "Windows 3.11". This article covers both Windows 3.1 and Windows for Workgroups 3.11.
 
There were a few editions of Windows 3.1; Windows 3.1 for Central and Eastern Europe (adds Cyrillic support), Modular Windows (which ran on the Tandy VIS), embOS (embedded version), Windows 3.11 for Workgroups (adds networking support), Windows 3.11 (a very rare kernel update that didn't have the networking support), and finally, Windows 3.2, which is a Simplifed Chinese localization of 3.1.
==Running on CollabVM==
Windows 3.1 depends on MS-DOS. You must install MS-DOS first before installing Windows 3.1.
 
This article will cover how to set up Windows 3.11 with mouse drivers, sound, network, and full graphics, but it should work for all versions of Windows 3.1.
There are no USB drivers for Windows 3.1, as USB did not exist at the time (releasing nearly 4 years after Windows 3.1's initial release), so a perfect mouse is unfortunately not possible.
 
==Before you start==
There is a VMWare graphics adapter for Windows 3.1 floating around. For PCNet drivers, you can find them [http://www.scampers.org/steve/vmware/ here].
Windows 3.1 depends on DOS, and it must be installed before you can run it - the minimum being DOS 3.1 for Windows 3.1, and DOS 3.30 for Windows 3.11. See [[QEMU/Guests/MS-DOS_3.30|this page]] for instructions on how to install DOS 3.30. It will also work on DOS 6.22 and modern versions of FreeDOS.
 
386 Enhancedenhanced Mode for Windows 3.1mode works in QEMU, but it's can be a littlebit buggy on certain systems. If it freezes up for you, usetry running <code>WIN /S</code> toat startthe itDOS inprompt standardto modedisable it.
 
You can find the Windows 3.11 and MS-DOS floppy disks on either WinWorldPC or [https://www.kirsle.net/msdos Kirsle].
For an MS-DOS installation guide, check out [[MS-DOS]] for tips.
 
==Starting upInstallation==
===QEMUPre-Installation===
Make an image by opening the Terminal (or Command Prompt) and typing this:
====Pre-installation====
Make a qcow2 image (or a raw image if you want) by typing
<pre>qemu-img create -f qcow2 win31.img 150M</pre>
 
[[How to create a disk image in QEMU|See this page for more information on how this command works.]]
'''150M''' can be replaced with however big you want the hard drive to be (with M standing for Megabytes). Windows 3.1 is VERY compact (being released in the early 90s) and only requires around 8 MB of disk space. However, if you want your users to install/run any programs, we recommend at least 50 MB of space. Windows 3.1 requires at least MS-DOS 3.1, we recommend MS-DOS 6.22 for best performance however. You can also run 3.1 under FreeDOS, but a few things don't work properly when running under FreeDOS (mainly 386 enhanced mode).
 
You should see an output like this:
 
[[File:QEMU Img Created.png|500px]]
 
Now we're ready to go.
 
===Installation===
Next, we start QEMU like this:
<pre>qemu-system-i386 -cpu 486 -m 16 -hda win31.img -fda /path/to/DOS/disk1.img -nic user,model=rtl8139,ipv6=off -vga vmware -usb -device usb-tablet -device sb16</pre>
 
Breakdown of the above command: <code>qemu-system-i386</code> is the name of the QEMU emulator, obviously. <code>-cpu 486</code> specifies our CPU - in this case, the Intel 486. You can run <code>-cpu ?</code> for a full list. <code>-m 16</code> sets the memory, in this case, 16 MB of RAM. <code>-hda win31.img</code> is the hard drive. <code>-fda /path/to/DOS/disk1.img</code> is adding a floppy drive, which needs to be changed to point to the first DOS floppy disk. <code>-nic user,model=rtl8139,ipv6=off</code> adds a virtual NIC (in this case, the 10 mb/s Realtek 8139C+ Fast Ethernet card). We disable ipv6 since it won't work in 3.11. <code>-vga vmware</code> adds an emulated VMWare SVGA card to the VM. <code>-usb</code> adds a USB controller. <code>-device usb-tablet</code> adds a USB tablet device. And finally, <code>-device sb16</code> adds a SoundBlaster 16 sound card to the system.
 
Once DOS is installed its recommended to install [https://computernewb.com/QEMU/dosidle.img DOSIdle] which will stop DOS from using all CPU when idle. To install it, download the linked file, start QEMU, press Ctrl-ALT-2 and type <code>change floppy0 /path/to/dosidle.img</code> then press CTRL-ALT-1 to switch back. Load DOSIdle like so:
 
<pre>
C:\>a:
A:\>dosidle
</pre>
 
Next its time to install Windows 3.1. Insert the Windows 3.1 floppy in a similar manner to the DOSIdle floppy, by pressing Ctrl-Alt-2 (or going to the View -> compatmonitor0), typing <code>change floppy0 /path/to/WfW311-1.img</code>, and pressing Ctrl-Alt-1 (or going to View -> VGA). With that, its time to load the setup:
 
<pre>
C:\>a:
A:\>setup
</pre>
 
If all goes well, you should see a screen like this:
 
[[File:WFW Setup.png]]
 
Hit enter. Choose express setup. Change floppies as necessary, and fill out all the info (you don't need the Product Number). Skip installing the printer.
 
===Networking setup===
'''If you are installing Windows 3.1 without Workgroups/networking, you can skip these steps.'''
 
Eventually, you'll reach the "Network Setup" screen. Click on "Networks..." and make sure that "Install Microsoft Windows Network" is ticked.
 
[[File:WFW Setup2.png]]
 
Hit OK and then hit Continue. You'll then reach a screen like this:
 
[[File:WFW Setup3.png]]
 
Make sure "Unlisted or Updated Network Adapter" is selected, and click OK. Download [https://computernewb.com/QEMU/rtl8139.img the RTL8139 floppy disk driver], and insert it into QEMU (CTRL-ALT-2 -> <code>change floppy0 /path/to/rtl8139.img</code> -> CTRL-ALT-1), set the path to "A:\", make sure "Realtek 8139 Fast Ethernet Adapter" comes up, and click OK.
 
You'll reach a window asking for the username, workgroup, etc. You can change the info or leave it as default, it doesn't matter too much. Finish off the rest of the install (you may have to insert the rtl8139.img floppy again a few times), skip the tutorial, and choose "Restart Computer". In the DOS prompt, type <code>WIN</code> to start Windows. If all went well, you should be here:
 
[[File:WFW Setup4.png]]
 
This window above will set your password if its your first time logging in, so make sure its something you'll remember. You can just leave it blank if wanted. Next, we'll get TCP/IP working. Windows 3.11 didn't come with support for TCP/IP so we'll have to install it manually.
 
[https://computernewb.com/QEMU/tcpip.img Download this floppy] and save it somewhere. Insert it into QEMU (CTRL-ALT-2 -> <code>change floppy0 /path/to/tcpip.img</code> -> CTRL-ALT-1). Go to Main -> Windows Setup (on the first bootup that should already be open) -> Options -> Change Network Settings
 
[[File:WFW Setup5.png]]
 
From here, click "Drivers..." and then click "Add Protocol...". Make sure "Unlisted or Updated Protocol" is selected, then hit OK. On the next window make sure "Microsoft TCP/IP-32 3.11b" is selected then hit OK.
 
[[File:WFW Setup6.png]]
 
If all goes well, it should install several applications, and TCP/IP should be ready to go. A configuration prompt will pop up. DHCP can be a bit finnicky, so if it doesn't work, you can try the following config:
 
*IP Address: 10.0.2.15
*Subnet Mask: 255.255.255.0
*Default Gateway: 10.0.2.2
 
Once this is all done, if everything worked as it should, you should have internet access!
 
===Mouse setup===
The mouse setup is pretty simple. This step is optional.
 
[https://computernewb.com/QEMU/vmmouse.img Download the vmmouse floppy driver]. Insert it into QEMU (CTRL-ALT-2 -> <code>change floppy0 /path/to/vmmouse.img</code> -> CTRL-ALT-1). Go to Main -> Windows Setup -> Options -> Change System Settings. Click on the Mouse dropdown, and scroll down until you see "Other mouse (Requires disk from OEM)". Set the path to <code>A:\</code>. You should see "VMware mouse" (even though we're on QEMU, the tablet device is backwards compatible with the VMware mouse). Select it and hit OK. Make sure its selected in the dropdown, hit OK, and restart Windows.
 
[[File:WFW Setup7.png]]
 
You should now have a smooth mouse!
 
===VGA setup===
Now we'll set up the generic SVGA driver which will allow for up to 256 colors. [https://computernewb.com/QEMU/SVGA.img Download the SVGA floppy driver]. Insert it into QEMU (CTRL-ALT-2 -> <code>change floppy0 /path/to/SVGA.img</code> -> CTRL-ALT-1). Go to MS-DOS prompt, type <code>A:</code>, and type <code>VGAPATCH P</code>. This will patch the generic VGA driver to work with QEMU. Type <code>exit</code> and go back to Windows. Go to Main -> Windows Setup -> Options -> Change System Settings, click on the "Display" dropdown, and scroll down until you see "Other display (requires disk from OEM)". Set the path to A: and select any resolution from ET4000 (not Super VGA!). You can go up to 1024x768 with 256 colors. I chose 800x600 with 256 colors.
 
[[File:WFW Setup8.png]]
When that's done, run the following command:
 
Click OK, Click OK again, and restart Windows. If all went well, it should now work!
<pre>qemu-system-i386 -hda win31.img -fda (DOS Floppy Disk 1).img -boot ca -cpu pentium -m 16 -vga vmware -net nic,model=pcnet -net user -localtime</pre>
 
[[File:WFW Setup9.png|600px]]
No KVM, MS-DOS works with KVM but Windows 3.1 freezes instantly, so we don't want it. This command does not require root privileges.
 
===Sound Card setup===
We need to install MS-DOS first, so you need to locate:
And finally, we'll set up the sound card. Fortunately, it's even easier than all the previous steps! Go to Main -> Control Panel -> Drivers -> Add... and scroll on the List of Drivers until you find Creative Labs Sound Blaster 1.5. Select it and hit OK.
*MS-DOS 6.22 installation floppies
*Windows 3.1 installation floppies
 
[[File:WFW Setup10.png]]
You can find both of these at WinWorldPC or [https://www.kirsle.net/blog/entry/ms-dos-and-windows-3-1 Kirsle.net]. Install MS-DOS like you would on a normal computer (all you have to do is hit "enter" repeatedly). To change the floppy disks, press CTRL + ALT + 2 to switch to the QEMU console, and type "change floppy0 (DOS Floppy Disk 2).img" and so on. Press CTRL + ALT + 1 to switch back.
 
Insert WfW 3.11 Disk 5 and hit OK. On the Sound Blaster Setup, choose Port 220 and Interrupt 5.
Once MS-DOS is installed we can begin installation of Windows 3.1. Change floppies the same way we did with MS-DOS. Follow the installation guide. If you have ever installed Windows 95, XP, or even Windows 10, it's basically the exact same thing, it's really simple.
 
[[File:WFW Setup11.png]]
Once Windows 3.1 has been successfully installed, you can install the drivers (guide is available [https://www.howtogeek.com/230359/how-to-install-windows-3.1-in-dosbox-set-up-drivers-and-play-16-bit-games/ here]) and either install programs or quit.
 
Ignore the warning, and restart Windows. If all goes well, you should hear the startup chime. You can double check by going to Control Panel -> Sound and testing one of the wav sounds.
You may want to add Windows 3.1 to start with MS-DOS. This is really simple. Exit Windows 3.1 (or use the MS-DOS Prompt), and type "edit C:\autoexec.bat". At the last line, type start C:\WINDOWS\WIN.COM and save the changes. Your VM will now start with Windows 3.1.
 
==What's next?==
====After installation====
That's it! We now have a full Windows 3.11 installation with networking, sound, a smooth mouse, and 4:3 256 color support! From here, you can install some abandonware, some games, or even just some old software your company still depends on for some reason. Enjoy.
 
==Good sites for Windows 3.1 software/games==
<pre>qemu-system-i386 -hda win31.img -boot ca -cpu pentium -m 16 -vga vmware -net nic,model=pcnet -net user -localtime</pre>
*[https://winworldpc.com WinWorldPC]
*[https://archive.org/details/softwarelibrary_win3 Archive.org]
*[https://www.myabandonware.com/ My Abandonware]
 
[[Category:Windows installation guides]]