以前都是使用 VMware 这个虚拟机进行的Ubuntu及相关知识的学习,但是呢,大家都知道VMware不能免费用于商业化的,是需要版权的,故在公司的电脑上是不能安装VMware的。为此呢,就学习了使用VirtualBox这个虚拟机软件。但是呢,通过不同版本的VirtualBox安装不同版本Ubuntu时,还是或多或少的遇到了一些麻烦。写这篇博客的初衷就是:记录一下自己踩过的坑,避免以后再次入坑,同时呢,也希望对各位博友有所帮助。
1. 准备工作
首先我们需要下载VirtualBox及Ubuntu操作系统,这里推荐去官网下载。
1.1 获取VirtualBox
官方网址:https://www.virtualbox.org/
1.2 获取Ubuntu
官方网址:https://cn.ubuntu.com/download
2. 安装VirtualBox
安装VirtualBox的过程相信大家都会,这里不再啰嗦了。
3. 安装Ubuntu
3.1 创建虚拟机
3.2 配置虚拟机
如下图所示,当我们完成虚拟机的创建之后,还需要对虚拟机进行一定的配置才行。
常规配置
共享粘贴板:双向
:便于虚拟机与实体机系统之间的复制与粘贴操作;拖放:双向
:便于虚拟机与实体机系统之间的文件拖拽操作;
系统配置
内存大小
:可根据电脑的内存大小进行实时的配置(虚拟系统启动之前进行配置);启动顺序
:指定优先从哪里引导启动系统;- “处理器”:可根据电脑的实际的处理器个数,进行灵活的配置(虚拟系统启动之前进行配置);
显示配置
显存大小
:若系统安装完成之后,启动系统时出现黑屏的情况,可以调整显存大小。
共享文件夹
配置共享文件夹的目的是:在虚拟机中的系统可以访问查看实体机中的文件和文件夹。
共享文件夹路径
:实体机中的文件夹的路径(如下图,选择的路径是E:\demo
);共享文件夹名称
:这个一般是选择了文件夹路径之后,自动填充的,不需要单独设置;挂载点
:在虚拟机系统中的挂载路径,这个路径可以自由设置(如下图,挂载到了/mnt/share
路径下);
至此,重要的配置操作已经完成,可以“启动”安装系统了。
3.3 启动
到这里,系统就安装完成了,接下来就是“重启系统”,然后进行各种配置。
3.4 更新软件包
系统安装完成之后,最好更新一下软件包,更新命令如下:
$ sudo apt-get update
$ sudo apt-get upgrade
3.5 共享配置
在前面 “3.2 配置虚拟机
” 章节中配置了“共享文件夹”、“共享粘贴板”、“拖放”等参数。但是这些参数的功能到目前为止还未生效,必须安装 Guest Additions(增强功能)之后才能生效,安装 Guest Additions之前需要一些准备工作,如下。
- 在安装 Guest Additions(增强功能) 之前,必须安装某些先决条件包。如下:
$ sudo apt install build-essential dkms linux-headers-$(uname -r)
- 若安装的Ubuntu的版本是22.04及以上时,在安装 Guest Additions 之前可能还得需要执行如下命令。若不先进行安装,则安装 Guest Additions 时,可能会报如下错误:
$ sudo apt install dbus-x11
-
重启系统(reboot),以保证上面的这些安装包完全生效。
-
系统重启之后,安装如下执行 “Guest Additions”的安装。
-
执行完成第4步后重启系统,此时我们打开一个终端,尝试使用普通用户
jack
(创建系统时创建的用户名)去访问“共享目录 /mnt/share
”,会发现提示我们“没有足够的权限”,这是因为 jack 用户还没有在 vboxsf 这个用户组下,我们需要将其添加到 vboxsf 这个用户组下才行。
$ sudo usermod -aG vboxsf $(whoami)
- 重启系统,以普通用户的身份去访问共享文件夹就可以了,至此,整个系统安装完成。
4. 分析与总结
4.1 安装时可能遇到的问题汇总
问题1:安装 Guest Additions 时,提示如下错误 Failed to execute child process "dbus-launch"(No such file or directory)
,此时执行命令sudo apt install dbus-x11
即可解决。
问题2:若选择的VirtualBox的版本为6.xx的版本,安装Ubuntu22.04、Ubuntu24.04时问题。
经过多次尝试安装测试,发现在VirtualBox 6.xx版本均能够正常的安装Ubuntu的各个版本的系统(20.04、22.04、24.04),但是安装 Guest Additions 时总是安装不成功,或者安装成功后,却依然无法查看共享文件夹下的文件(本质还是未安装成功)。造成该问题的本质原因是VirtualBox 6.xx自带的 VBox_GAs_x.x.xx
的版本与Ubuntu的版本不兼容导致,22.04及以上版本的Ubuntu需要的 VBox_GAs_x.x.xx
的版本更高,这里各位网友遇到该问题后,换用VirtualBox 7.xx 的版本,该问题就迎刃而解了。
问题3 在安装 Guest Additions 时,可能会出现如下对话框,一定要选择“Cancel”。
问题4:若选择的VirtualBox的版本为6.xx的版本,安装Ubuntu-20.04时,处理“共享文件夹”时可能出现怎么也实现不了共享的问题,此时,需要执行以下命令:
$ sudo apt-get install virtualbox-guest-dkms
5. 导出与导入虚拟系统
很多时候,一个用了很长时间的系统,我们一般安装了很多的软件,安装包等等。当换一个新的电脑或者备份给组内其他成员时,我们直接将虚拟系统导出为一个文件,供其他人使用的话,是一种最省时省力的一种方式,下面就记录一下怎样导出、导入虚拟系统。
5.1 导出虚拟系统
完成上面的配置之后,就开始了虚拟电脑的导出,这里可能要持续一段时间(主要与电脑的性有关)。
5.2 导入虚拟系统
待导入完成之后,如下图,就新增了一个虚拟电脑,此虚拟电脑和其他的完全安装的虚拟电脑一样,都可以进行自由的配置。
5.3 导入其他虚拟系统
在5.2章节中介绍的方式只能识别并导入ova格式的虚拟系统(ova格式的虚拟系统是通过VirtualBox导出的),若要导入其他格式的虚拟系统,则需要通过如下的形式进行:
通过以上的形式可以导入多种类型的虚拟系统(包括由Ubuntu导出的虚拟系统),包括vhd、vdi等等类型的文件。
6. 系统备份(快照)
备份流程如下:
将系统恢复到某一备份状态的流程: