To enable GRUB's serial terminal, there are various guides available. However, following these guides enables only the serial terminal and disables the normal interface with input from your keyboard and output on your display. They usually recommend the following changes in the /etc/default/grub config file:

  • change GRUB_TERMINAL=console to GRUB_TERMINAL=serial
  • add: GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

If you want a local user and a remote user to use the GRUB menu in parallel, you can specify multiple values for the GRUB_TERMINAL variable, e.g., GRUB_TERMINAL="console serial". However, if you want to keep your graphical high-resolution menu in addition to the serial terminal and specify GRUB_TERMINAL="serial gfxterm", you will get the menu on both, the display and the serial console, but controlling the menu will only work with your keyboard.

To solve this, you have to split up the GRUB_TERMINAL line into the following:

GRUB_TERMINAL_INPUT="serial console"
GRUB_TERMINAL_OUTPUT="serial gfxterm"

While debugging this, I also had once the problem that the arrow keys only worked using the local keyboard and not over the serial line. Then, you can select different menu items using the ^ and v keys and navigate in the editor using CTRL+[PNBF] where the letters stand for "previous" line, "next" line, "back" and "forward" one character.