64-bit windows on 64-bit processor with 32-bit UEFI?
Windows is Windows. Microsoft doesn't typically do fancy things to Windows unless they are good reasons or perceived value to it.
Microsoft doesn't focus on that odd system configuration. Typically, if your system is 64-bit capable, then the board it is associated with would have a 64-bit enabled UEFI.
However, in your case, probably ASUS wanted to save every penny it can, being an ultra budget system, so the smallest capacity memory chip was used for the UEFI. As the system was aimed to run 32-bit OS, it was a perfect fit. 32-bit UEFI is smaller than the 64-bit variant, so they went with that.
As the UEFI is 32-bit, the boot loader that would be installed by the OS, would be 32-bit, which in turn, would normally, be able to only interact with 32-bit programs/files, and so it could only start a 32-bit OS (Windows, in this case).
Keep in mind that OEM systems tend to be designed for specific configurations that they sale their system, they don't assume CPU models, graphics card, and so on, that won't be sold. They only design their system hardware based on what they know for sure before hand, or potentially later on, based on competition and market response. (This is also why OEM system, back in the BIOS days, were always faster to startup than custom build systems. The system knew exactly its hardware, so no or limited detection were needed during the POST stages).
So Microsoft assumes that if you install 64-bit Windows, than everything is 64-bit compatible. So the bootloader is 64-bit and is designed to interact with 64-bit files/programs to get the OS to start.
Linux world is a bit different. Being open source, many things have features with no or very limited values in the real world. This is because it is open source, if someone wants to showoff it's coding skills, they essentially can. If someone has a specific situation that is unique to them, then there is no business case that needs to be done to justify the work needed, a dev can just do it. As a result, someone implemented GRUB to support 64-bit booting despite being itself in 32-bit. It's probably a lot of hack. But this is part of the reason the saying "you can install Linux on anything, even a microwave" holds mostly true. It's because you have all these niche cases that are taken into considerations done by developers on their free time to make it work. As for Microsoft, they just go:
"While cool and all, this affect 6 people at most in our billions users case.... they can install 32-bit version, which would better suit their system specs in any case, or buy a used/new system that better fits their needs... we are not going to spend hundred of thousands of dollars in engineer time to work on this... beside we have drag and drop support to add on the taskbar, which we think is more important to the majority of our Windows 11 users".
So essentially this the story. Now on how GRUB can do this, I don't know. I have to look at the source code, and try and understand.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now