Linux USB boot disk error: Failed to load COM32 file menu.c32 50

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



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/syslinux/bios/ to the root of USB drive and then boot with the USB device.

1. libcom32.c32

2. menu.c32

3. libutil.c32

user@computer:$ cd /usr/lib/syslinux/bios/
user@computer:$ cp libcom32.c32 menu.c32 libutil.c32 rootofusbdrive


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


50 thoughts on “Linux USB boot disk error: Failed to load COM32 file menu.c32

  1. Reply Linus Terminalwilds Jun 10,2018 12:37 pm

    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.

  2. Reply Jose Mar 31,2018 2:14 am

    Still working in 2018 🙂 Thanks

  3. Reply zM_ Jan 29,2018 11:47 pm

    Hell yeah ! Thanks for this, Ajo, you saved my day.

  4. Reply Shanti Aug 23,2017 1:12 pm

    Sorry about my ignorance, but where is root in the usb?

  5. Reply AliceMarkBB Dec 4,2016 3:55 pm

    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 :).

  6. Reply chris Nov 20,2016 7:05 pm

    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.

  7. Reply Leandro Solagna Sep 30,2016 5:47 pm

    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.

  8. Reply marcos Feb 8,2016 2:55 am

    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.

  9. Reply Jubbe Dec 7,2015 9:05 am

    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! 🙂

    • Reply Ajo Paul Dec 11,2015 4:12 am

      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.

  10. Reply Yours Truly Nov 21,2015 11:35 am

    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).

  11. Reply Karl Nov 10,2015 6:44 pm

    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

  12. Reply Ragnar Sep 20,2015 10:58 am

    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.

  13. Reply gbirk45 Aug 8,2015 11:14 pm

    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.

  14. Reply Chois Jul 28,2015 12:00 pm

    desdepues de mucho lo relví, gracias Ajo Paul eres la onda, tambié me funcionó en multisystem

    I also worked in multisystem

  15. Reply Felix Jun 12,2015 6:15 pm

    Panas, excelente aporte. me funciono…

  16. Reply Jiri J. May 24,2015 4:55 pm

    Worked for me too.

    On debian testing (stretch/sid), with Unetbootin v. 608-1 (installed via apt).

    The mentioned files were in


    Thank you very much, this saved my day!!

  17. Reply auro May 7,2015 6:41 am

    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. 😀

  18. Reply Fabien Mar 12,2015 3:42 am

    this worked great for me as well.
    One thing though : my files were located there :
    thanks !

  19. Reply Ulrich Brunhuber Feb 7,2015 4:51 pm

    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!


  20. Reply Brian G Jan 21,2015 1:52 pm

    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!


  21. Reply dede Jan 19,2015 12:05 am

    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? 🙁

  22. Reply Christopher Were Jan 17,2015 11:19 pm

    Addendum: After upgrading unetbootin, I finally managed to get the USB working. Thanks everyone for the tips.

  23. Reply Christopher Were Jan 17,2015 10:37 pm

    Unfortunately this did not work for me. I followed everything to the letter and it came up with the same error.

  24. Reply Vincent Jan 13,2015 7:37 pm

    Merci beaucoup pour ces informations.
    Tout s’est passé pour le mieux après vos instructions!
    Merci pour tout!

  25. Reply Mike Jan 12,2015 2:52 am

    You can also try this to install the newer version of Unetbootin

  26. Reply Mike Jan 12,2015 2:51 am

    You can also try this to install the newer version of Unetbootin

  27. Reply Fresa Jan 7,2015 2:37 am

    Thanks for the tip, it really worked.

  28. Reply Pedro S. Dec 29,2014 12:04 am

    Thank you, thank you =)

  29. Reply love Dec 17,2014 5:16 pm

    the right directory is :

    and not /usr/lib/syslinux/bios/

    thanks for sharing

  30. Reply Marvel HN Nov 27,2014 12:34 pm

    wowww… work for me 🙂


  31. Reply Luis Nov 6,2014 11:11 pm

    Works to me too. When start show a warning message but go ahead and starts normally.


  32. Reply taipan Nov 6,2014 6:31 pm


    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 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.

    • Reply Ajo Paul Nov 8,2014 8:05 pm

      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.

  33. Reply taipan Nov 6,2014 6:44 am

    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 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.

    • Reply Ajo Paul Nov 6,2014 3:01 pm

      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.

  34. Reply leo Oct 25,2014 6:26 pm

    This worked for me too. Thank you

Leave a Reply