VOGONS


First post, by AM_PM

User metadata
Rank Newbie
Rank
Newbie

My first post, hopefully in the right place. I've come across this forum several times before and it's great to join!

So basically, I am trying to get Windows 3.1 run on an Atom netbook that has 2GB RAM. To simplify the process, I used Virtual PC 2007 on the same machine to install MS-DOS 6.22 and Win 3.1 into a virtual machine, take the resulting .VHD and write the image into an SD card using Rufus and run it from the card.

Without making any changes: the netbook boots into DOS fine, and mem tells me a total memory of 65,150K. But it fails to boot Win 3.1: at the logo screen after a few seconds it returns to the prompt and says overflow. It does boot fine into Standard mode (win /s) but I'd like to get it working in proper Enhanced mode. After some research suggesting it is down to the high memory, I made changes to system.ini by adding MaxPhysPage and MaxFileCache values to limit the memory, but these made no changes at all.

Some more research led me to HIMEMX from the FreeDOS project. I put the himem.exe in C: and added it to the config.sys replacing himem.sys. Trying to start Windows now would give the error PageOverCommit is too large. Trying to fix this in system.ini with PageOverCommit as =4, =3, =2, would say the same error. Changing it to =1 would give the error Insufficient memory or address space to initialize Windows in 386 enhanced mode. Forget about Standard mode, it does not boot at all with HIMEMX present instead of the original HIMEM.

Further research led me to add a /max memory value to HIMEMX in config.sys to limit the allowed memory, and I tried several values. Now finally, Windows 3.1 does boot to the logo screen, but after a few seconds returns back to the DOS prompt empty without any notices or errors.

As a final experiment, I tried Windows 3.0 instead (again from a VM install to an SD): it booted fine in Real mode, but in Enhanced mode it hangs at the logo screen, and Standard mode immediately makes the whole machine hard reboot.

And now I'm lost. Does anyone know of any ways to get Windows in Enhanced mode to work?

Reply 2 of 7, by Harry Potter

User metadata
Rank Oldbie
Rank
Oldbie

I heard it mentioned here before that you can use a RAM drive to "eat" most of available memory thereby decreasing the memory visible to Windows. XMSDSK's docs report that XMSDSK can support RAM drives up to 2GB. You can find a link to it at https://dosprograms.info.tt/indexall.htm under the Utilities section. Also, I think HIMEM.SYS can limit the amount of supported RAM, but I don't remember the right parameter. Type "help himem.sys" on the DOS command prompt for more information, and you can open "CONFIG.SYS" in a text editor and add the proper switch and value.

Joseph Rose, a.k.a. Harry Potter
Working magic in the computer community

Reply 3 of 7, by DarthSun

User metadata
Rank Member
Rank
Member
AM_PM wrote on 2025-10-24, 21:56:
My first post, hopefully in the right place. I've come across this forum several times before and it's great to join! […]
Show full quote

My first post, hopefully in the right place. I've come across this forum several times before and it's great to join!

So basically, I am trying to get Windows 3.1 run on an Atom netbook that has 2GB RAM. To simplify the process, I used Virtual PC 2007 on the same machine to install MS-DOS 6.22 and Win 3.1 into a virtual machine, take the resulting .VHD and write the image into an SD card using Rufus and run it from the card.

Without making any changes: the netbook boots into DOS fine, and mem tells me a total memory of 65,150K. But it fails to boot Win 3.1: at the logo screen after a few seconds it returns to the prompt and says overflow. It does boot fine into Standard mode (win /s) but I'd like to get it working in proper Enhanced mode. After some research suggesting it is down to the high memory, I made changes to system.ini by adding MaxPhysPage and MaxFileCache values to limit the memory, but these made no changes at all.

Some more research led me to HIMEMX from the FreeDOS project. I put the himem.exe in C: and added it to the config.sys replacing himem.sys. Trying to start Windows now would give the error PageOverCommit is too large. Trying to fix this in system.ini with PageOverCommit as =4, =3, =2, would say the same error. Changing it to =1 would give the error Insufficient memory or address space to initialize Windows in 386 enhanced mode. Forget about Standard mode, it does not boot at all with HIMEMX present instead of the original HIMEM.

Further research led me to add a /max memory value to HIMEMX in config.sys to limit the allowed memory, and I tried several values. Now finally, Windows 3.1 does boot to the logo screen, but after a few seconds returns back to the DOS prompt empty without any notices or errors.

As a final experiment, I tried Windows 3.0 instead (again from a VM install to an SD): it booted fine in Real mode, but in Enhanced mode it hangs at the logo screen, and Standard mode immediately makes the whole machine hard reboot.

And now I'm lost. Does anyone know of any ways to get Windows in Enhanced mode to work?

I haven't been able to start it in protected mode yet, standard mode works for me too.
Omores managed to do it: https://www.youtube.com/watch?v=JbXkvM3b2Qg&t=184s

The 3 body problems cannot be solved, neither for future quantum computers, even for the remainder of the universe. The Proton 2D is circling a planet and stepping back to the quantum size in 11 dimensions.

