Is there any way to get a 64-bit Windows working with 32-bit UEFI?

Nazo

2[H]4U
Joined
Apr 2, 2002
Messages
3,670
So I'm starting to run into problems like a few applications (most notably VMWare Workstation Player) dropping all support for 32-bit systems. Because no one uses 32-bit anymore, right? Except there are a lot of devices that, sadly, still do -- usually for the wrong reasons. In this case I have the Acer Switch 10E (SW3-013.) This thing has a 64-bit processor of course (I wouldn't be starting this thread at all if it did not) but naturally they use a 32-bit UEFI implementation to save a few bucks. (And just another reminder of why I hate UEFI. It just isn't versatile at all. Legacy support should be replaced with something modern, but this is actually so minimal and poor that it feels like something from the early 80s...)

Now, I want to start out here by pointing out that this is basically possible. I realize the UEFI is supposed to match the OS, and that's a great theory, except most people don't get to choose their UEFI implementation and on devices like these there isn't even a legacy mode, so that entire theory of "proper implementation" is completely out the window until UEFI eventually someday maybe catches up to some of the basic stuff that legacy BIOSes have been doing for positively ages. Actually, I have evidence that 64-bit systems on a 32-bit UEFI are possible: Linux already does it. (Sadly, support for the proprietary hardware in this system is almost completely lacking, but it boots and I can plug in better supported devices with better results if I don't mind the battery dropping fairly quickly from powering all this.) I can literally boot up a 64-bit Linux OS from this 32-bit UEFI using 32-bit GRUB (which I hate and don't really know how to use, but, hey, it works) on a USB drive. Realistically speaking, once the initial bootloader starts, there's just no real reason it can't switch to 64-bit mode as per business as usual.

Unfortunately, simply placing the 32-bit EFI files on the install media is absolutely not enough to get it to start. It claims I don't have a 64-bit processor (I definitely do not just confirmed that way, but multiple other ways) and the system needs to be repaired. One thing I've been particularly wondering about is if it might be theoretically possible for some third party bootloader to load the Windows kernel?

EDIT: Somewhere else someone told me they had heard it was possible to modify the installation media in such a way that it thinks it's installing a 32-bit OS which would make a lot of sense certainly. Unfortunately, neither they nor I know how to actually do this.
 
Last edited:
If you can enable CSM (BIOS compatibility), you should be able to boot 64-bit Windows (in BIOS mode).
 
Um, wut? I thought UEFI was bit-agnostic and there was no differentiation between 32-bit and 64-bit? My mind is blown if what you say is true. :eek:
 
Honestly, I have no idea what you are going on about. First off, VM Ware Workstation player does not care about your UEFI implementation since it needs a host OS. The thing is, unless I am confused about what you are saying, you actually are trying to install a 64 bit OS on a machine with only 2GB of ram and 32GB of space? Then you want to install VMWare and on an Intel Atom processor? Can you say so slow that a Dell Dimension 2400 with the original hard drive would be faster? Regardless of the cpu specs, that machine is clearly designed to run a 32 bit Windows 8.1 installation only. (Or a Windows 10 upgrade 32 bit if it is supported.) Please show me a more real world example of what you are speaking about since the Acer machine is not that example. (That machine is designed from the ground up for 32 bit OS only from what I can see.)
 
From the Processor Compatibility section of the WIkipedia entry for UEFI:

EFI requires the firmware and operating system loader (or kernel) to be size-matched; for example, a 64-bit UEFI firmware implementation can load only a 64-bit operating system boot loader or kernel. After the system transitions from "Boot Services" to "Runtime Services", the operating system kernel takes over. At this point, the kernel can change processor modes if it desires, but this bars usage of the runtime services (unless the kernel switches back again).[24](sections 2.3.2 and 2.3.4) As of version 3.15, Linux kernel supports 64-bit kernels to be booted on 32-bit UEFI firmware implementations running on x86-64 CPUs, with UEFI handover support from a UEFI boot loader as the requirement.[25] UEFI handover protocol deduplicates the UEFI initialization code between the kernel and UEFI boot loaders, leaving the initialization to be performed only by the Linux kernel's UEFI boot stub.[26][27]
 
At the risk of sounding like a troll, dump that junk hardware and get something better for 100 bucks.
 
*Sigh* I wondered how long it would take for this. As always when I ask for help with something here where thinking inside the box doesn't work I must spend days with people telling me how terrible and wrong I am for wanting to do anything outside the box. But if the inside-the-box answer were sufficient I wouldn't be here in the first place as I'm perfectly capable of solving ordinary problems on my own. Here's the thing: I did not make this system. I did not choose to skimp and save a few bucks implementing a 32-bit UEFI firmware with zero legacy support on a 64-bit system. Unfortunately, most devices of this nature do this whether they should or not. And in a lot of ways the 32-bit UEFI sort of makes sense on a device like this, but the utter refusal to implement a legacy BIOS mode is just plain being a cheapskate on their part plain and simple. I can do nothing about this. Even for people who know Assembly code (I don't) writing a BIOS for a specific piece of hardware is incredibly complicated. This is something beyond my control, so fighting me about it is only wasting time and helping no one.

Let's please move on? Now, as I've already stated, we know Linux works. The thing is, there's no technical reason at all Windows can't do the same basic sort of thing. The question I'm putting forth here is if it can be made to actually do it. Now, it sounds like maybe people have, in fact, actually figured out a way to do this. However, my own googling hasn't resulted in finding this yet. Though that may be more a matter of the wrong search terms perhaps as I haven't been able to find actual discussion of it just yet.

Um, wut? I thought UEFI was bit-agnostic and there was no differentiation between 32-bit and 64-bit? My mind is blown if what you say is true. :eek:
No, sadly, it's officially only one or the other, but necessary stuff for both is often included and of course in 64-bit mode the processor can still execute 32-bit code. As I understand it it is possible to have implementations that do include both, but I think this is not actually official.

Honestly, I have no idea what you are going on about.
READ the first post and you will know.

First off, VM Ware Workstation player does not care about your UEFI implementation since it needs a host OS.
Never once I said it did. VMWare has dropped all modern support for 32-bit OSes and thus you can't get any recent copies of their software -- only old ones -- for 32-bit OSes. But guess what I stated in the first post? Yeah. UEFI is the reason that it is currently a 32-bit OS...

The thing is, unless I am confused about what you are saying, you actually are trying to install a 64 bit OS on a machine with only 2GB of ram and 32GB of space? Then you want to install VMWare and on an Intel Atom processor?
Yes. The specs suck. I don't need blazing speed, I need compatibility. However, 64-bit implementation doesn't actually slow things down, it just isn't any faster

Please show me a more real world example of what you are speaking about since the Acer machine is not that example. (That machine is designed from the ground up for 32 bit OS only from what I can see.)
No. It is clear you have no desire to help. Fine. But I don't have to explain every single thing I wish to do with this system and defend my reasons for wanting to use it in such a manner. All I'm going to say is I want it to be able to do various useful tasks on the go and I don't have enough money to buy something else. By the way, the processor does support hardware virtualization (though VMWare's implementation is very mixed, this still improves performance a bit.) Note that I've no intentions of running some sort of servers in constantly running VMWare sessions or something, just simple stuff.

At the risk of sounding like a troll, dump that junk hardware and get something better for 100 bucks.
That is trolling a bit. I'm pretty broke, but it would cost a heck of a lot more than $100 I assure you as even this was bought largely with a gift card while on sale and initially cost $250 before the sale and gift card. Not to mention even newer hardware with 64-bit UEFI solutions would be even harder to have anything OTHER than Windows 10 on it...
 
Last edited:
Guess I have never encountered a system with any level of neutered/restricted UEFI like this. Going to have to read up on this some more.
 
I wouldn't be the least bit surprised if you haven't run into this issue yet. For starters, there aren't many 32-bit only processors left anyway and most desktop systems are significantly more powerful, so it's just silly NOT to do 64-bit anyway and most things just go right into it. Generally you just won't find a 32-bit UEFI implementation on a modern desktop. This is more a laplet/netbook type problem as it's mostly just on them where such wonky implementations even occur. Plus even cheapskate motherboard manufacturers typically have to use a BIOS with legacy support -- it's just standard in the PC world still for now. (There is of course the exception of Apple because, well... Apple...) Basically this is a problem you're not likely to run into outside of a very limited range of devices.

Personally, I just don't really see why they had to implement it in such a limited non-versatile manner. This is supposed to be the BIOS of the future that replaces the horribly messy implementations that are legacy BIOSes. However, the end result is something with almost no control or options and problems like these (as well as others. For instance, it's very tough to install some versions of 32-bit Windows on a 32-bit UEFI because they think they have to be in legacy mode if it's 32-bit but on devices like these there simply is no legacy mode support at all. I think it was specifically 7 with this issue, but I really can't recall. Maybe the original 8.0?) This is NOT the BIOS of the future. This feels like something from the earliest days of PC BIOSes being implemented to me. This is more like starting over from scratch throwing away all that has already been worked on for so long.
 
