How can I install on a non-PAE CPU? (error "Kernel requires features not present on the CPU: PAE")

After burning Ubuntu 12.04 to a CD, I tried booting and got the message:

This kernel requires the following features not present on the CPU:
pae

Unable to boot - please use a kernel appropriate for your CPU.

What does this mean?


Solution 1:

The error message means that your CPU does not support PAE extensions - that is a technique which allows a 32bit CPU to address more than 4GB of memory address space.

By default, 12.04 and later versions of Ubuntu expects a CPU with this capability:

PAE is provided by Intel Pentium Pro and above CPUs, including all later Pentium-series processors (except the 400 MHz-bus versions of the Pentium M). It is also available on other processors with similar or more advanced versions of the same architecture, such as the AMD Athlon[dubious – discuss] and later AMD processor models. wikipedia

While the above is strictly true, old systems which have the memory controller on the motherboard may not "expose" the CPU's PAE support, effectively making them non-PAE.

There is a heated bug report about this; Canonical has decided that the default Ubuntu Desktop install will expect PAE support.

A few suggested workarounds:

Workaround 1: Install Lubuntu or Xubuntu, then install the regular Ubuntu Desktop

  • Install either Lubuntu 12.04 32-bit or Xubuntu 12.04 32-bit; both of these use a non-PAE kernel by default.
  • Once you boot into your new Lubuntu/Xubuntu, you can then switch to the default Unity desktop by installing the ubuntu-desktop package.

Workaround 2: Install an older version and then upgrade to 12.04

Install 10.04 or 11.10 and then upgrade to 12.04. See the linked question below for 12.10.

Workaround 3: If you have a wired internet connection, use the "net install" mini-CD

  • You will need a reasonably fast wired connection for this method -- all packages will be downloaded over the internet.
  • Download the non-PAE netboot CD image mini.iso and burn it to a CD or USB.
  • Boot from it, follow the steps, and choose linux-generic when asked to choose a kernel, and ubuntu-desktop to get the "default" Ubuntu installation the regular Desktop CD would have given you, just with a non-PAE kernel.
    • You can also choose one of the other desktops. You should choose a desktop otherwise you will not have a GUI to play with after installation.

Workaround 4: Ubuntu 12.04.5 and 14.04 (or later) on Pentium M only

  • Ubuntu 12.04.5 and 14.04 support an option ("forcepae") to enable PAE on Pentium M CPUs (where it is disabled by default). To enable it:

    • Boot the 32-bit Ubuntu (or Xubuntu etc.) installer
    • When the image of the keyboard and little man in circle appears hit the Tab key
    • "Choose your language" popup appears. Use the cursor keys and hit the Enter key to choose your language
    • Press F6, a grey menu will popup with some boot options
    • Press escape to close the window
    • You will now see a line that says:

    Boot Options file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash --

    Edit this line and add the forcepae parameter with spaces twice around the -- at the end:

    Boot Options file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash forcepae -- forcepae

    • forcepae -- forcepae note:

      forcepae is required twice because it sets the boot parameters for two different kernel boots - the kernel that runs as part of the installer (left of --), and the kernel that runs on the installed system (right of --).

      The text at the end should be -- forcepae not --forcepae. There is a space between -- and forcepae

    • Hit the Enter key, hopefully Ubuntu will boot and the rest of your install will be successful. If you have graphical problems with Unity, or just find it slow, try a more lightweight distribution like Xubuntu.


Linked Question:

  1. How can I tell if a machine has PAE?
  2. Will it be possible to use a non-pae kernel in recent versions of Ubuntu?

Solution 2:

There is a custom iso available (use at your own risk).

It worked for me, and I just had to install the relevant updates when I was done.

Solution 3:

Many thanks for all the suggestions and assistance.

I couldn't work out how best to give a report back of how I got on, so I'm writing it as an "answer".

