错误:无法插入“vboxguest”:没有此设备

3

我在Arch Linux上运行vboxguest时遇到了问题,

当我输入modprobe -av vboxguest时,出现了以下错误:

[root@mic3ael mic3ael]# modprobe -av vboxguest
insmod /lib/modules/4.3.3-2-ARCH/extramodules/vboxguest.ko.gz
modprobe: ERROR: could not insert 'vboxguest': No such device

然后我发现系统上存在vguest:

[root@mic3ael mic3ael]# find /lib/modules/ -iname "vbox*"
/lib/modules/extramodules-4.3-ARCH/vboxnetflt.ko.gz
/lib/modules/extramodules-4.3-ARCH/vboxguest.ko.gz
/lib/modules/extramodules-4.3-ARCH/vboxpci.ko.gz
/lib/modules/extramodules-4.3-ARCH/vboxnetadp.ko.gz
/lib/modules/extramodules-4.3-ARCH/vboxsf.ko.gz
/lib/modules/extramodules-4.3-ARCH/vboxvideo.ko.gz
/lib/modules/extramodules-4.3-ARCH/vboxdrv.ko.gz

问题是如何在 Arch Linux 上运行 vboxguest?

我已经在 Arch Linux 论坛上发起了一次讨论,链接为:https://bbs.archlinux.org/viewtopic.php?pid=1613118#p1613118 - Colin Keenan
Arch Linux 是你的主机操作系统还是客户操作系统? - Colin Keenan
Arch Linux 是主机,谢谢。 - Michael Horojanski
3个回答

5
Arch Linux论坛帖子:https://bbs.archlinux.org/viewtopic.php?pid=1613118#p1613118 迅速得到了一个答案。对于我来说,Arch Linux是主机,所以我不应该安装virtualbox-guest-utils,它也作为依赖项安装了virtualbox-guest-dkms
我用sudo pacman -Rsn virtualbox-guest-utils将它们都卸载了。
如果Arch Linux是您的主机,则需要在主机上安装virtualbox-guest-iso。在客户操作系统内,它将显示为CD(或手动将虚拟CD指向/ usr / lib / virtualbox / additions / VBoxGuestAdditions.iso),然后您可以从那里安装以使vboxguest正常工作。
如果Arch Linux是您的客户,则显然需要在您的Arch Linux客户操作系统中安装virtualbox-guest-utils
无论是主机还是客户端,virtualbox与Arch Linux现在都需要linux-headers(或任何以下内容以匹配您正在使用的内核类型:linux-lts-headers linux-zen-headers linux-grsec-headers)。
由于整个安装过程有点复杂,因此我建议您查看Arch Wiki。
Arch Linux主机:https://wiki.archlinux.org/index.php/VirtualBox#Installation_steps_for_Arch_Linux_hosts Arch Linux客户:https://wiki.archlinux.org/index.php/VirtualBox#Installation_steps_for_Arch_Linux_guests

-1

我曾经遇到过同样的问题,通过使用dkms重新安装模块来解决了它:

  1. sudo dkms remove vboxhost/5.0.14
  2. sudo dkms install vboxhost/5.0.14

这个不起作用。首先,dkms说它需要在你输入的命令后面加上--all或者-k kernel-version。当然,我把5.0.14改成了当前版本(5.0.16)。其次,它抱怨在dkms树中没有vboxhost 5.0.16版本。继续安装,仍然出现了这个问题。 - Colin Keenan

-2

问题描述

我在Ubuntu(HOST)上运行Debian(GUEST)的VirtualBox时遇到了类似的问题。

这个问题与其他任务和错误密切相关(并且令人困惑)。

  1. 更改屏幕分辨率需要安装VBoxGuestAdditions。
  2. 使用VirtualBox菜单设备->插入客户机附加CD(Host+D)进行安装可能会导致“无法插入虚拟光盘”和“(VERR_PDM_MEDIA_LOCKED)”错误消息。
  3. VBoxGuestAdditions存在于许多软件包存储库中,可以通过像apt或yum这样的软件包系统进行安装。

    [...@ubuntu]# apt-get install virtualbox-guest-additions-iso
    
  4. 从存储库安装可能不会改善分辨率。

  5. 手动运行VBoxGuestAddition的主脚本可能会导致另一个错误

    [...@ubuntu]# /usr/share/virtualbox/VBoxLinuxAdditions.sh
    (modprobe vboxguest failed)
    
  6. 同样的错误也来自VBoxGuestAdditions init脚本

    [...@ubuntu]# /etc/init.d/vboxadd setup
    (modprobe vboxguest failed)
    
  7. 失败是由现有但未加载的内核模块vboxguest.ko引起的。
  8. 手动将内核模块部署到内核会出现另一个错误

    [...@ubuntu]# modprobe vboxguest
    modprobe: ERROR: could not insert 'vboxguest': No such device
    
  9. dmesg可能包含错误消息

    [...] vboxguest: PCI device not found, probably running on physical hardware.
    

初始问题

所有这些错误都有相同的初始错误:在主机上运行GUEST应用程序。我认为你的错误也是同样的情况,因为该应用程序支持arch linux - 请参见/etc/init.d/vboxadd脚本的一部分:

if [ -f /etc/arch-release ]; then
    system=arch
elif ... 

if [ "$system" = "arch" ]; then
    USECOLOR=yes
    . /etc/rc.d/functions
    fail_msg() {
        stat_fail
    }

    succ_msg() {
        stat_done
    }

    begin() {
        stat_busy "$1"
    }
fi

解决方案

要注意VBox的哪一部分运行在GUEST上,哪一部分运行在HOST上:

  1. 在主机(我的情况下是Ubuntu)上安装VirtualBox:

    [...@ubuntu]# apt-get install virtualbox
    
  2. 在虚拟机(我的情况下是Debian)中安装VBoxGuestAdditions等:

a) 将“contrib”存储库添加到您的存储库源列表中

b) 在GUEST中安装与VirtualBox客户机相关的应用程序

[...@debian]# apt-get install virtualbox-guest-utils virtualbox-guest-x11
    virtualbox-guest-dkms virtualbox-guest-additions-iso

GUI和文档批评

虚拟化文档通常说明GUEST不依赖于HOST,而VBox在HOST上运行。这样做会导致:

  1. 误解用户永远不会在GUEST上安装VBox的任何部分

  2. 提高了用户犯错的机会,因为VBox GUI的菜单

    设备 -> 安装增强功能CD

会让人有在HOST上安装软件的感觉。


也许你的回答有一些道理,但它很可能被投票否决,因为其中很多内容并不适用于Arch Linux。问题是关于在Arch Linux上运行它,而apt-get安装、添加仓库等操作并不适用于Arch Linux。 - Colin Keenan
我已经在虚拟机的客户机(Windows XP)上安装了VBoxGuestAdditions,虽然它在虚拟机内部工作,但仍然存在这个问题中提到的错误。 - Colin Keenan
在Arch Linux中,提供可以安装在Guest内部的虚拟CD的软件包是“virtualbox-guest-iso”。该软件包运行正常。问题出现在“virtualbox-guest-dkms”这个软件包上,它是最近添加到Arch Linux中的东西。以前的方法可以避免这个错误。我怀疑这是一个bug,但还不确定,所以开始了讨论:https://bbs.archlinux.org/viewtopic.php?pid=1613118#p1613118 - Colin Keenan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接