我最近爱上了 Linux。几周前,我决定试用 Ubuntu 13.10,但由于错误地安装了 AMD FGLRX 驱动程序,导致系统崩溃。然后,我重新格式化并清除了该分区,以试用 Linux Mint 16。我对 Mint 以及 Fedora 20、19 和 18(按顺序)也做了同样的事情。现在我使用的是稳定的 Ubuntu 12.04,因为我比我尝试过的其他发行版更了解如何使用它,而且它似乎拥有最大的在线支持小组。
由于我现在已经厌倦了重新格式化和重新安装损坏的发行版,我认为最好至少获得一个稳定的发行版(Precise),并在 Oracle Virtual Box 中运行该发行版和其他发行版的驱动程序安装和其他有风险的修改,因为我目前不相信我的 Linux 技能(缺乏?)。这样,我就可以优化 Box 中的发行版,像保存视频游戏一样拍摄“快照”,并尝试有风险的操作。如果它们失败并且我破坏了发行版,我只需打开快照并返回到有风险的操作之前的位置。
虽然这似乎仍然是迄今为止最好的主意,但我注意到我在 Virtual Box 上安装的发行版报告说我没有使用我计算机的实际硬件,而是实际上使用了 Virtual Box 的“硬件”,例如“Innotek Systemberatung GmbH VirtualBox 图形适配器”。
由于该适配器,我的测试图形安装无法正常工作。即使我知道会导致发行版黑屏的操作也无法正常工作。“我的适配器不兼容”,FGLRX 安装在 GUI 版本的安装中(许多方法之一)显示。
我的问题是:我不能将这些驱动程序安装在 Virtual Box 中吗?我需要一些额外的软件吗?有没有其他虚拟环境可以用来测试这些发行版,从而实现 100% 相同的虚拟安装?
我使用的是出了名的 Linux 不友好的 Acer Aspire 5553G,它有“可切换显卡”。这些显卡是 Mobility Radeon HD 4250 和 5470。到目前为止,我测试过的驱动程序在 Windows 7 中可以运行,但在 Linux 中却不行。
谢谢大家!
答案1
简短的回答是不,您不需要为 Virtual Box 安装额外的驱动程序。
Virtual Box(或任何虚拟机软件)可创建一台虚拟计算机,其虚拟硬件与 Linux 完全兼容。这意味着虚拟计算机将拥有相同的虚拟显卡,而不管您的计算机中实际的显卡是什么。理论上,在安装虚拟机软件后,您应该能够将虚拟安装的 Ubuntu 复制到另一台具有完全不同显卡的计算机中并在那里运行。
就您而言,Virtual Box 中没有 Mobility Radeon HD 4250 和 5470。这些卡在虚拟世界中不存在。只有 Virtual Box 虚拟制造的虚拟卡存在。此虚拟卡具有开源 Linux 驱动程序。因此,当您在 Virtual Box 中安装 Ubuntu 时,它只会看到虚拟卡。Ubuntu 不会安装用于 AMD Radeon 卡的 FGLRX 驱动程序,因为它看不到真实 PC 中存在但在虚拟 PC 中不存在的 AMD 卡。
使用虚拟机的缺点是,您无法在虚拟机中充分利用显卡的全部功能。虚拟机中的虚拟显卡的性能可能较差。
希望这可以帮助。
答案2
简短回答:取决于你对驱动程序的意图。无论如何,虚拟机对于测试物理 PC 的“原生”图形驱动程序毫无用处。
长答案:
当你安装 Virtualbox 时,它会向你的物理机添加一些驱动程序。你可以通过以下方式查看这些驱动程序lsmod
:
(0)pern:~% lsmod | grep vbox
vboxpci 22896 0
vboxnetadp 25636 0
vboxnetflt 27291 0
vboxdrv 285210 3 vboxnetadp,vboxnetflt,vboxpci
(或多或少)这些是虚拟机将用来与虚拟机共享真实计算机的内存、网络和物理资源的驱动程序。没有它们,您无法运行 VirtualBox。
当您安装虚拟机(无论是 Linux 还是 Windows)时,VirtualBox 将模拟完全标准的硬件驱动程序。因此,通常您可以使用任何发行版中现有的标准基本驱动程序“开箱即用”地运行虚拟机。
您的原始图形硬件无形的来自虚拟机(作为您的真实网络驱动程序、wifi 驱动程序等)。因此您无法在其中测试原始图形驱动程序,抱歉。(1)
但这样,某些东西(基本上是显卡)的性能就会很糟糕;安装的发行版将使用默认的“vga”驱动程序,这些驱动程序根本没有加速功能。因此 VirtualBox 将提示您安装“VirtualBox Additions”在虚拟机中。如果您想要合理的图形性能,请这样做;这些驱动程序将不是触摸您的物理计算机。
参考:https://www.virtualbox.org/manual/ch04.html
注意:(1)唯一的例外是您可以透明地“传递”到虚拟机的 USB 设备(但是,您需要非免费扩展包来处理 USB 2.0)。
答案3
您的场景(测试显卡驱动程序)的唯一选择是拥有带有 GPU Passthrough 的虚拟机管理程序,以便虚拟机可以实际使用物理显示卡。
但是,对于 virtualbox,您可以安装 virtualbox 附加组件并启用 VM 以使用 3D 加速和 rechek。
还有一个实验性功能,可以将 PCI 卡传递到 VM,您也可以尝试一下(仅适用于少数显卡)