Ask Slashdot: Best 32-Bit Windows System In 2012?
First time accepted submitter justthinkit writes "I have a number of applications that will not run on 64-bit Windows, but I would like to gain the benefits (most better caching) of having more than 4GB of RAM. Am I stuck with these Windows operating systems? And why is Windows Server 2008 Datacenter and Enterprise not included on that page? Should I go with a Linux or Win 7/8 system, and run a VM of Windows XP? Is this a solved problem or a lost cause?"
What's wrong with running Windows 7 x64, and running your 32-bit applications in compatibility mode?
Do you need 3D accelerated graphics? If not, VM is the way to go. Just RDP to the machine and do what you have to do.
Love many, trust a few, do harm to none.
>> I have a number of applications that will not run on 64-bit Windows, but I would like...more than 4GB of RAM
Do you realize that many of your 32-bit applications would freak out in a 4GB memory space?
I've gotten some cranky Win32 apps to work on Win7 64 by getting the 32-bit dll files in the C:\Windows\SysWOW64 folder instead of C:\Windows\System32.
The naming conventions don't make any damn sense; they should have kept System32 for 32-bit files and created System64 for 64-bit files. But that's just me.
We are eternal, all this pain is an illusion.
A VM can have a 32-bit OS installed.
No sig today...
VM's can fake a 32bit cpu.... its almost like there isn't a real CPU and someone is just pretending or something...
- http://www.milkme.co.uk
Think about this critically: you probably want your operating system to be the master of its new hardware, and then you want it to interpret the needs of your older software.
If compatibility mode won't do it, set yourself up a VM and run everything in there. You can share a drive with the host OS and thus be nearly transparent.
It doesn't make sense to me to hobble the OS in order to run older software, when the newer OS is better with the newer hardware.
1. Yes
2. Dunno
3. Yes
4. Yes
5.... errm yes?
- http://www.milkme.co.uk
First and foremost, all consumer 32-bit windows versions are licensed to top out at 4GB. If you want more than 4GB, you will have to buy a (reassuringly expensive) server edition that permits it. Done. End of story.
The only other alternative is to get a 64-bit version of Windows 7 Pro. The Professional (and up) versions of Windows include something called compatibility mode, which is a free copy of Windows XP 32-bit, running inside a virtual machine. That's probably going to be your most cost-effective way of running your legacy apps on top of a 64-bit machine with oodles of RAM.
I suspect their problem is that they have 16 bit Windows code to run. 64 bit Windows can't run 16 bit code.
16 bit Windows code will work in 32 bit Windows (any version) or a 32 bit Windows running in a virtual machine on a 64 bit OS.
(Myself, I keep an old Win98 laptop around to run Quicken 6 on. Why? It's the only thing that can sync with the version of Pocket Quicken I have decades of checkbook data in. And it's 16 bit Windows 3.1 code.)
The guest CPU is the same as the host CPU on all popular VM solutions. If there is something in your applications that fails in the presence of a 64bit CPU, a VM isn't going to solve your problem.
I'm sure some thrifty assembly jockey writing vital-but-dreadful line of business applications in the 80s has a counterexample; but the mere presence of a 64bit CPU shouldn't cause any trouble for 16 bit applications. The issue is that MS dropped support for 16 bit applications on all 64-bit OS builds. A 32-bit OS on a CPU that supports 64 bits will run 16 bit applications without incident; but will only be able to use the first 4GB of address space without PAE, hence the poster's desire for a 32 bit OS with PAE support.
Not sure if this is of any use but the Windows 7 32bit Kernel can be hacked to properly support PAE and allow 64GB accessible memory under W7 32bit. W7 32bit was supposed include full PAE support but was nurfed at the last moment due to third party device drivers getting confused over the > 4GB memory space (I never had this issue).
A couple caveats come to mind:
# You have to patch the 32bit Kernel. Linky: http://superuser.com/a/95309
# Although you have access to >4GB of memory, no single process can use more than 4GB (minus graphics card memory)
I have used such a setup under W7 32bit SP1 for the last six months without issue as I needed the extra memory to run multiple VMs simultaneously.
HTH and good luck!
Seriously, it is real, real hard for me to find programs that don't run on 64-bit Windows these days. Windows has a flawless 32-bit user mode compatibility layer, so all 32-bit apps run no problem. The only cases that you have problems are:
1) Kernel mode stuff. There is no 32-bit kernel mode shit on 64-bit.
2) 16-bit programs. 64-bit Windows does have the 16-bit compatibility layer since there's no 16-bit mode you can access form long mode on the CPU.
3) Stupid programs that check the version and fail out, even though they'd actually run.
There just aren't many of those anymore. We use some amazingly fussy engineering programs at work, and they all run on 64-bit Windows these days.
So if your software really won't work, look and see if there's an update, or something else that'll do the job. If you just haven't tried it, then try it. Get a copy of 7 64-bit and see. I bet you have no problems. If you really have old 16-bit programs you need to run, do it in a VM, they can't benefit from modern system resources anyhow.
Indeed. I've found that some old applications (especially games from around 1999), tend to work on wine, while they fail to run on Windows > XP.
They may be few, but it's worth a try.
A 64bit CPU can have a 32bit OS installed. That's not the point. If the 64bit CPU is what causes his applications to fail (and not some software environment problem), then running the OS in a VM won't help because it doesn't change the CPU that the application will see. VMs are not CPU emulators. The code inside the VM runs on the host CPU.
No VM built for resource management convenience in a standard production environment is a CPU emulator, because that's horribly inefficient compared to doing passthrough. If you don't mind incurring substantial overhead, though, something like QEMU can do full emulation of an x86, ARM, MIPS, or SPARC CPU. Not at all fast, compared to passthrough(also supported with KVM or xen); but it can be done.
However you also have to deal with developers who's apps actually check what version you're running and won't even try to install.
It isn't much fun; but the Microsoft Application Compatibility Toolkit provides a mechanism for telling a large number of potentially useful lies to a program about the environment it is living in... Figuring out which ones you need is an exercise for the reader; but if you manage it you can then have the OS automatically furnish those little falsehoods every time the designated program runs.
It's a more powerful and granular version of the 'run in compatibility mode' feature, designed to keep the whiny enterprise customers happy.
This was briefly mentioned earlier, but I wanted to state clearly and concisely:
Windows 7 Professional, Enterprise, and Ultimate all include licensing for Windows XP Mode, a 32-bit virtualized instance of Windows XP SP3. It is an additional download (actually a couple downloads), but it is free. I use it every day at work (on my 64-bit Win7 machine) to run a 16-bit app that was written in 1992, while I wait for that app's replacement to be written. It works perfectly, in fact much better than VirtualBox did for the same use case (there was laggy/odd redrawing issues with VirtualBox, no matter how many resources I allocated to the virtual machine).