昨天分享了一篇面向 VirtualBox 虚拟机入门用户的教程式文章,内容以软件下载安装,虚拟机创建和系统安装为主。通过掌握这些内容虽然足以把 VirtualBox 用起来,但还不够。今天这篇文章将分享一些更加深入的配置和技巧,它们能让你创建的虚拟机发挥出更大价值。
安装增强功能
VirtualBox 默认安装好的桌面系统,在使用体验上并不是很好。比如鼠标操作,存在肉眼可见的迟滞感。以我虚拟的一台 Win10 为例,来看看如何改善这个问题。
上面是 Win10 虚拟机启动后的界面。鼠标右键点击窗口最下方的光盘图标,在弹出的菜单中选择「移除虚拟盘」。
然后选择窗口上方的「设备」菜单,选择最下面的「安装增强功能」菜单。稍等片刻,虚拟机中的系统应该会弹出这个来自光驱设备的自动运行提示。
选择「运行 VBoxWindowsAdditions.exe」,随后会弹出一个安全提示框,选择「是」继续。开始 VirtualBox Guest Additions 程序的安装。
安装过程很简单,只需要无脑点 Next 按钮就行了。完成后会提示需要重启系统。
保持默认选择,点击 Finish 按钮,系统会开始重启。重新进入系统后,会发现鼠标的移动和操作顺滑了许多。
如果虚拟机是 Linux,在点击了「安装增强功能」菜单后,需要在命令端进行操作。相关命令按操作顺序分别如下:
# 创建挂载目录
sudo mkdir /mnt/cdrom
# 挂载光驱
sudo mount /dev/cdrom /mnt/cdrom
# 进入挂载的而光驱目录
cd /mnt/cdrom
# 安装增强功能
sudo ./VBoxLinuxAdditions.run
安装 VirtualBox 增强功能除了对鼠标操作有所改善,在虚拟显卡性能方面也有所增强。建议在虚拟任何附带桌面环境的操作系统后,都安装一下这个增强功能。
和主机共享文件
虚拟机在一些场景下免不了要和主机之间互相交换文件,对于这个需求,可以通过 VirtualBox 的共享文件夹功能来解决。
在虚拟机运行界面的下方,找到一个类似文件夹样式的图标,它是灰色的,表示当前没有共享任何目录,右键点击它。
选择弹出的「共享文件夹」菜单,进入共享文件夹设置界面。
在这个界面的最右侧,有一个带加号的文件夹图标,点击它打开添加共享文件夹的操作界面。
这个界面有如下几个操作项:
- 共享文件夹路径: 选择主机上要共享给虚拟机的目录。
- 共享文件夹名称: 自定义这个共享的名称,方便自己识别即可。
- 只读分配: 设置共享目录的操作权限,选择后共享目录在虚拟机环境中只可查看,不能做文件编辑操作。
- 自动挂载: 选择后虚拟机点确定后,包括下次启动时,自动加载这个共享目录。
- 挂载点: 指定共享目录在虚拟机中的位置。如果虚拟机是 Windows 系统,这里只能填盘符。
- 固定分配: 选择后表示这个共享目录在当前虚拟机一直有效。不选就是临时有效。
在 Windows 虚拟机上挂载的共享目录以网络驱动器的方式实现。比如我挂在了一个命名为 test 的共享文件夹,在 Win10 虚拟机的文件资源管理器中看起来如下。
使用 USB 外设
除了使用文件共享的方式和虚拟机传输数据,VirtualBox 也支持虚拟机直连 USB 外设。使用这个功能前,需要先安装 VirtualBox 的扩展插件。插件下载地址:
打开这个页面后,找到 VirtualBox Extension Pack 这部分,下面有个 All supported platforms 的链接,点击即可下载到一个以 .vbox-extpack
后缀结尾的文件。
回到 VirtualBox 主界面,选择「管理」菜单,然后选择「全局设定」。在打开的全局设定窗口左侧,选择「扩展」项:
点击最右侧带加号的按钮,然后选择刚下载的扩展文件,并确认安装。安装好扩展后的界面如下:
点击确定返回 VirtualBox 主界面。接下来打开虚拟机的设置窗口。
控制器选择 USB3.0,然后点击筛选器右侧带加号的按钮,应该能看到当前系统上可用的 USB 外设。
选择要在虚拟机中直连的 USB 设备后,点击「确定」按钮返回主界面。启动虚拟机后,就能在虚拟机的系统中看到选择的 USB 设备了。
如果主机是 Linux 系统,并使用命令方式安装的 VirtualBox。还需要一些额外操作才能成功添加 USB 设备。
首先需要添加 usbfs
用户组。
sudo groupadd usbfs
然后把当前用户添加到 usbfs
和 vboxusers
用户组。
sudo usermod -aG usbfs $USER
sudo usermod -aG vboxusers $USER
重启一下主机系统,再按上面的步骤操作即可。
网络设置
在虚拟机的设置界面有一个网络设置项:
VirtualBox 提供了多种网络类型,本文以应用为目的,所以不打算挨个介绍它们。仅以我的日常使用为参考,说说其中两种常用的网络模式:「网络地址转换(NAT)」和「桥接网卡」。
网络地址转换(NAT) 是 VirtualBox 创建虚拟机的默认网络模式。这是一种比较安全的单向网络访问模式。在虚拟机中可以访问主机所在的网络,包括互联网。但外部这些网络不能访问到虚拟机。如果必须要访问,只能通过配置端口转发的方式来实现。
桥接网卡 就比较粗暴了,虚拟机会占用主机网络的 IP。选择这种网络模式相当于把虚拟机放到了和主机平级的网络环境,暴露在主机网络下,所以和网络中任意主机都是互通状态。
对于这两种网络模式的使用选择,我会优先考虑网络地址转换模式,不会在主机网络暴露虚拟机,通过端口准发的方式也能达到桥接网卡模式的功能,但更可控。桥接网卡模式会是最后不得以的选择。
使用命令模式
除了使用界面来操作虚拟机,VirtualBox 还提供了更加高效的终端命令操作模式。比如创建虚拟机可以使用: vboxmanage createvm
命令,启动虚拟机可以使用: vboxmanage startvm
命令……。在界面上能对虚拟机进行的控制操作,在命令模式下基本都可以达到。
至于使用命令来操作虚拟机的好处,主要体现在效率和规范化方面。因为命令可以通过代码的方式来组织和编写,对于一些经常要重复创建和使用的虚拟机,直接通过代码把相关操作编写成脚本。之后使用的时候就只需要执行一下脚本,符合自己要求的虚拟机就创建好并启动起来了,是不是比自己用鼠标来一步步操作要更加有效率?
除此之外,使用命令模式还能实现界面端无法做到的功能。比如开机时自动在后台启动一个指定的虚拟机。
命令模式是对 VirtualBox 更加深度的应用领域,只有在一些专业领域才会用到。以后有机会我再单独出一篇文章来深入介绍。