除 Ubuntu 外,键盘在其他任何地方都可以使用

除 Ubuntu 外,键盘在其他任何地方都可以使用

我使用 Windows 11/Ubuntu 双启动电脑,昨晚下班前启动了 Windows 更新然后就睡觉了。今天早上回来发现我的电脑已经挂了整晚,更新仍然需要完成(没什么大不了的)

然而,在我完全更新 Windows 并登录 Ubuntu 之后,我发现在整个操作系统启动并运行后我的键盘不工作。

如果我进入恢复模式,键盘在 root 终端中工作正常,在 Windows 中工作正常,在其他机器上工作正常。但是,具体到这个 Ubuntu 实例,我所做的一切以及我在网上找到的一切似乎都不起作用(我几乎尝试了所有方法)

有人知道我该怎么做才能解决这个问题吗?我不想重新安装整个操作系统,但我真的不明白这里的问题是什么。

答案1

问题

双启动 (Windows 11/Ubuntu) 计算机无法使用 Ubuntu 键盘,但 Windows 可以使用。这是在 Windows 更新出现问题后出现的。

问题

  1. 笔记本电脑还是台式机?
  2. 您尝试过不同的键盘吗?
  3. 您可以从另一台计算机通过 SSH 访问 Ubuntu 机器吗(如果您没有其他键盘)?
  4. 日志中有什么明显的东西吗? sudo dmesg
  5. 键盘的品牌/型号是什么?

键盘驱动程序

安装 Ubuntu 发现缺少的任何驱动程序:

sudo ubuntu-drivers autoinstall

查找并重新安装
查看已安装的内容:

ubuntu-drivers devices

重新安装:

sudo apt <packageName> reinstall

系统升级

如果成功的话,又是一次轻松的胜利。

sudo apt update 
sudo apt upgrade

Grub 的先前版本

  1. 重新启动计算机:如果您的计算机正在运行,则需要重新启动它才能访问 GRUB 菜单。

  2. 访问 GRUB 菜单:计算机重新启动时,按住 Shift 键(某些系统上为 Esc 键)以访问 GRUB 菜单。BIOS/UEFI 启动画面消失后应立即按下此键。

  3. 选择以前的配置:进入 GRUB 菜单后,您将看到启动选项列表。使用箭头键选择要启动的 Ubuntu 条目。查找提及“以前的 Linux 版本”或类似内容的条目。这应该会启动到以前的内核版本和配置。

Grub 配置和更新

参考:https://askubuntu.com/a/817999/192800

看一下配置:

cat /etc/default/grub

“正常”的详细解释:

以下是 /etc/default/grub 中的一些可能影响键盘行为或输入的配置项:

GRUB_TIMEOUT:此参数指定 GRUB 菜单在启动过程中出现的超时时间(以秒为单位)。如果超时时间非常短,使用键盘从 GRUB 菜单中选取选项可能会很困难。

GRUB_DEFAULT:此参数指定如果在超时期间未做出任何选择,GRUB 将使用的默认启动项。确保默认启动项与 GRUB 菜单中正确的 Ubuntu 内核项相对应。

GRUB_CMDLINE_LINUX:此参数允许您指定在启动期间传递给 Linux 内核的内核参数。虽然内核参数与键盘输入没有直接关系,但它们会影响各种系统行为,包括输入/​​输出 (I/O) 操作,这可能会间接影响键盘功能。

GRUB_TERMINAL:此参数决定 GRUB 是否应使用图形界面或基于文本的界面作为其菜单。您可以将其设置为“控制台”以强制使用基于文本的界面,这可能有助于解决与键盘相关的问题。

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_TIMEOUT_STYLE=menu
GRUB_HIDDEN_TIMEOUT=
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

在此示例中:

  • GRUB_DEFAULT=0:指定默认启动项(通常是第一个项)。
  • GRUB_TIMEOUT=5:将超时时间设置为 5 秒。
  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash":指定默认内核参数(安静模式和启动画面)。
  • GRUB_CMDLINE_LINUX="": 如果需要,可以在这里添加额外的内核参数。

更新
确保sudo update-grub在对 /etc/default/grub 进行更改后运行,以将更改应用于 GRUB 配置文件 (/boot/grub/grub.cfg)。此命令根据 /etc/default/grub 中的设置重新生成 GRUB 配置文件。

相关内容