Page 1 of 1

Solved: VESAMENU.C32 not a COM32R image

Posted: 25 Jul 2015, 02:48
by rara
Issue: When booting Porteus, I get a "VESAMENU.C32 not a COM32R image" error and the boot process stalls.

Known workarounds:

(1) Hitting <Tab> to display the various booting options and then choosing one could help proceed with the boot process without solving the problem.

(2) Entering the necessary "Cheat codes" at the "boot:" prompt can help proceed with the boot process without solving the problem.

Diagnosis: The problem is usually caused by a version mismatch of "VESAMENU.C32" that is expected and one that is present.

How to reproduce: The problem can be reproduced by copying the contents of a working Porteus image (from a live memory stick) from a thumbdrive as against the ideal method of copying from installer image or instead of doing a proper installation.

Usually people try to test a distro by running it from a live USB image. Then they copy that image to another location (say a hard disk partition). The copied image works fine from the USB but when copied to another location, unlike the usual documentation says, it doesn't.

The issue is caused by difference in the version of VESAMENU.C32 (or CHAIN.C32 for that matter) used by the distro and the installer (say unetbootin, YUMI and so on).

Solution: Solution lies in copying the correct version of VESAMENU.C32 from the ISO image of the distro as distributed by the developer(s).

This "problem" is not Porteus specific. Web has reports of this problem occuring with many other distros. In case of Porteus the bootloader used is syslinux. So if cascading problems occur with other binaries the entire syslinux folder can be copied from the Porteus distribution image and copied to "/boot/syslinux" folder.


(1) I am new here and not sure if this is the right section to post. If not, apologies and could someone move it to the right section or nudge me in the right direction?

(2) This is not really a bug report. I ran into this problem but found out that it wasn't really a Porteus issue. But since I managed to fix the problem, thought this would be a nice solution to share with the rest of the world. Particularly because when I was googling for a solution, I didn't really find any clear solution to the problem.

(3) I have capitalized file names at places for better readability. Linux file names are case sensitive. So use the right capitalization when typing.

(4) The contents of this article are written by me based on knowledge gained from world wide web and my own attempts at fixing the issue. But if any parts of this write-up violate any copyrights please report here. I'll be happy to accredit the original work.

Re: Solved: VESAMENU.C32 not a COM32R image

Posted: 25 Jul 2015, 03:38
by francois

Know that porteus works automatically out of the box for most computer.

How did you install your porteus os on the usb key?
Why are you interested by porteus linux?
What is the linux box you did run porteus on?

Re: Solved: VESAMENU.C32 not a COM32R image

Posted: 25 Jul 2015, 05:51
by rara
Thanks francois.

Yes, I agree. I feel Porteus is a well sorted distro and will work out of the box in most cases. My problem was due to a different reason and it's solved already by now. Before running into the issue I had successfully tested Porteus on three different machines. Happy to report that it worked flawlessly and detected all hardware properly.

For testing purpose I had installed Porteus on a MicroSD card alongside some other lightweight distros using YUMI. Porteus was able to run well in this configuration. But since the memory stick is just a testing ground, I wanted to install Porteus on hdd after being satisfied. And here is where I made the mistake. Instead of using the recommended method of extracting from distro image and deploying on the hdd partition, I used a shortcut and just copied it from the memory stick to the hdd and ran the installer. My reasoning behind the above step was that I didn't want to lose my configuration changes. I could very well apply the changes after installing in the text-book manner but I was being lazy. So, ahead I went with copying from SD Card -> hdd. Ran the installer and boot. Here is where the "vesamenu.c32 ....." problem started to occur.

After a bit of digging around I was able to nail the problem. The problem was that -- the YUMI installer uses a different version of binaries (vesamenu.c32, chain.c32 etc) than Porteus. When I copied Porteus from SD Card, I copied the YUMI version of syslinux bootloader along with Porteus. And for some reason Porteus wasn't happy. I unpacked the Porteus distro image, copied the vesamenu.c32 from the image and bingo, the problem went away.

I hope you have all the answers you wanted. Here are the answer to your questions briefly:

How did you install your porteus os on the usb key? -- See above.
Why are you interested by porteus linux? -- I like to try lightweight linux distros. My interest is to find alternates to Windows that are rich on features and need less resources to run.
What is the linux box you did run porteus on? -- Do you mean hardware? I ran it on two netbooks of entry level spec and one notebook of mid level spec. All with Windows preinstalled and later partition modified to accommodate other OSs.