So I'm starting to run into problems like a few applications (most notably VMWare Workstation Player) dropping all support for 32-bit systems. Because no one uses 32-bit anymore, right? Except there are a lot of devices that, sadly, still do -- usually for the wrong reasons. In this case I have the Acer Switch 10E (SW3-013.) This thing has a 64-bit processor of course (I wouldn't be starting this thread at all if it did not) but naturally they use a 32-bit UEFI implementation to save a few bucks. (And just another reminder of why I hate UEFI. It just isn't versatile at all. Legacy support should be replaced with something modern, but this is actually so minimal and poor that it feels like something from the early 80s...)

Now, I want to start out here by pointing out that this is basically possible. I realize the UEFI is supposed to match the OS, and that's a great theory, except most people don't get to choose their UEFI implementation and on devices like these there isn't even a legacy mode, so that entire theory of "proper implementation" is completely out the window until UEFI eventually someday maybe catches up to some of the basic stuff that legacy BIOSes have been doing for positively ages. Actually, I have evidence that 64-bit systems on a 32-bit UEFI are possible: Linux already does it. (Sadly, support for the proprietary hardware in this system is almost completely lacking, but it boots and I can plug in better supported devices with better results if I don't mind the battery dropping fairly quickly from powering all this.) I can literally boot up a 64-bit Linux OS from this 32-bit UEFI using 32-bit GRUB (which I hate and don't really know how to use, but, hey, it works) on a USB drive. Realistically speaking, once the initial bootloader starts, there's just no real reason it can't switch to 64-bit mode as per business as usual.

Unfortunately, simply placing the 32-bit EFI files on the install media is absolutely not enough to get it to start. It claims I don't have a 64-bit processor (I definitely do not just confirmed that way, but multiple other ways) and the system needs to be repaired. One thing I've been particularly wondering about is if it might be theoretically possible for some third party bootloader to load the Windows kernel?

EDIT: Somewhere else someone told me they had heard it was possible to modify the installation media in such a way that it thinks it's installing a 32-bit OS which would make a lot of sense certainly. Unfortunately, neither they nor I know how to actually do this.
What exactly happens if you try to install a windows 10 on your pc? Will it not install? Have you tried?
 
What exactly happens if you try to install a windows 10 on your pc? Will it not install? Have you tried?
Unfortunately, simply placing the 32-bit EFI files on the install media is absolutely not enough to get it to start. It claims I don't have a 64-bit processor (I definitely do not just confirmed that way, but multiple other ways) and the system needs to be repaired. One thing I've been particularly wondering about is if it might be theoretically possible for some third party bootloader to load the Windows kernel?

Well, that's 8.1. I will not install 10 on here.
 
Well, that's 8.1. I will not install 10 on here.

What exactly are you trying to do? Trying to instal Windows 8.1 x64 on a PC that doesn't meet the requirements? And you think it should work because Linux can boot an x64 OS after booting off a janky 32 bit UEFI implementation?
 
I am trying to install Windows 8.1 64-bit edition on a system with modern hardware including a 64-bit multi-core CPU.

That is all. I will respond to no further trolling. This is why I hate this site. I end up spending a week "justifying" why I want to fix what I want to fix instead of actually fixing it.
 
I am trying to install Windows 8.1 64-bit edition on a system with modern hardware including a 64-bit multi-core CPU.

That is all. I will respond to no further trolling. This is why I hate this site. I end up spending a week "justifying" why I want to fix what I want to fix instead of actually fixing it.
you ever actually answered all my questions? did you try to install windows (8.1 or whatever). What happened when you tried?
 
Back
Top