如何安装和运行VirtualBox构建
时间:2023-06-02 21:45:35
VirtualBox是一款虚拟机软件,使用irtualBox for mac您可以在Mac电脑上运行Windows等系统,支持在多个虚拟机内同时运行多个操作系统,在本篇文章中,我们介绍的是如何安装和运行VirtualBox构建。
VirtualBox使用教程
使用kmk的打包目标来创建out \ win。(x86 | amd64)\(debug | release)\ bin \ VirtualBox-*。msi。使用此MSI安装软件包进行常规安装。如果由于某种原因安装失败,请在MSI安装程序中使用日志记录:
msiexec / i VirtualBox-xxxxx.msi / l * install.log
在开发过程中,直接从输出目录运行可能会有用得多。为此,您需要加载驱动程序。(仅用于加载支持驱动程序,将load.cmd替换为loadall.cmd。)在Windows主机上使用以下命令:
loadall.cmd
对于卸载:
comregister.cmd -u
loadall.cmd -u
每当对主API或驱动程序进行更改时,您都需要重复注册和驱动程序加载步骤。
更改文件时,如果VBoxSVC和/或VBoxSDS服务器仍在运行,请确保首先查看taskmanager。如果VBox没有正确终止,则可能会发生这种情况。
一种更快的替代方法是从 http://www.sysinternals.com/Utilities/PsKill.html获取pskill,并在不确定它们是否正在运行时直接杀死VBoxSVC和VBoxSDS:
pskill VBoxSVC
pskill VBoxSDS
如果您不想调试断言,则可以使用以下命令启动VirtualBox:
设置VBOX_ASSERT = none
设置VBOX_LOG = ...
设置VBOX_LOG_FLAGS =线程缓冲的时间
Linux主机
如果您想以最少的麻烦和学习入门来开始,请从build文件夹执行./loadall.sh。这将执行以下操作:
使用当前的本地源代码放置内核模块,以便在引导时自动加载它们(仅适用于当前内核)。
使用udev设置自动创建设备节点,包括所有权和权限。
设置USB直通。要使用此功能,您需要成为vboxusers组的成员(加入后注销并重新登录以使其生效)。
您可以通过重复该过程来更新最小化安装,或通过执行./loadall.sh -u再次对其进行清理。
可以通过从build目录执行./load.sh来获得最少的本地构建而无需任何形式的安装。这将加载主要支持驱动程序,而不会加载其他任何内容。您可以在更改或更新模块源代码之后重复此操作。可以使用./load.sh -u再次删除该模块。在这种情况下,您需要自己照顾udev规则和/或设备节点。
SELinux主机(例如Oracle Linux,Fedora):如果看到诸如nsNativeComponentLoader之类的消息,则可能有必要禁用SELinux :SelfRegisterDll(VBoxC.so)加载FAILED,错误为:/root/src/vbox/out/linux.amd64/debug/ bin / components /../ VBoxVMM.so:重定位后无法恢复片段保护:权限被拒绝
通过执行在运行的系统上禁用SELinux临时
/ usr / sbin / setenforce 0
或通过编辑/ etc / selinux / config并将“ enforcing”更改为“ disabled”来永久禁用它。
Mac OS X主机
要进行本地构建,请加载内核扩展:
光盘VBox / out / darwin.x86 / release / dist
须藤./load.sh
如果在运行上述脚本时遇到代码签名错误,请执行以下命令并重新启动计算机。
须藤nvram boot-args = kext-dev-mode = 1
在VirtualBox.app/Contents/MacOS中运行可执行文件照常运行。
Solaris主机
要在不使用安装软件包的情况下进行本地构建,如下所示:
将VBI接口(VirtualBox 3.1和更高版本不需要)从源树复制到适当的位置。复制32位和64位都没有问题。
cp src / VBox / Runtime / r0drv / solaris / vbi / 64 / vbi / platform / i86pc / kernel / misc / amd64 / vbi
cp src / VBox / Runtime / r0drv / solaris / vbi / 32 / vbi / platform / i86pc / kernel / misc / vbi
接下来,复制并安装适当的vboxdrv
cp out / solaris.amd64 / release / bin / vboxdrv / platform / i86pc / kernel / drv / amd64 / vboxdrv
cp out / solaris.x86 / release / bin / vboxdrv / platform / i86pc / kernel / drv / vboxdrv
复制驱动程序配置文件(此处没有64/32位差异,配置文件位于32位位置)
cp src / VBox / HostDrivers / Support / solaris / vboxdrv.conf / platform / i86pc / kernel / drv
如果以前安装过该模块,请先将其卸下,然后再尝试加载新模块
su
rem_drv vboxdrv
加载模块
add_drv -m'* 0666根sys'vboxdrv
创建devlink
ln -s / devices / pseudo / vboxdrv @ 0:vboxdrv / dev / vboxdrv
使用以下命令检查模块的版本是否正确:
modinfo | grep vbox
237 fffffffff7a97748 2900 75 1 vboxflt(VirtualBox NetBow 3.2.1r61839)
238 fffffffff8771000 27e10 107 1 vboxdrv(VirtualBox HostDrv 3.2.1r61839)
...