Ubuntu – Install 32 bit ubuntu along side 64 bit windows 8

32-bituefi

I need to install Ubuntu 32 bit alongside windows 8 64 bit. Can anyone tell me how to get windows/UEFI to run the 32 bit disk? I have disabled secure boot and gotten a 64 bit disk to run, but I need 32. If you are wondering why, I'm trying to fix something on my phone and the tools require 32 bit linux. I also need to either use the live DVD or actually install it. A USB or virtual machine won't work.

Best Answer

First, why do you think you need a 32-bit Ubuntu? Today, there's seldom any real need for this type of setup, and it does complicate a dual-boot configuration with Windows 8 in EFI mode, so I strongly recommend against it unless it really is needed.

If you really do need a 32-bit Linux, try this:

  1. In your firmware setup utility, disable Secure Boot.
  2. In your firmware setup utility, enable CSM (aka "legacy") support. Ultimately, you'll want your firmware to switch easily between BIOS/CSM/legacy mode and EFI/UEFI mode, and most offer an "automatic" setting of some sort to enable this; but for now, forcing the system to BIOS/CSM/legacy-only mode will work as well, if not better. Unfortunately, different computers have different user interfaces, so I can't tell you exactly what this option is called. You'll have to hunt for it.
  3. Boot the Ubuntu medium in BIOS/CSM/legacy mode. Sometimes, you'll see a choice of two boot options for the medium, one of which includes the string "EFI" or "UEFI" in it and the other of which does not. Select the option that does not include the EFI/UEFI string to boot in BIOS/CSM/legacy mode.
  4. Proceed with the Ubuntu installation normally.
  5. If you set the computer to boot in BIOS/CSM/legacy mode only, reset it to support both boot modes, if possible.

Once Ubuntu is installed, you'll need to find a way to dual-boot. Broadly speaking, there are three options:

  • You can rely on your firmware's built-in boot manager to switch between EFI-mode (Windows) or BIOS/CSM/legacy-mode (Linux) boots. This is usually a bit awkward, but some people find it acceptable. Unfortunately, some EFIs have such poor user interfaces that this option is literally unavailable.
  • You can use rEFInd as your boot manager. Install it in Windows and edit the refind.conf file: Uncomment the scanfor line and ensure that hdbios is among the options. When you reboot, you should see an option for Windows and a gray diamond-shaped icon that should boot to the GRUB that your 32-bit Ubuntu installer installed. Unfortunately, the EFI features that rEFInd uses to boot a BIOS-mode boot loader aren't available on all computers, so this option might not work for you; but if it does, it can be a convenient way to proceed.
  • You can install a 64-bit (yes, 64, not 32) EFI boot loader for Linux and configure it to boot your 32-bit kernel. I know this is possible with some EFI boot loaders, but not with all of them. (The EFI stub loader can't do it, for instance.) I'm sure that at least one of GRUB 2, Fedora's patched GRUB Legacy, and ELILO can do this job, but I can't promise that any specific one of them can do it.

Unfortunately, there are a few EFIs that are so inflexible that a BIOS/EFI dual-boot is impossible. If you've got one of them, your only hope is to use a 64-bit EFI boot loader for Linux.

Given all the caveats and the pretzel-twisting that's required to get this to work, I think you can see why I recommended sticking with a 64-bit version of Linux.