Ubuntu – How to configure Grub4dos menu to boot 16.04.5 i386 iso on non- PAE CPU (forcepae)

bootgrub4dosisomenupae

After you properly configure Grub4dos entry to boot from an iso image (i.e. in such a way that it allows to boot on modern machines with PAE) for i386 iso of ubuntu 12.04.5 or more recent, you might face the following problem – after loading kernel you get 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 modification should be done to the (almost working) grub4dos menu.lst entry:

title Run Ubuntu 16.04.5 x86
find --set-root /ubuntu-16.04.5-desktop-i386.iso
map --read-only --heads=0 --sectors-per-track=0 /ubuntu-16.04.5-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz  file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=/ubuntu-16.04.5-desktop-i386.iso splash
initrd /casper/initrd

Best Answer

In case you need to be able to boot Ubuntu 12.04.5, 14.04 or more recent from an .iso image (up to last i386 iso available) on an older machine from eg. USB pendrive and want to use Grub4dos your entry in menu.lst should be modified to include forcepae parameter at the end of kernel line like this:

title Run Ubuntu 16.04.5 x86
find --set-root /ubuntu-16.04.5-desktop-i386.iso
map --read-only --heads=0 --sectors-per-track=0 /ubuntu-16.04.5-desktop-i386.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz  file=/cdrom/preseed/ubuntu.seed boot=casper iso-scan/filename=/ubuntu-16.04.5-desktop-i386.iso splash forcepae -- forcepae
initrd /casper/initrd

Hope this helps somebody in the future, I had some beginners problems with making the entire Grub4dos entry work. You may be also interested in this thread: How can I install on a non-PAE CPU? (error “Kernel requires features not present on the CPU: PAE”)

Related Question