Ubuntu 14.04 LTS live USB boot error (gfxboot.c32:not a valid COM32R image)

I downloaded Ubuntu 14.04 (64 bit) lts. I made a bootable usb stick. But I keep receiving this error message upon booting:

SYSLINUX 4.04 EDD 20110518 Copyright (C) 1994-2011 H. Peter Anvin et al
Unknown keyword in configuration file: gfxboot.c32: not a COM32R image

Answers 4

  • As Filip Sohajek mentioned, you need to hit Tab.

    Then you will see a set of options (live, live install, etc). Select the one that you like typing its name and pressing Enter.


  • Permanent fix using the defective bootable USB itself

    Short version

    TL;DR; for when you know what you're doing:

    In the boot: prompt after you hit the error above, type live and press Enter, to start the Live USB session.

    Open a terminal (e.g. with Ctrl+Alt+t) and type each command line below one by one:

    sudo -i
    apt-get update
    apt-get install syslinux
    mount | grep cdrom
    

    The last command above shows you to which device your bootable USB is connected.

    Important! replace /dev/sdb1 in the command below in the terminal with the device in the output of the last command above:

    syslinux /dev/sdb1
    

    Reboot and enjoy!

    Long version

    This error happens because you used a distribution with an earlier version of the syslinux package to create the bootable USB of a distribution expecting a later version (thanks, Amir Ali Akbari for the bug link).

    This error also happens if you're using, say, Ubuntu 14.04 to make a bootable USB stick for anything from Ubuntu 15.04 and above.

    The workaround mentioned by Filip Sohajek in Lucio's answer works, of course, but considering the Utopic release notes I linked above, and the workaround mentioned there to use the same Ubuntu version as the boot image to create the boot image, it should be possible to fix the issue permanently from within the live CD itself:

    Boot the bootable USB stick until you get to the error message:

    Unknown keyword in configuration file: gfxboot.c32: not a COM32R image
    boot:
    

    At the boot: prompt, type live and press Enter (no need to press TAB, as it only serves to show you the options available to you, including live).

    Once you're inside the live Ubuntu session, configure it so you can access the internet (e.g. by connecting to a WiFi network).

    Open a terminal window (e.g. press Ctrl+Alt+T). And type the following sequence of commands one by one (saying "Yes" to any confirmation prompts):

    sudo -i
    apt-get update
    apt-get install syslinux
    

    The first gives you root access and the last two install the newer syslinux package you need to fix your bootable USB. So now you need to figure out what exactly are you fixing, i.e. what is the device name where your bootable USB is connected.

    In the terminal window above type

    mount | grep cdrom
    

    You should see an output like

    /dev/sdb1 on /cdrom type vfat (... lots of irrelevant mount flags ...)
    

    The most important part is the first "word" above. It'll usually be /dev/sdb1 but it could be something else if you have more disks attached to your machine.

    Alternatively, you can launch the gparted command from the user interface and go through the disks to see which device is connected to /cdrom

    Now type the command below in the terminal window, being very careful to replace /dev/sdb1 with the device you got from the previous command:

    syslinux /dev/sdb1
    

    The last command above overwrites the earlier version of syslinux in the boot sector of your bootable USB device partition with the correct version that matches the distribution itself.

    That's it! Now reboot and you should be able to go through the normal GUI flow of the Live USB.

    Of course, if you have a bootable Ubuntu media that doesn't have an evaluation option, like the Ubuntu Server installation media, you can't use it to fix itself, but you can use the desktop version to fix the server version with the instructions above. Just plug the server version media into the usb after the desktop version is already booted and use the device for the server version in place of /dev/sdb1 above.


  • When I attempted to solve this, I got a few different options, but it worked. Following Filip's answer, I pressed TAB and then a few choices popped up (none of which were "live" or anything containing "live" but it did say "Install", so after typing install and hitting enter it gives you choices for screen resolution, and then will proceed to the installation. So, a bit confusing, but it does work!


  • This doesn't work for me. I get:

    Initramfs unpacked failed: junk in compressed archive. (...) Kernel panic - not syncing: VFS: Unable to mount root fs on unknown block(2.0) (...)

    I had to adopt a very ugly solution, but it worked like a charm. I went into a friend's office, ask him to let me use one of the computers running Microsoft Windows. I think it was Windows 7 or 8, in any case more modern than Windows XP but not yet this recent one with the Cortana stuff... Then I created a usb disk with ubuntu, by downloading first a small program called Universal USB Installer and everything went fine.


Related Questions