Reply 4 of 7, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Some ideas that come to mind..
- use an older himem.sys with 16 MB limit (MS-DOS 5) rather than 64 MB limit (MS-DOS 6.x, Windows 3.1x)
- try himem.sys from Windows 9x (MS-DOS 7.x)
- try QEMM 7 or higher, it'll switch to V86 and install its own himem.sys replacement if no himem.sys is installed
- try IBM PC-DOS 2000 or 7.x, it has a newer himem.sys that's internally different to MS-DOS himem.sys

PS: Using V86 memory managers such as EMM386, QEMM, 386Max etc has the advantage that the physical A20 Gate nolonger matters.
In V86 mode, A20 Gate is being emulated/under control of the Virtual Machine Monitor (EMM386 etc).

That might be useful, because newer PCs nolonger have an A20 Gate.
Not that it matters for MS-DOS 6.x itself, it barely cares about the A20 state, but more sophisticated applications might care

Btw, generally speaking, running MemMaker might help to optimize memory for Windows 3.1x, as well.
It sets up EMM386 correctly and configures it for Windows.

Edit: About running Windows 3.0 in 386 Enchanted-Mode..
Please make sure that WINA20.386 is in root directory of your boot drive.
The file is stored on Disk 1 of MS-DOS 5, I think. Or maybe another one.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 5 of 7, by DarthSun

User metadata
Rank Member
Rank
Member
Jo22 wrote on 2025-10-25, 04:14:
Some ideas that come to mind.. - use an older himem.sys with 16 MB limit (MS-DOS 5) rather than 64 MB limit (MS-DOS 6.x, Windows […]
Show full quote

Some ideas that come to mind..
- use an older himem.sys with 16 MB limit (MS-DOS 5) rather than 64 MB limit (MS-DOS 6.x, Windows 3.1x)
- try himem.sys from Windows 9x (MS-DOS 7.x)
- try QEMM 7 or higher, it'll switch to V86 and install its own himem.sys replacement if no himem.sys is installed
- try IBM PC-DOS 2000 or 7.x, it has a newer himem.sys that's internally different to MS-DOS himem.sys

PS: Using V86 memory managers such as EMM386, QEMM, 386Max etc has the advantage that the physical A20 Gate nolonger matters.
In V86 mode, A20 Gate is being emulated/under control of the Virtual Machine Monitor (EMM386 etc).

That might be useful, because newer PCs nolonger have an A20 Gate.
Not that it matters for MS-DOS 6.x itself, it barely cares about the A20 state, but more sophisticated applications might care

Btw, generally speaking, running MemMaker might help to optimize memory for Windows 3.1x, as well.
It sets up EMM386 correctly and configures it for Windows.

Edit: About running Windows 3.0 in 386 Enchanted-Mode..
Please make sure that WINA20.386 is in root directory of your boot drive.
The file is stored on Disk 1 of MS-DOS 5, I think. Or maybe another one.

The file is on disk 1 of MS-DOS 5, I think. Or maybe on another one.
I'll try this, I've tried the others, no luck...

The 3 body problems cannot be solved, neither for future quantum computers, even for the remainder of the universe. The Proton 2D is circling a planet and stepping back to the quantum size in 11 dimensions.

Reply 6 of 7, by AM_PM

User metadata
Rank Newbie
Rank
Newbie

Thanks for all the answers. Well I got it to work, but not how you'd expect it!

I tried the AHCIFIX method from Omores's video but it didn't work. From what I remember, it at least got into the logo boot screen but it hung. I tried taking HIMEM.SYS from MS-DOS 5.00 and putting it into 6.22, I tried a newer one from a Win 98SE boot disk... I think I also booted with WINA20.386 (it already existed in my 6.22 but I got the one from 5.00 also), no luck yet again. I installed QEMM but didn't work with that either (although I'm unsure if I set it up correctly?). Only the XMSDSK mentioned here I did not try out.

But finally I got Windows 3.1 Enhanced to boot by simply using MS-DOS 5.00. I installed 3.1 on that on the virtual machine, transferred the VHD over to the netbook, and it booted absolutely fine vanilla without changing anything! Unless I made a mistake somewhere, it seems that MS-DOS 6.22 is being problematic.

I was going to try PC-DOS 7.x first as you (Jo22) mentioned but the only reason I didn't is because the download from WinWorld gave me .XDF files that Virtual PC 2007 doesn't read (it only does .IMG), and this is why I went with MS-DOS 5.00 instead. Out of curiosity, after I finally got it to work, I tried Windows 3.1 on DR DOS 6.0 to see if it will work. It was a success also on DR DOS, but not in Standard mode as it returned to the prompt with an error message which I forgot. As for Windows 3.0... it still did not work whether MS-DOS or DR DOS. In fact, it doesn't even work on the virtual machine I installed it on! I don't know what's wrong with it, it just hangs on the boot screen or in Standard mode hard reboots, but otherwise works fine in Real mode. It would be nice to see a cause and fix for 3.0 as well.

So anyone else facing issues with Windows 3.1 (like you DarthSun), try a different DOS version.

Reply 7 of 7, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

Windows 3.1 is so speed and memory friendly that it works with even a Windows 98SE HIMEM.SYS. and 4GB of ram. just do not use any second hand memory managers. QEMM works good. Only PageOverCommit is needed for large memory machines and it will tell you at startup that. So the problem lies somewhere else.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.
PS. If I upload RAR, it is a 16-bit DOS RAR Version 2.50.