As far as I know, ubuntu live usb versions use syslinux as bootloader whereas, when installed, the default is GRUB2. This makes replicating the boot experience a bit more involved than just copying the config files.

LiveUSB boot-experience:
1. It appears a splash image, purple with a symbol on the lower side of the screen, which shows you how to intervene in the boot process
2a. If you don't press any key on the keyboard in like 15s, the bootloader goes on booting the default session
2b. If you press any key you are shown a menu where you could "tweak" the boot process (set language, what to boot, etc.)

GRUB2 default boot-experience with multiple OSs:
1. It appears a menu with all the bootable images 2a. If you don't press any key on the keyboard in 10s, the bootloader goes on booting the default session
2b. If you press any key you can actually choose which image to boot

What I'd like to do is hiding the GRUB menu to show a splash image identical to the live one and then, if I press a key, to be presented the full menu. Obviously I don't like to extend the boot time so the splash image timeout would be the only one to wait to and on the other hand when the menu is shown (which would happen only if I press a key) the timeout would be futile, 'cause I'm already in front of the computer to select the image I want to boot.

Hope to have been clear enough.

I already tried editing /etc/default/grub, toying with GRUB_HIDDEN_TIMEOUT, GRUB_TIMEOUT and splash images but I had no luck. Yes, I used update-grub after every edit ;)

I looked deeper in the internet and I found there are several problems involved:

1. Hidden menu doesn't work as expected when using multiple OSs
2. The splash screen doesn't always show up immediately

Useful resources I found so far:
Commmunity help wiki
Ubuntu forums thread

  • Just saw there's a similar questions here, too bad it wasn't shown in the "probably already asked" section – Dariopnc Jul 9 '12 at 10:03

You can investigate the file syslinux.cfg in the root of your USB device where your live distribution is installed, it contains the complete menu and all the boot options used.

The real problem is how to modify your actual boot options on your machine.

Editing the file /boot/grub/grub.cfg is risky and useless because each time you will use the command sudo update-grub your /boot/grub/grub.cfg is regenerated.

You have to manipulate other files for what you want to do:

  • /etc/default/grub for the default general values and options
  • /etc/grub.d/40_custom to add customized entries for the menu or to add boot options that sudo update-grub don't find.

There are also 2 useful guides for that:

  • I've already read the first guide (and learnt which files to avoid :D), thank you for the second link – Dariopnc Jul 9 '12 at 11:13
  • @Dariopnc do not forget to vote this answer :) – user827992 Jul 9 '12 at 11:21
  • I can't because I have a low reputation and, to be honest, this answer is not helping very much... – Dariopnc Jul 9 '12 at 12:24

Actually, I think this is solved by a program called Grub Customizer. Search for it in your package manager, and look through the options. I'm sure I saw something about editing the timeout, and a bunch of other features.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.