It took all of yesterday evening and through the night chugging away, but I now have 12.04 LTS running and working perfectly on my eight-year-old little Samsung laptop (of which I'm very fond, despite its rather feeble processing power). I am due to treat it to a brand new hard drive as Ubuntu warns me that its current one is about to cark it.

Here are the steps it took to get 12.04 LTS working on this non-PAE machine:

  • Installed 11.10 again from scratch using the option to completely remove 9.10 and replace it
  • Installed all the updates via Internet
  • Took up the offer of downloading the upgrade to 12.04 LTS over the Internet
  • This ground to a halt due to the 6GB of disk space being all used up

Bah. I did not want to eat into the Windows XP partition, and didn't see why I needed more than 6GB of disk space just to have Ubuntu for general web browsing and checking emails, so I started again:

  • Installed 11.10 again from scratch using the option to completely remove the knackered 12.04 LTS install and replace it
  • Did not install any of the updates
  • Removed a load of programs and applications from 11.10
  • Tried again to upgrade to 12.04 LTS via internet connection
  • Disk space ran out again and installation had to be aborted

I tried looking at how the disk was partitioned, and there were about four partitions in addition to the XP. I rather blindly and haphazardly deleted all of them except for the XP one and a ca. 300 MB swap partition, and created a new one for the Ubuntu partition with the number "4" and a single "\" or "/" involved in it somewhere. I was sort of past caring (and losing the will to live) by that point and was crossing my fingers that my XP partition wouldn't be trashed.

At that point I also read that before upgrading to 12.04, you should update all software on the existing [11.10] release. (So my ploy of deleting loads of programs would have come to naught). I also discovered the link to the alternative CD iso file, so burned that to a CD rather than using the internet (even though the internet connection is faster than reading from a CD at 70MB/s thanks to a recent free BT [British Telecom] upgrade). My reckoning was that I could preserve disk space by using the CD because the more recent updates wouldn't be downloaded during the installation.

So, onward, I tried this:

  • Installed 11.10 again from scratch using the option to remove the incomplete 12.04 LTS and replace it
  • Installed all the suggested 11.10 updates via internet connection
  • Rebooted, removing wired internet connection and switching off wireless
  • Upgraded to 12.04 LTS offline using alternative CD (left it chugging away all night)
  • Rebooted in the morning
  • Downloaded and installed updates via internet
  • Rebooted

And hurrah! It now works (as does booting to Windows XP, phew), without a single glitch or incompatibility. I'm very impressed that all the Fn key combinations work, the wireless works, the screen looks great, and the speakers can be made to have their volume much louder than in Windows (meaning I don't have to use headphones most of the time to hear anything). I can even scroll up and down using the right-hand edge of the touchpad without having had to enable the feature! Plus, the hard drive doesn't grind away incessantly as has become the case with Windows. I love the Ubuntu font and, again, the outstanding readability of screen text on Ubuntu (noticeably better than Win or Mac in my opinion). Having the launcher at the left of the screen I wasn't too keen on at first glance, but having read the reasoning behind that design choice, it's something I'll try to get used to. It sensibly uses the abundant horizontal space to free up some of the much more scarce vertical space.

I'll end the gushing and waffling here with thanks again to everyone for their advice. I hope this description of my trials, errors and eventual success is of use to someone!

Solution 4:

This answer completes existing answers on a bare metal installation with settings needed for an installation in Virtual Box.

Expose PAE to a virtual machine in Virtual Box

The kernel shipped with Ubuntu >= 12.04 is a PAE kernel by default.

From installations in Virtual Box the PAE capability of the CPU (if supported) can be exposed to the virtual machine. Choose "Enable PAE/NX" from the Virtual Box Manager System -> Processor settings:

enter image description here

In case this option is greyed out your host CPU does not have this feature. Only then you will have to install a non-pae kernel.

Solution 5:

Some alternatives:

  • Install fake-pae (on 12.04, then you can upgrade to 12.10 and 13.04) as described in Ubuntu help page.

  • Do a fresh install of lubuntu-fake-pae which is 13.04.

  • Install another Ubuntu-based distro that does not require PAE, such as Puppy Retro or Bodhi Linux.