1. 安装环境
首先,启动虚拟机,执行以下的命令,准备安装环境。
#先更新系统到最新,防止有内核更新导致安装的系统头文件版本不符
sudo apt update -y && apt upgrade
#安装编译工具和系统头文件,安装Guest Additions需要引用内核头文件进行模块编译
sudo apt install dkms linux-headers-$(uname -r) build-essential
2. 获取Guest Additions镜像
- 官网下载;
- 对于Mac系统Guest Additions镜像位于,VirualBox安装目录(一般为 /Application/VirualBox )下的 ./Contents/MacOS/VBoxGuestAdditions.iso,将此文件拷贝到某个备用目录下。
3. 虚拟光驱挂载VBoxGuestAdditions.iso镜像
- 打开VirualBox管理器,选中虚拟机,然后 “设置->存储->IDE” ,如果没有虚拟光驱,添加虚拟光驱设备;如果有光驱,选中光驱,然后点击 “💿选择一个虚拟光盘文件”,选择刚刚拷贝的VBoxGuestAdditions.iso虚拟光驱文件。
- 插入光盘之后,设备文件为 /dev/cdrom ,设备会自动挂载到 /media/cdrom0 。你可以用mount命令将其挂载到任何目录下,此处不再赘述。
4. 启动安装脚本
经过以上的所有准备工作,我们就可以正式进行安装了。
sudo sh /media/cdrom0/VBoxLinuxAdditions.run
如果没有出现错误,会输出大概如下的日志:
Verifying archive integrity... All good.
Uncompressing VirtualBox 6.0.8 Guest Additions for Linux........
VirtualBox Guest Additions installer
Removing installed version 6.0.8 of VirtualBox Guest Additions...
update-initramfs: Generating /boot/initrd.img-4.19.0-5-amd64
Copying additional installer modules ...
Installing additional modules ...
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel
modules. This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup <version>
VirtualBox Guest Additions: or
VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup all
VirtualBox Guest Additions: Building the modules for kernel 4.19.0-5-amd64.
update-initramfs: Generating /boot/initrd.img-4.19.0-5-amd64
VirtualBox Guest Additions: Running kernel modules will not be replaced until
the system is restarted
如日志描述的,我们需要重启,重新加载编译的内核模块。
sudo reboot
5.创建共享文件夹
打开VirualBox管理器,选中虚拟机,然后 “设置->共享文件夹->添加共享文件夹” ,选择共享文件夹在宿主机上的路径;共享文件夹名称,自己指定,此处假设为Share;自动挂载,选择是;点击确定,创建共享文件夹。
6.挂载共享文件夹
- 以上新建的Share共享文件夹,在虚拟机上将自动挂载到 /media 目录下,名称为 sf_<ShareDirName> ,此处我们的Share文件夹将挂载为:/media/sf_Share。
- 当然,你可以将共享文件夹挂载到指定的目录
sudo mount -t vboxsf <ShareDirName> YourDirName
此处,我们示例将Share挂载到 ~/Share ,先id查看用户的uid和gid,此处假设为1000,1000
mkdir ~/Share
sudo mount -t vboxsf -o uid=1000,gid=1000 Share ~/Share