- 避免主机键和 AltGr 键冲突,并验证自动键盘捕获功能。
- 将 Num Lock 与 VBoxManage 同步,以防止主机和虚拟机之间状态颠倒。
- 将访客键盘映射与物理键盘映射对齐,并检查终端模拟器快捷键。
- 搭配 Guest Additions 和 Extension Pack 使用,可提高版本稳定性。
当虚拟机内的键盘突然停止响应时,会感觉像是完全被困住了:无法登录,鼠标也无法工作,尝试一段时间后,虚拟机似乎就冻结了。 这种情况在 VirtualBox 中比看起来更常见。尤其是在特定的硬件组合、主机和客户操作系统以及某些键盘配置下。
本文将基于一些案例,对实际原因和解决方法进行全面分析,例如一台安装了 Oracle VirtualBox 6.1 的 Windows 10 主机和一个 Kali Linux 虚拟机,该虚拟机在首次启动时运行良好,但在关机并重启后出现问题。 键盘和鼠标都没有反应,虚拟机很快就死机了。我们还会探讨Debian系统中Ctrl键常见的各种问题,以及Linux系统中德语键盘上的反斜杠(AltGr+ß)的奥秘,还有一个经典问题:主机和虚拟机之间的Num Lock状态不同步。让我们一起来了解一下。 如果您的键盘在 VirtualBox 中无法使用,请按照以下步骤进行修复。
首先:了解背景和症状
我们在实际案例中收集了几个问题配置文件:其中一个是 Windows 10 主机和 VirtualBox 6.1.22 r144080, 没有安装 Guest Additions 或 Host Extensions 的 Kali Linux 虚拟机导入虚拟机并启动后,一切正常;但第一次关机后,重新启动时,键盘无法输入,鼠标无法移动,几分钟后,虚拟机就冻结了。
在相同的环境下,我们更改了 RAM 和显存设置,调整了输入选项,并删除和添加了 USB 过滤器,但均未成功。 AMD-V 已启用 (如果您需要指导) 在我的电脑上启用虚拟化而且没有 Hyper-V 的痕迹。同时,用户对 Host 键(VirtualBox 中替代 Ctrl+Alt 等组合键的键)以及如何在 Kali 虚拟机中使用德语键盘布局输入反斜杠 \ 也存在疑问(用户尝试了 Ctrl+Alt+ß、Host+ß 以及各种组合键)。
另一方面,在 Wheezy 主机上运行 Debian Squeeze 虚拟机的用户报告称: 在虚拟机中,Ctrl键无法使用。例如,在 nano 编辑器中,按下 ^X 键会在屏幕上显示一个简单的“x”。我们测试了多种方法,例如使用左 Ctrl 或右 Ctrl 键,以及将 Host 键更改为右侧的徽标键(使用默认的英文(美国)键盘布局),但该错误在某些会话中仍然存在。
检查基本要素:密钥捕获、主机密钥和冲突
VirtualBox 有一个名为“自动捕获键盘”的选项。如果禁用此选项,键盘可能仍保留在主机上,并且 脉冲信号无法到达客人。前往“文件”>“首选项”>“输入”,确认已启用自动捕获。另外,检查虚拟机窗口边框是否显示焦点位于窗口内。
主机键(默认为右Ctrl键)是关键键。如果您将其更改为AltGr(右Alt键)或您在虚拟机中需要使用的其他键(例如,使用AltGr+ß输入德语反斜杠“\”),则会出现问题,因为VirtualBox会将该键解释为主机键。 避免将 AltGr 配置为主机键。使用正确的 Ctrl 键或右侧徽标键,并确保 VirtualBox 不会劫持客户机需要的组合键。
另一个看似显而易见但却很有帮助的检查方法是:尝试…… 左Ctrl键和右Ctrl键有记录显示,由于客户系统映射方式或特定应用程序(nano、X 或控制台)读取键盘事件的方式不同,两个按键中有一个会响应,而另一个不会响应。
主机和访客电脑的数字锁定键不同步
VirtualBox 中存在一个历史遗留问题,即主机和虚拟机之间的数字锁定状态可能会“反转”:当主机上启用数字锁定时, 它在虚拟机中显示为已禁用。反之亦然。这使得数字键盘的一侧像光标箭头一样工作,而另一侧则用作数字键。
解决方法是强制 VirtualBox 停止将键盘 LED 与虚拟机同步。在 Windows 系统中,以管理员身份打开命令提示符,导航到 VirtualBox 安装文件夹(通常位于 /etc/VirtualBox/v1.x)。 «C:\\Program Files\\Oracle\\VirtualBox»然后运行以下命令,并将虚拟机的确切名称替换为您自己的虚拟机名称:
VBoxManage setextradata "Nombre de la máquina virtual entrecomillado" GUI/HidLedsSync "0"
应用此设置时,如果主机上的数字锁定键 (Num Lock) 已启用, 它还将作为客房的一部分。这是避免频繁切换两种系统的一种快捷方法。如果您经常使用数字键盘,这将为您省去很多麻烦。
在 Linux 系统中,使用德语键盘时,反斜杠键对应的按键是 AltGr、Ctrl 和 Host 键。
在像 Kali 这样采用德语发行版的发行版中,反斜杠 \ 通常用 \ 表示。 AltGr+ß在许多 Linux 环境中,Ctrl+Alt 被解释为等同于 AltGr,因此也能正常工作。但是,如果您在 VirtualBox 中将主机键分配给了 AltGr,则该组合键将无法传递给虚拟机。
要解决此问题,请在“文件”>“首选项”>“输入”中检查您的主机键,并选择一个与 AltGr 不冲突的键。 默认值(右Ctrl键)通常是最合理的。接下来,在客户操作系统中,检查键盘布局:在 Kali 系统中,您可以通过图形界面或使用 setxkbmap 命令进行更改。例如:
setxkbmap de
如果仍然无法输入反斜杠,请尝试在桌面环境的键盘选项中选择“德语(无死键)”映射变体。 避免使用死键有助于使 AltGr 操作更直接。请记住:不要使用 Host 键进行输入;Host 键是用于 VirtualBox 快捷键的,而不是用于虚拟机的。
当 Debian 系统中 Ctrl 键不起作用或 nano 编辑器忽略快捷键时
在 nano 编辑器中,当你按下 ^X 键时,出现的不是关闭按钮而是“x”符号,这表明 系统未检测到 Ctrl 键为修饰键。这可能是由于键盘映射错误、X 层未识别修饰键,或者与主机键冲突造成的。
根据在 Wheezy 主机上使用 Debian Squeeze 客户机的真实案例提出的实用建议:使用“dpkg-reconfigure keyboard-configuration”或在较新的系统上使用“localectl”来验证客户机映射是否正确(如果您的键盘是美国键盘,则为“us”)。 将主机键更改为除 Ctrl 以外的键。 例如,AltGr键和右侧的Logo键都无效。请尝试在纯控制台(TTY)和X窗口模式下使用这些快捷键,以缩小问题范围。
如果仅在特定的图形终端中失败,请尝试另一个终端(例如,将默认终端替换为 xterm 或 gnome-terminal),看看是否是快捷键捕获问题。 一些模拟器会拦截组合 需要在用户偏好设置中禁用它们。
影响键盘和鼠标的 VirtualBox 设置
在虚拟机设置中,依次选择“系统”>“主板”,检查指针设备:“PS/2 鼠标”、“USB 平板电脑”或“USB 多点触控平板电脑”。 对于许多 Linux 虚拟机来说,USB Tablet 可以改善指针集成。如果出现鼠标冻结的情况,请在这些选项之间切换并进行检查。
在“系统”>“处理器”中,如果几分钟后出现崩溃,请避免启用不必要的加速。即使启用了 AMD-V, 您无需接触嵌套或高级半虚拟化。 要使键盘正常工作,请重点关注“输入”部分。
在 USB 设备上,移除所有不使用的过滤器。配置错误的 USB 过滤器可能会导致…… 在主机外部捕获物理键盘或鼠标这样一来,当虚拟机尝试“占用”USB 2.0/3.0 端口时,您将无法在 Windows 系统中进行控制。如果您需要在虚拟机中使用 USB 2.0/3.0,请安装与您的 VirtualBox 版本完全匹配的扩展包,否则高级 USB 支持将无法正常工作。要查看虚拟机配置,请使用 VirtualBox 界面中的相应选项。
新增功能和扩展包:它们何时发挥作用?
即使未安装 Guest Additions 或 Host Extensions(扩展包),基本键盘也能正常工作,但是 Guest Additions 大大改善了集成性。对于 Kali 或 Debian 系统,请安装内核头文件并编译模块:
sudo apt update && sudo apt install -y build-essential dkms linux-headers-$(uname -r)
sudo sh /media/<usuario>/VBox_GAs_*/VBoxLinuxAdditions.run
重启后,集成鼠标和剪贴板同步功能通常会表现得更好。 Guest Additions 无法修复错误选择的主机密钥。然而,它们确实可以防止输入错误并加快图形层速度,而图形层速度的加快在某些情况下会导致明显的崩溃。如果您需要具体的说明,请参阅相关文档。 更新 VirtualBox 客户机增强功能 请查阅相关指南。
关于扩展包:仅在需要时才将其安装到主机上。 USB 2.0/3.0、VRDP 或 PXE(适用于英特尔). 请确保版本完全匹配(例如,6.1.22 r144080 与您的扩展包 6.1.22 完全匹配),以避免不兼容。
如果第一次重启后所有功能都失效:提示和解决方法
虚拟机首次启动后出现故障通常表明关机期间发生了状态变化:例如 LED 同步(数字锁定)、按键捕获恢复等。 激活的USB过滤器或者,是特定版本 VirtualBox 中的一个特定错误。
针对这种情况(Windows 10 主机 + Kali 虚拟机)的有效指导原则:
– 暂时禁用所有 USB 过滤器并启动。 如果键盘恢复正常,那就说明你找到了问题所在。 之后您还可以进一步优化筛选条件。
– 将指针设备在 PS/2 和 USB 平板电脑之间切换,看看鼠标是否不再冻结。
– 确保自动捕获密钥,并且主机密钥不是 AltGr。
– 将 Num Lock 设置与 GUI/HidLedsSync «0» 结合使用,以防止状态反转。
– 如果您使用的是 6.1.22 r144080 版本,请升级到 6.1 分支的最新稳定子版本(或更高版本); 版本之间修复了许多错误 r*.
如果您怀疑存在 Hyper-V 但认为它未激活,请在 Windows 中使用“启用或关闭 Windows 功能”进行确认,如果您不需要 Hyper-V、Windows Hypervisor Platform 和 WSL2,请取消选中它们。 Hyper-V可能会干扰虚拟化。即使 AMD-V 在 BIOS 中处于激活状态。
主机和访客之间的键盘映射和布局
客人的键盘布局必须与您的键盘物理布局完全一致。如果您的键盘是德语的,而客人认为它是美式键盘, 反斜杠的位置可能出乎你的意料。在 Linux 系统中,可以使用图形工具或命令进行调整:
sudo dpkg-reconfigure keyboard-configuration
# o
setxkbmap de
# variantes útiles
setxkbmap de nodeadkeys
在图形环境中,还要检查“死键”选项,如果您经常使用 AltGr 快捷键,请将其禁用。 合理的地图绘制可以预防 80% 的事故。 包含诸如 \、@ 或 | 等符号,这些符号在不同的分布中会发生变化。
可能会干扰的 VirtualBox 快捷方式

