I tried to burn a Linux ISO to a bootable USB disk, and while booting the disk, it failed with the below error message:
Failed to load COM32 file menu.c32
boot:
Apparently this is due to a recent change in syslinux library modules. Not sure if its a bug Unetbootin can fix or any other package related bug.
But the solution is simple.
copy the below files from /usr/lib/
1. libcom32.c32
2. menu.c32
3. libutil.
Update:
If the above files were not enough and if you are getting the below message as Taipan in comments observed,
Failed to load COM32 file vesamenu.c32
copy /usr/lib/syslinux/vesamenu.c32 as well to the root of USB device and try again.
Hope this works. Source of the above solution is here.
Update1: 13-Feb-2015
Commenter Fabien has noted his location of the above files was as shown below
/usr/lib/syslinux/modules/bios/
Linux devs just don’t get it. Just how many people do you think will install your OS if it has a buggy installer?!? “It’s just one line of code in your terminal to fix it..” just doesn’t cut it. Very sad.
Still working in 2018 🙂 Thanks
Welcome Jose!
Hell yeah ! Thanks for this, Ajo, you saved my day.
Sorry about my ignorance, but where is root in the usb?
At first I thought it would take time to fix this error after trying to burn Trinity Rescue usb many times, but actually your solution work well only after a few minutes copying files. Now I can see Trinity Kit’s welcome screen again. Thanks a lot :).
Hi! My quick-fix was to format the USB stick and then run unetbootin again (on a Mac). Worked for me. Guess unetbootin does not over-write menu.c32.
Hi there,
Just giving a notice, I’ve been trying this procedure for a couple of days now and after a few tries, I noticed that you need to copy the 4 files before uploading the images. It’s a very small detail but it worked.
Anyways, thank you for writing a solution to this problem.
gracias muy util, ya encontrare la manera de devolver lo aprendido a la comunidad gnu/gpl.
Probado y funcionando con imagenes de Gparted, fedora 22, y mandriva.
Saludos
Welcome!
Hey, guys, yayy! Got it to boot!
Very excited about learning about linux and alot of other stuff 🙂
Just one question though! 😉
So, I copied the files mentioned above.
However, I found an already existing menu.c32 file on root, so I only copied the other files. This didn’t work, so I replaced the already existing menu.c32 file with another sligthly smaller menu.c32 file from a folder named boot (Im using Tails).
This worked, it booted.
My question then is, does replacing the already existing menu.c32 file with the one from the folder boot pose and Threat/Risk/Systemfailure issues of any sort?
Thank you all very much for all the help so far!
All the best! 🙂
Jubbe, No there is no security threat in replacing the file. It’s just that usb creation was not successful and you had to manually copy those files.
My USB USB worked fine on a Dell Latitude laptop, but failed with a.m. error messages on a different laptop.
I found a simple solution: In BIOS options change the boot order from “UEFI first” to “Legacy first” (UnetBootin USB, TAILS 1.7 live image, Lenovo ThinkPad X220i, Linux Mint 17).
I’m running Kubuntu 15.4 with its Startup Disk Creator.
I had to copy/replace the files into the usb-drive-root/syslinux
Here with lubuntu 14.4 32-bit (which I wanted to be on the USB-drive) the problem was the gfxboot.c32
This did not work for me however when I copied the required .32 files into the isolinux directory on the USB drive as opposed to the root, I was able to boot.
Thanks for this. I had older Unetbootin burns working, yet new ones (after a recent install) not working. Had me puzzled a bit, so googled the error before I went looking for the missing menu.c32 file. Your solution verified what my intuition was telling me to do (just copy the missing files over to the USB stick) when my reasoning was saying “That’s too easy, that won’t work”. Well, it did. Thanks.
Glad it worked for you mate.
desdepues de mucho lo relví, gracias Ajo Paul eres la onda, tambié me funcionó en multisystem
I also worked in multisystem
Panas, excelente aporte. me funciono…
Worked for me too.
On debian testing (stretch/sid), with Unetbootin v. 608-1 (installed via apt).
The mentioned files were in
/usr/lib/syslinux/modules/bios/
Thank you very much, this saved my day!!
if you have troubles copying the files directly the operator for copying in the terminal for me was “sudo cd -a soucelocation destinationtobecopiedto” but that will copy the entire folder specified. perhaps someone could share some code for all 4 of the said files for some of us novices. 😀
sorry that wasn’t ‘cd’ after sudo, it was ‘cp’
you can use this line
sudo cp libcom32.c32 menu.c32 libutil.c32 /destination/
hello,
this worked great for me as well.
One thing though : my files were located there :
/usr/lib/syslinux/modules/bios/
thanks !
Glad it worked for you Fabien, will update the post with your file location
same-same. my kali machine too has the bios creeping at the following location;
root@kali:/usr/lib/syslinux/modules/bios#
thanks for the post~
I found that files
1. libcom32.c32
2. menu.c32
3. libutil.c32
4. vesamenu.c32
on my PC (Ubuntu 14.10)
here/usr/lib/syslinux/modules/bios/ an copied in the root of the USB Stick.
It workes!
Thanks!
you are welcome Ulrich 🙂
Thank you, this resolved it for me also.
I noticed that I was running into a similar scenario as taipan above in that I was using Ubuntu 14.10 to create an Ubuntu 14.04 USB image using the 603 unetbootin. I tried installing the 608 version first but the .bin file would not run due to a missing libpng12-0 dependecy so I located the unetbootin 603 in Synaptic and used it instead. Thanks again!
Brian
I just copied all the files called above into my usb root, but unfortunately it says “Failed to load COM32 file vesamenu.c32” although vesamenu.c32 is also in usb root. Any ideas? 🙁
can you check the file size and the permissions for the said file ?
Addendum: After upgrading unetbootin, I finally managed to get the USB working. Thanks everyone for the tips.
Unfortunately this did not work for me. I followed everything to the letter and it came up with the same error.
Merci beaucoup pour ces informations.
Tout s’est passé pour le mieux après vos instructions!
Merci pour tout!
Vous êtes les bienvenus!
You can also try this to install the newer version of Unetbootin
http://www.sysads.co.uk/2014/06/install-unetbootin-608-ubuntu-14-04/
You can also try this to install the newer version of Unetbootin
Thanks for the tip, it really worked.
Thank you, thank you =)
the right directory is :
/usr/lib/syslinux/modules/bios/
and not /usr/lib/syslinux/bios/
thanks for sharing
wowww… work for me 🙂
thanks
Works to me too. When start show a warning message but go ahead and starts normally.
Thanks
Ajo,
A few more details for you – the full story.
Over the weekend just gone, I had to reinstall Ubuntu 14.10. No issues there.
I then used Startup Disk Creator to make a live USB stick with Ubuntu 14.10 on it & it was a success. I then tried to do make another live USB stick with Ubuntu 14.04 on it with Startup Disk Creator. When I tried to boot off that stick I got the same error you did, I wrote it down:
Failed to load COM32 file menu.c32
I then reformated that unsuccessful USB stick & used UNetbootin 603 to make a live version of Ubuntu 14.04 on the same stick. When I tried to boot the stick I got the same error message.
I then searched the internet & came across your post. I copied all the files you listed to the USB stick but when I rebooted with that stick, the error message changed to:
Failed to load COM32 file vesamenu.c32
I also tried to use UNetbootin 603 to make a live USB stick with Linux Mint 17 on it, a different USB stick, and when I tried to boot with it I got the first error message, the same as yours.
Eventually I went to http://unetbootin.sourceforge.net/ and realised there was a later version of UNetbootin, 608, & I downloaded it.
With version 608 I successfully made two live USB sticks; one with Ubuntu 14.04 and the other with Linux Mint 17.
What I don’t understand is why Startup Disk Creator made a successful live stick for Ubuntu 14.10 but not for Ubuntu 14.04 minutes later. It may have something to do with differences in the kernal and hence syslinux.
Whatever the reason, UNetbootin 608 worked for me and that is what I’ll be using for now.
Thanks for the details Taipan. Looks like /usr/lib/syslinux/vesamenu.c32 should also be copied to USB disk root. I have updated post to include this as well.
Nope, even with the vesamenu copied to the root I still get the “Failed to load …” error. Then again I’m actually trying to get Hiren’s Boot iso on the USB. The official documentation assumes the user has crappy Windows installed on his system and also all the tools shipped with the download are EXEs…
This video worked like a charm: https://www.youtube.com/watch?v=biwFgB9PUpM
I tried copying the files you list but it did not work for me.
I have discovered that the problem may be due to us using an old version of UNetbootin.
I use Ubuntu & the version of UNetbootin supplied by its repositories is version 603. When I use this I get the same problem as you.
By going to http://unetbootin.sourceforge.net/ you can download version 608 which is the latest version, having been released in August 2014.
If you use version 608 you can create live USB sticks all Linux distros.
Being a newbie I do not know how to install version 608 on my computer. If I dtry I end up installing version 603. So by using the CLI chmod command or right clicking on the downloaded version of UNetbootin in Nautilus it is possible to change the file to be executable.
Once this has been done it’s a matter of double clicking of the file icon in Nautilus to get UNetbootin to run – just like you would if you were using Windows.
Taipan if you copy those files it should have worked. What is the error you got after rebooting using the drive? or is it a different failure altogether?
Yes you are correct it could be due to an old version of Unetbootin.
This worked for me too. Thank you
Welcome 🙂