当我通过 IPMI sol 使用 Grub CLI 时,我无法使用箭头键以及某些键(例如删除键)。当我按下左键时,会出现随机的“D”字符,即使当 D 不移动时它会将光标向左移动。对于右键,我有时会得到“C”字符。我意识到“^[[C”和“^[[D”只是左/右箭头键的代码,因此它可以正确传输,但有时无法正确读取。
我认为我的波特率没有问题,因为我可以在 POST、BIOS 和 GRUB 屏幕以及 Linux 中读取屏幕。在 BIOS 菜单或 Linux 提示符中输入文本时不会出现此问题。我尝试通过 BIOS 和 设置多个波特率,ipmitool sol set violotile-bit-rate
但问题似乎仍然存在于任何波特率中。
我可以毫无问题地输入以下字符:
a through z, upper and lower case. 1234567890-= ~!@#$%^&*()_+ []\;',./ {}|:"<>?
我对可能的修复方法的想法是,我不知道以下问题的完整过程:
Grub 有单独的波特率,我需要尝试一下吗?
terminfo 中列出的 Grub‘term’需要更改吗?
使用 Grub setkey 设置左/右键吗?
答案1
我遇到了和你完全一样的问题,但最后我意识到我们不需要向上箭头和向下箭头来导航。请参阅 GRUB 屏幕底部的注释:
Use the ^ and v keys to select which entry is highlighted.
Press enter to boot the selected OS, `e' to edit the commands
before booting or `c' for a command-line. ESC to return
previous menu.
它的字面意思是^和V。因此,使用这个,我就不需要箭头了。
答案2
有类似的问题。更改 Grub 配置从...
GRUB_TERMINAL="gfxterm serial"
... 到 ...
GRUB_TERMINAL_INPUT="gfxterm serial"
GRUB_TERMINAL_OUTPUT="gfxterm serial"
... 解决了这个问题。据我所知,这毫无意义,因为第一个语句应该只是以下语句的缩写形式。无论如何,这个问题已经可重复地解决了。
答案3
你会尝试这个grub> 终端输入串行;终端输出串行 它可能会解决您的问题。