VirtualBox 有自己的快捷键,例如使用 Host 键,可以这样操作: 释放光标或更改屏幕模式如果您不小心将它们与虚拟机快捷键重叠,VirtualBox 将“优先”。在“首选项”>“输入”>“快捷键”中,检查并禁用任何与您的工作流程冲突的快捷键,尤其是在您经常在终端进行编程或编辑的情况下。
一个经典的例子:如果您将 Host+Del 分配给“插入 Ctrl+Alt+Del”,您可能会尝试在客户机中使用类似的组合,并会惊讶地发现一些奇怪的行为。 只保留必要的活性成分 减少摩擦。
逐步快速诊断
如果其他方法都无效,请应用这个简易决策图,它总结了我们在实际案例中看到的有效措施:
– 虚拟机窗口是否处于焦点状态?按键捕获功能是否已启用?如果未启用,请启用它。 如果缺乏专注,客人将一无所获。.
– 主机键是 AltGr 吗?把它改成右 Ctrl 键或右徽标键。
– 主机和虚拟机之间的数字锁定键是否反转?应用 GUI/HidLedsSync“0”。
– USB 过滤器是否已启用?请将其禁用后重试。
– 虚拟机上的键盘映射是否正确?请使用 setxkbmap 或 dpkg-reconfigure 进行调整。
这个问题只在 X 终端下出现,还是只在 TTY 终端下出现?尝试使用其他终端或检查模拟器的快捷键。
您使用的是旧版本的 VirtualBox 吗?请更新到适用于您分支的最新版本。
– 您需要 USB 2.0/3.0 吗?请安装与您的版本对应的扩展包。
如果执行上述所有操作后虚拟机仍然冻结,请创建一个指向同一虚拟磁盘的新虚拟机,以排除配置损坏的可能性。 通常情况下,磁盘本身没有问题,是 .vbox 文件导致了问题。要了解如何打开或修理 .vbox 文件 请查阅相关指南。如果您最初遇到的问题是设备问题,那么重新导入设备(OVA)也是一个快捷的解决方案。
我们从真实案例中学到了什么
关于 Windows 10 + VirtualBox 6.1.22 + Kali 的情况:由于缺少 Guest Additions 或扩展包,加上 USB 过滤器以及对主机密钥的疑虑, 最终,键盘和鼠标都失灵了。 首次关机后,将主机键设置为右Ctrl键、禁用USB过滤器并启用自动按键捕获功能,即可恢复输入。调整数字锁定键同步设置,可防止在不同系统间切换时出现错位。
以 Debian Squeeze 为例:由于默认的美国地图和主机键被移到了右侧的徽标键上,一些用户无法在 nano 中使用 Ctrl 键。 而其他人则能够毫无问题地复现 Ctrl+X 的操作。区别在于:上下文(控制台与 X)、终端模拟器以及快捷键捕获。切换到 TTY 终端并进行检查,有助于将问题从图形界面方面排除。
至于 AltGr+ß 问题:如果客户机映射不正确,或者我们盗用 AltGr 作为主机键,VirtualBox 不应为此负责。 在 Linux 系统中,AltGr 键对于符号来说是神圣的。 就像某些发行版中的 \ 或 | 一样;为 VirtualBox 保留该键就像是人为地设置了一个障碍。
快速常见问题解答
我需要安装 Guest Additions 才能让键盘工作吗? 不,基本键盘不需要它们也能用。但是,通过“添加”功能,集成(鼠标、屏幕、剪贴板)得到了很大的改进,并且经常消除了各种奇怪的问题。
Hyper-V 会不会损坏 VirtualBox 中的键盘?在 Windows 系统上, Hyper-V可能会干扰虚拟化 一般来说,如果不需要该功能,请将其禁用(并重启)以排除冲突。
为什么只有在 Nano 中才会失败?因为 Nano、终端或 X 可能…… 拦截或重新解释修饰语尝试使用 TTY(Ctrl+Alt+F2)检查是否是系统或图形层问题。
启动虚拟机时,数字锁定键会发生什么变化?某些版本的 VirtualBox 会出现这种情况。 它们会扰乱LED的状态 主机和虚拟机之间。GUI/HidLedsSync 设置“0”表示它由主机控制。
尝试了所有这些方法之后,键盘通常可以通过纠正以下三点来恢复正常:避免将 AltGr 用作主机键,将客户机键盘映射与主机的物理键盘映射对齐,以及使用 VBoxManage 命令消除 Num Lock 不同步。 如果您还清理了 USB 过滤器,启用了自动捕获,并确保您使用的是兼容版本的 VirtualBox 及其扩展包,请执行以下操作。“幽灵”鼠标和键盘问题消失了。如果您在 Debian 系统中遇到 Ctrl 键失灵,或者在德语键盘布局的 Kali 系统中遇到反斜杠输入错误,请记住:尝试使用 TTY 终端,检查终端快捷键设置,并且不要将 Linux 系统输入关键符号所需的按键分配给 VirtualBox。
从小就对科技充满热情。我喜欢了解该领域的最新动态,最重要的是,进行交流。这也是我多年来致力于科技和视频游戏网站交流的原因。您可以找到我撰写的有关 Android、Windows、MacOS、iOS、任天堂或您想到的任何其他相关主题的文章。
