1

I had Windows and Ubuntu both installed in UEFI mode. Then I installed 32-bit Ubuntu (there was no UEFI partition in the list of partition types, so I just installed it as is without specifying UEFI partition). So now I have 3 OS. The problem is: when I trying to load laptop in UEFI mode there are only Windows, to load Linux'es I should turn on Legacy mode. I want to return list of OS in UEFI mode.

R S
  • 2,419
  • 1
    You need to use 64 bit with uefi (32 bit does not support uefi) . The boot menu in EFI is usually in the BIOS, see the troubleshoting section of http://askubuntu.com/questions/221835/installing-ubuntu-on-a-pre-installed-windows-with-uefi – Panther Feb 29 '16 at 15:17

1 Answers1

0

Most modern EFIs are 64-bit. The main exceptions are some tablets and netbooks, which have 32-bit EFIs. This detail (EFI bit depth) is key because the bit depth is somewhat "locked in" by the bit-depth of the EFI. There are ways around this, though. I know of two, one of which has two sub-options:

  • Use the Compatibility Support Module (CSM) -- CSM is EFI's tool for supporting older BIOS-mode boot loaders. It sounds like you installed your computer using the CSM. Ordinarily, this is a Bad Idea because it greatly complicates the boot path; however, if you really need to boot a 32-bit OS, it may be the simplest way to do so. The trouble is getting it to co-exist with 64-bit EFI-mode OS installations, since switching between the boot modes (BIOS/CSM/legacy vs. EFI/UEFI) is tricky. I know of two ways to do this:
    • Use the firmware's boot manager -- This is typically accessed by hitting Esc, Enter, or a function key (usually F8 or higher) early in the boot process. You can then select between named EFI boot loaders and BIOS-mode boots of disks. This is usually an awkward solution.
    • Use rEFInd -- My rEFInd can switch from its native EFI-mode boot to a BIOS-mode boot. This ability is disabled by default on PCs, though; you must edit refind.conf and uncomment the scanfor option, ensuring that hdbios is among the options. Thereafter, you should see a boot menu option for performing a BIOS-mode boot.
  • Use GRUB -- GRUB can't switch from EFI-mode to BIOS-mode booting (or vice-versa); but it can load a 32-bit kernel from a 64-bit boot, or vice-versa. Ideally, typing sudo update-grub from the 64-bit, EFI-mode Ubuntu should cause it to detect the 32-bit kernel from your new installation and add it to the menu. If not, you may need to do some manual reconfiguration. Note that this is pretty "bleeding-edge" stuff, so it may not work easily or as you expect. I've never done it myself.

Before ending, I'd like to question why you're trying to boot a 32-bit OS. In most cases, there's no need for this. Even if you depend upon some old 32-bit-only binary, you can usually get it to run in a modern 64-bit Ubuntu via compatibility libraries.

If you really do need to run a 32-bit distribution, it may be better to do so inside a virtual machine (VirtualBox, QEMU, VMware, etc.). This practice will eliminate the need for any boot loader hoop-jumping, and is likely to be a little safer overall (although you've already repartitioned, which is part of the risk).

Rod Smith
  • 44,284
  • 7
  • 63
  • 105