尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

VirtualBox安装Ubuntu 20.04全流程指南:从虚拟机创建到系统重装与迁移

VirtualBox安装Ubuntu 20.04全流程指南:从虚拟机创建到系统重装与迁移 手头有 Windows 电脑又想体验 Linux 系统最常见的做法就是用虚拟机。这次我们来看一个很经典的操作在 VirtualBox 里装 Ubuntu 20.04。与其在真机上折腾双系统、担心分区搞坏引导不如直接开一台虚拟机想要就开、不想要就删文件拷贝、网络配置、快照备份都很方便。先说结论这套方案最大的价值是不需要真机双系统不需要重新分区Win 里开一个窗口就能跑 Linux。VirtualBox 是 Oracle 开源的虚拟机软件免费、跨平台支持 Windows、macOS、Linux、Solaris 等宿主机系统Ubuntu 20.04 LTS 是长期支持版本官方会持续维护到 2030 年稳定性有保障。对新手来说这是“零风险”接触 Linux 的最短路径对老手来说用 VirtualBox 做隔离测试环境、跑 Docker、验证脚本、搭集群实验也比直接动真机更省心。这篇文章会完整走一遍流程下载 VirtualBox 和 Ubuntu 20.04 镜像、创建虚拟机、调整 CPU 内存和显存、挂载 ISO 安装系统、安装增强功能、配置共享文件夹和剪贴板、处理启动失败和网络不通等常见问题。全程按步骤操作命令和配置可以直接复制最后还会给出一套性能观察和问题排查清单。文末会重点讲卡顿、全屏分辨率、增强功能安装失败、虚拟机无法启动这几个高频坑建议收藏备用。1. VirtualBox 与 Ubuntu 20.04 核心能力速览先给一张能力速览表把关键信息放在前面方便快速判断这套方案适不适合你。能力项说明软件类型开源虚拟化软件Oracle VirtualBox宿主机支持Windows、macOS、Linux、Solaris本次客户机系统Ubuntu 20.04.6 LTS64 位是否免费是遵循 GPLv2 许可支持平台x86 / AMD64 架构Intel 和 AMD 处理器均可启动方式图形界面启动也可用 VBoxManage 命令行启动支持快照支持可在关键步骤前拍快照支持批量任务可通过 VBoxManage 脚本化创建和管理多台虚拟机支持 API提供 VBoxManage 命令行工具和 Web 服务接口共享功能支持共享文件夹、双向剪贴板、拖放文件网络模式NAT、桥接、内部网络、仅主机网络Host-Only推荐磁盘空间建议预留 30GB 以上Ubuntu 20.04 最小安装约 10GB适合场景Linux 学习、软件测试、Docker 实验、网络实验、隔离环境从表里可以看到VirtualBox 的关键优势是“免费 功能全”。它在虚拟机领域不是性能最强的但胜在部署简单、生态成熟、资料多遇到问题基本都能搜到解决方案。Ubuntu 20.04 LTS 则是 Linux 发行版里对新手最友好的一个软件源配置、桌面环境、驱动支持都比较省心。1.1 版本选择说明热词里出现“virtualbox 5.2.44下载”这里多说一句。5.2.x 是很老的版本对新 CPU、新 Windows 系统兼容性不好不建议下载。更稳妥的做法是到 VirtualBox 官网下载最新稳定版或者使用发行版软件仓库里的版本。Ubuntu 20.04 官方镜像在 Ubuntu 官网的 Releases 页面和清华大学开源软件镜像站、阿里云镜像站都能下载下载时选ubuntu-20.04.x-desktop-amd64.iso即可不需要下载精简版或第三方改版。如果你在 Windows 上下载的镜像是.iso格式后续直接挂载到虚拟机光驱里使用。如果下载的是其他格式需要用工具转换但官方桌面版镜像默认都是 ISO。1.2 核心流程全景整体流程可以用下面这条链路概括下载 VirtualBox → 安装 VirtualBox → 下载 Ubuntu 20.04 ISO → 创建虚拟机 → 配置硬件参数 → 挂载 ISO → 启动安装 → 配置系统 → 安装增强功能 → 完成每个环节都有值得注意的细节比如虚拟磁盘格式选 VDI 还是 VHD、显存给多少、网络模式选 NAT 还是桥接、增强功能能不能装上这些都会直接影响使用体验。下面一个一个展开。2. 适用场景与使用边界2.1 这套方案适合谁用 VirtualBox 装 Ubuntu 20.04最典型的读者有三类。第一类是刚接触 Linux 的学生或转行开发者。真机装双系统需要分区、需要处理引导问题一个失误就可能让 Windows 进不去虚拟机完全隔离装坏了直接删除重来不影响宿主机系统。第二类是需要隔离测试环境的开发人员。比如要在 Linux 下测试 Python 脚本、装 Docker 容器、搭建 Nginx 服务、跑数据库实验VirtualBox 里开一台 Ubuntu 20.04 虚拟机完全够用。测试完拍个快照再也不用担心把环境搞坏。第三类是想做网络实验或系统实验的运维学习者。VirtualBox 支持 NAT、桥接、内部网络、仅主机网络四种模式可以模拟多台虚拟机之间的组网拓扑比买真实服务器划算得多。2.2 不适合什么场景VirtualBox 不是万能的下面几种场景不建议使用。第一需要 GPU 直通、跑大型 3D 渲染或 CUDA 训练的场景。VirtualBox 对 GPU 的支持始终偏弱虽然可以提供 3D 加速但性能无法和 VMware Workstation 或 KVM 直通相比。如果你要在 Linux 里跑深度学习训练或大型游戏建议用物理机双系统或专门的 AI 服务器。第二需要极致磁盘 IO 性能的场景。虚拟机磁盘性能受宿主机磁盘和虚拟磁盘格式双重影响数据库高并发压力测试、分布式存储实验这类场景性能差距会比较明显。第三对系统资源要求特别高的场景。虚拟机要同时占用宿主机 CPU、内存和磁盘空间如果宿主机本身只有 8GB 内存虚拟机给 4GB 后宿主机也会变得紧张。2.3 版权、隐私与安全边界使用 VirtualBox 和 Ubuntu 20.04 需要注意几个边界问题。首先是授权问题。VirtualBox 是开源免费软件可以自由使用Ubuntu 20.04 是官方长期支持版本个人和商业环境都可以免费使用。但如果你要在虚拟机里安装 Windows 系统必须准备正版授权不能把虚拟机当做绕过授权的手段。其次是隐私和数据安全。虚拟机不是完全隔离的安全沙箱如果启用了共享文件夹和双向剪贴板宿主机和虚拟机之间可以互相访问文件敏感数据要谨慎放入共享目录。网络模式下虚拟机可以访问外网也可能被宿主机局域网内其他设备访问不要以为虚拟机里的服务天然安全。最后是合规性。如果虚拟机上运行爬虫、扫描工具、网络测试工具所有流量都从真实网络出去需要遵守相关法律法规和目标站点的服务条款建议只在测试环境或授权范围内使用。3. 环境准备与前置条件开始安装之前按下面的清单检查宿主机环境。操作系统以 Windows 为主macOS 和 Linux 上的操作基本一致差异会单独说明。3.1 宿主机硬件要求配置项最低要求建议配置CPU双核 64 位处理器支持 VT-x/AMD-V四核及以上内存8GB16GB 及以上磁盘空间预留 20GB 以上预留 40GB 以上建议 SSD显卡支持 DX11 即可支持 OpenGL 3.3 以上VirtualBox 会默认开启硬件虚拟化支持。如果 BIOS/UEFI 里没有开启 VT-x 或 AMD-V创建虚拟机后启动时会报错后面“常见问题”部分会展开。3.2 宿主机软件要求Windows 7 / 8 / 10 / 11 都支持建议 64 位系统。Windows 下安装 VirtualBox 需要以管理员身份运行安装包。macOS 用户注意新版本 macOS 如果开启完整磁盘访问权限需要在“系统设置 - 隐私与安全性 - 完全磁盘访问权限”里允许 VirtualBox。Linux 宿主机的用户需要加入vboxusers用户组否则无法访问 USB 设备。3.3 Ubuntu 20.04 镜像下载推荐从以下渠道下载 ISO 镜像Ubuntu 官方 Releases 页面清华大学开源软件镜像站阿里云镜像站下载时认准20.04.6结尾的版本桌面版是desktop-amd64.iso。镜像文件一般有 2GB 到 3GB下载完成后可以先校验 SHA256 值确保文件完整。如果下载速度慢优先选国内镜像站。镜像站目录下会有20.04.x子目录进去后看到.iso文件就是系统镜像不用理会SHA256SUMS之外的文件。3.4 网络与端口检查安装 VirtualBox 过程中默认会安装 VirtualBox Host-Only Network 虚拟网卡。如果 Windows 防火墙或安全软件拦截需要允许 VirtualBox 相关进程通过。如果端口被占用安装过程中可能提示网络服务启动失败此时不用慌张安装完成后通常在“控制面板 - 网络连接”里能看到 VirtualBox Host-Only Network。4. VirtualBox 安装步骤4.1 Windows 下安装从官网下载 Windows 版本的安装包例如VirtualBox-7.0.x-xxx-Win.exe双击运行全程默认设置即可。安装过程中需要注意的一个点是安装虚拟网卡时Windows 会提示“是否安装此设备软件”选择“安装”否则 Host-Only 网络功能不可用。安装完成后打开 VirtualBox 主界面可以看到左侧“工具”和右侧“欢迎”界面说明安装成功。Linux 宿主机可以通过软件仓库安装# Ubuntu / Debian sudo apt update sudo apt install virtualbox # 或者从官网下载 .deb 安装包后执行 sudo dpkg -i virtualbox-7.0_7.0.x_amd64.debmacOS 宿主机直接拖拽VirtualBox.app到 Applications 目录。如果打开时提示“无法验证开发者”需要到“系统设置 - 隐私与安全性”里允许打开。4.2 修改虚拟机默认路径VirtualBox 创建虚拟机时默认会把虚拟磁盘放在系统盘的用户目录下。如果宿主机 C 盘空间紧张建议提前修改默认虚拟机位置。操作路径主界面点击“管理 - 全局设定 - 常规”在“默认虚拟机文件夹”右侧选择其他磁盘目录例如D:\VirtualMachines。这一步虽然没有技术难度但能避免后续因为 C 盘空间不足导致虚拟机无法运行。5. 创建 Ubuntu 20.04 虚拟机5.1 新建虚拟机向导点击主界面“新建”填写虚拟机名称。这里有一个容易忽略的细节如果名称里包含“Ubuntu”VirtualBox 会自动识别类型为 Linux、版本为 Ubuntu (64-bit)如果识别不了手动把版本选成Ubuntu (64-bit)。名称可以自定义但是建议不要使用中文或特殊符号否则后续共享目录和命令行操作可能出现编码问题。比如命名为ubuntu20-test。内存大小按照宿主机内存的一半左右分配比较合适。宿主机 16GB 内存虚拟机给 4096MB 或 8192MB 都可以宿主机 8GB 内存虚拟机给 2048MB 到 4096MB 即可。5.2 虚拟硬盘创建虚拟硬盘按下面的推荐创建设置项推荐值说明磁盘文件类型VDIVirtualBox 原生格式兼容性最好磁盘存储方式动态分配按需增长初始占用小磁盘大小30GB 及以上Ubuntu 最小安装加常用软件后约占 10-15GB动态分配的好处是初始不占用 30GB而是随着系统写入逐步增大。固定大小磁盘虽然性能稍好但创建时要立即占用全部空间不适合磁盘紧张的用户。注意虚拟磁盘创建后如果要扩容需要在 VirtualBox 里用VBoxManage modifymedium --resize命令扩容过程比新建麻烦所以一开始就留足空间更重要。5.3 硬件参数调整虚拟机创建完成后点击“设置”重点调整以下参数。处理器设置进入“系统 - 处理器”给虚拟机分配 2 到 4 个 CPU 核心。如果宿主机 CPU 是 8 核给 4 核比较合理小白先用默认的 1 核也可以装完系统但后期编译软件会非常慢。同时勾选“启用 PAE/NX”这个默认就是勾选的一般不需要改动。显存设置进入“显示 - 屏幕”“显存大小”拉到最大通常 128MB。勾选“启用 3D 加速”。安装 Ubuntu 20.04 桌面版时如果显存给得太小会出现桌面撕裂、窗口拖动卡顿、分辨率无法调节的问题。显示器数量保持 1缩放比例保持 100% 即可。虚拟机屏幕分辨率调到 1920x1080 或 1366x768 都可以取决于宿主机屏幕大小。网络设置进入“网络 - 连接方式”默认是 NAT。NAT 模式下虚拟机可以访问外网宿主机也能访问虚拟机里的服务但局域网内其他机器无法直接访问虚拟机。如果只是学习、下软件、看网页保持 NAT 即可。如果需要局域网内其他电脑访问虚拟机里的服务把网络模式改成“桥接网卡”。存储与启动顺序进入“存储”在“存储介质”里选择光驱图标点击右侧光盘图标选择“选择磁盘文件”然后选中下载好的 Ubuntu 20.04 ISO 文件。这里要特别确认启动顺序进入“系统 - 主板”把“光驱”放到“硬盘”前面否则虚拟机可能直接进硬盘找不到系统。5.4 启动虚拟机前检查清单启动前按照下面的清单再检查一遍虚拟磁盘已创建容量不小于 30GB。ISO 镜像已挂载到光驱。启动顺序为光驱 - 硬盘。内存分配不小于 2048MB。显存不小于 64MB。网络模式已选 NAT 或桥接。检查完成后点击“启动”。6. Ubuntu 20.04 系统安装与配置6.1 从 ISO 启动虚拟机启动后屏幕会出现一个紫色或黑色界面有几行选项。第一项是“Try or Install Ubuntu”默认选中。直接按回车键进入。这里不需要选择“Try Ubuntu”试用因为最终目的是安装到虚拟磁盘选择“Install Ubuntu”即可。如果启动后卡在黑色界面没有反应通常是因为 ISO 文件损坏或硬件虚拟化未开启先检查 VT-x/AMD-V 是否开启再校验 ISO 文件 SHA256。6.2 安装向导关键步骤Ubuntu 20.04 的安装向导一共 6 步左右关键配置如下。键盘布局选择“English (US)”或“Chinese (Zh-CN)”都可以推荐英文布局避免后续终端快捷键冲突安装完成后可以在系统设置里添加中文输入法。安装选项选择“正常安装”或“最小安装”。如果虚拟机磁盘只有 30GB建议选“最小安装”占空间更少后续需要什么软件再手动装。这里不要勾选“安装 Ubuntu 时下载更新”安装过程会更快系统装好后可以统一更新。安装类型这一步最关键。因为是在虚拟机里安装磁盘是空的直接选择“清除整个磁盘并安装 Ubuntu”即可。 VirtualBox 的虚拟磁盘不会影响宿主机真实硬盘放心选。这里不需要手动分区。Ubuntu 20.04 默认会自动创建 EFI 分区、根分区和交换分区对新手和绝大多数使用场景都够用。位置时区选择“Shanghai”或者地图点中国任意位置时区会自动识别为 UTC8。创建用户填写用户名、计算机名和密码。建议密码不要设置得太复杂虚拟机环境本地使用即可。勾选“自动登录”可以提高后续开机的效率但不勾选也能用每次输入密码而已。6.3 安装过程等待点击“继续安装”后系统开始往虚拟磁盘写入文件。这个过程根据宿主机磁盘性能可能需要 5 到 15 分钟。期间界面会显示安装进度和“正在安装系统”的提示。如果安装进度长时间卡在同一个百分比不动不要直接关虚拟机先等待几分钟。可能是虚拟机正在后台安装软件包也可能是 ISO 文件有问题此时可以打开任务管理器看 VirtualBox 进程是否还在占用 CPU。安装完成后界面会提示“安装完成请重启计算机”。点击“现在重启”即可。6.4 首次启动与基础设置重启后虚拟机会从硬盘启动 Ubuntu 20.04。第一次启动可能比较慢之后会逐步变快。登录系统后先打开终端快捷键Ctrl Alt T更新软件源sudo apt update sudo apt upgrade -yapt update是刷新软件包列表apt upgrade是升级已安装的软件包。这一步可能需要几分钟取决于网络速度。如果更新速度很慢可以更换为国内镜像源。清华镜像源和阿里云镜像源的配置方法官方都有文档核心是修改/etc/apt/sources.list文件中的源地址。6.5 Ubuntu 20.04 桌面优化与中文输入法Ubuntu 20.04 默认使用 GNOME 桌面首次进入后可以做一些简单优化。在“设置 - 显示器”里调整分辨率正常情况下可以选择 1920x1080 或宿主机同尺寸分辨率。如果只有 800x600 或 1024x768 可选说明增强功能还没安装先继续看下一章。中文输入法方面Ubuntu 20.04 默认可能没有中文输入法。在“设置 - 区域与语言 - 输入源”里点击加号选择“汉语Intelligent Pinyin”。如果没有这个选项先执行sudo apt install ibus-libpinyin装好之后注销重新登录输入法就会出现在右上角托盘。热词里出现的“ubuntu输入法切换”指的就是 GNOME 下用Super Space或Ctrl Space切换中英文输入源。7. VirtualBox 增强功能安装7.1 为什么要安装增强功能增强功能Guest Additions是 VirtualBox 给虚拟机装的一组驱动和工具包包含显卡驱动、鼠标指针集成、共享文件夹、双向剪贴板、拖放文件等功能。不装增强功能的 Ubuntu 虚拟机会有两个明显问题分辨率只能固定在低分辨率鼠标移入虚拟机后需要按Host 键默认右 Ctrl才能释放。装上增强功能后虚拟机窗口可以自由缩放鼠标在宿主机和虚拟机之间平滑移动宿主机和虚拟机之间可以直接复制粘贴文本。7.2 安装步骤先启动 Ubuntu 20.04 虚拟机登录桌面。然后在 VirtualBox 菜单栏点击“设备 - 安装增强功能”。此时虚拟机会自动挂载一个光盘镜像里面是增强功能安装文件。如果桌面没有自动弹出光盘窗口打开终端手动执行sudo mount /dev/cdrom /mnt cd /mnt ls接着安装依赖和编译器。增强功能安装需要编译内核模块所以要先确保系统有构建工具sudo apt update sudo apt install -y build-essential dkms linux-headers-$(uname -r)然后执行安装脚本sudo ./VBoxLinuxAdditions.run安装过程会输出一堆编译信息看到Welcome to the VirtualBox Guest Additions installation和Building the main Guest Additions module之类的输出是正常的。安装完成后建议重启虚拟机让内核模块加载生效。7.3 验证增强功能状态重启后在虚拟机里执行lsmod | grep vbox如果输出里包含vboxguest、vboxsf、vboxvideo三个模块说明增强功能安装成功。在“设备 - 共享剪贴板”里选择“双向”“拖放”里选择“双向”然后在 Windows 上复制一段文字切到 Ubuntu 虚拟机里Ctrl V粘贴能粘贴成功就代表双向剪贴板生效。如果 lsmod 里没有vboxsf模块说明共享文件夹功能未启用需要检查增强功能安装日志。7.4 配置共享文件夹共享文件夹允许 Windows 宿主机和 Ubuntu 虚拟机直接访问同一个目录非常适合传代码和安装包。配置方式如下第一在 VirtualBox 设置里添加共享文件夹。打开虚拟机设置 - 共享文件夹点击加号选择宿主机上的一个目录例如D:\share共享名称填share勾选“自动挂载”和“固定分配”。第二在虚拟机里创建挂载点并挂载sudo mkdir -p /mnt/share sudo mount -t vboxsf share /mnt/share如果要每次开机自动挂载在/etc/fstab文件末尾添加share /mnt/share vboxsf defaults 0 0挂载成功后在虚拟机终端里执行ls /mnt/share能看到宿主机D:\share目录下的文件说明共享目录配置成功。8. 性能观察与资源占用8.1 如何观察虚拟机资源占用VirtualBox 主界面右下角会显示虚拟机的 CPU 和内存占用打开虚拟机窗口的“视图 - 显示”菜单可以切换缩放模式。更精确的方式是在 Ubuntu 虚拟机里执行top或htop命令sudo apt install htop -y htophtop 会实时显示 CPU、内存、负载平均值和进程列表这是判断虚拟机是否卡顿的第一手数据。宿主机侧可以用 Windows 任务管理器查看 VBoxHeadless 进程和 VirtualBoxVM 进程的 CPU、内存占用。8.2 显存与分辨率对性能的影响VirtualBox 分配个虚拟机的显存大小直接影响 GNOME 桌面的流畅度。显存太小Ubuntu 20.04 的 GNOME 动画会非常卡打开应用窗口有明显延迟。建议至少分配 64MB推荐 128MB同时勾选“启用 3D 加速”。如果已经安装增强功能3D 加速会自动驱动 VirtualBox 的虚拟显卡桌面体验会明显改善。如果还是卡检查宿主机显卡驱动是否正常尤其是 Windows 宿主机集成显卡或笔记本双显卡的用户VirtualBox 的 OpenGL 支持依赖宿主机图形驱动。8.3 磁盘空间与虚拟磁盘增长动态分配的 VDI 虚拟磁盘会随着系统使用逐步增大。安装完 Ubuntu 20.04 加上常用软件虚拟磁盘文件可能从最初的几个 GB 涨到 15GB 到 20GB。如果宿主机磁盘空间不足需要检查虚拟磁盘实际占用VBoxManage showhdinfo ubuntu20-test.vdi这条命令会输出虚拟磁盘的大小、当前占用、位置和格式。如果占用增长过大检查虚拟机内是否有大量日志、缓存和旧内核df -h sudo apt autoremove -y sudo journalctl --vacuum-time7d8.4 如何降低虚拟机卡顿虚拟机卡顿是热词里最常出现的问题常见原因和对应策略如下卡顿原因解决策略内存分配不足在虚拟机设置里把内存调到 4096MB 以上CPU 核数太少分配 2 到 4 个核心但不要超过宿主机核心数的一半显存太小调到 128MB勾选 3D 加速未安装增强功能按前面步骤安装 Guest Additions宿主机磁盘是机械硬盘尽量换 SSD或将虚拟机改为固定大小磁盘后台进程太多虚拟机内执行htop查找 CPU 占用高的进程如果宿主机内存只有 8GB虚拟机分配 4GB 后宿主机还剩 4GB加上 Windows 系统本身占用的内存会给宿主机带来很大的内存压力。遇到这种场景建议关闭宿主机上不必要的软件或者在虚拟机里选择“最小安装”减少内存消耗。8.5 端口冲突与进程残留VirtualBox 默认不会占用特定的 TCP 端口但如果同时启动多台虚拟机每台虚拟机都会消耗宿主机 CPU 和内存。关闭虚拟机窗口不等于关闭虚拟机虚拟机窗口右上角关闭按钮会触发“保存状态”或“发送关机信号”的选项如果选择“保存状态”虚拟机进程会常驻内存。如果不希望虚拟机后台运行在 VirtualBox 主界面选中虚拟机点击“关闭 - 关闭虚拟机电源”或直接右键“关闭 - 关闭电源”。如果 VBoxHeadless 进程仍然存在在任务管理器里手动结束。9. 接口 API 与命令行批量管理9.1 VBoxManage 基础用法VirtualBox 不仅仅有图形界面VBoxManage 命令行工具适合批量创建和管理虚拟机。Windows 下 VBoxManage 在 VirtualBox 安装目录下Linux 下在/usr/bin/VBoxManage。查看虚拟机列表VBoxManage list vms启动虚拟机无界面模式VBoxManage startvm ubuntu20-test --type headless保存虚拟机状态VBoxManage controlvm ubuntu20-test savestate关闭虚拟机电源VBoxManage controlvm ubuntu20-test poweroff克隆虚拟机VBoxManage clonevm ubuntu20-test --name ubuntu20-clone --register对批量创建实验环境的读者来说VBoxManage 是比图形界面高效得多的工具。可以把上面命令封装成脚本一次性创建、启动、关闭多台虚拟机。9.2 脚本化批量创建示例下面是一个简单的批量创建虚拟机脚本思路实际执行前需要按你的 VirtualBox 安装路径和虚拟机名称调整参数。#!/bin/bash VM_BASE/path/to/vm for i in 01 02 03; do VBoxManage createvm --name node-$i --basefolder $VM_BASE --register VBoxManage modifyvm node-$i --memory 2048 --cpus 2 \ --ostype Ubuntu_64 --nic1 nat VBoxManage createhd --filename $VM_BASE/node-$i/node-$i.vdi --size 30720 VBoxManage storagectl node-$i --name SATA --add sata --controller IntelAhci VBoxManage storageattach node-$i --storagectl SATA --port 0 \ --device 0 --type hdd --medium $VM_BASE/node-$i/node-$i.vdi done这样创建出的三台虚拟机配置相同适合做集群实验。如果没有自动化脚本经验不建议直接在主力环境执行先在自己测试机上验证。9.3 快照管理快照是 VirtualBox 最强的功能之一。在安装系统之前拍一个“干净系统”快照之后无论怎么折腾都可以恢复到这个状态。图形界面下在虚拟机窗口“视图 - 快照”进入快照管理器点击“拍摄快照”。命令行下VBoxManage snapshot ubuntu20-test take clean-install恢复快照VBoxManage snapshot ubuntu20-test restore clean-install快照会占用额外磁盘空间不要用快照代替备份。快照数量建议控制在 3 个以内太多了会拖慢虚拟机磁盘性能。9.4 虚拟机迁移到其他硬盘热词里有“oracle virtualbox 系统可以迁移到别的硬盘吗”答案是肯定的。VirtualBox 的虚拟机和虚拟磁盘本质是宿主机上的几个文件迁移方式有两种。第一种方式先正常关闭虚拟机然后在“管理 - 全局设定 - 常规”里查看默认虚拟机文件夹找到虚拟机文件夹后连同.vbox配置文件和.vdi磁盘文件一起复制到目标硬盘。然后在 VirtualBox 主界面点击“控制 - 注册”选择目标硬盘上的.vbox文件完成导入。第二种方式使用“文件 - 导出虚拟电脑”导出为.ova文件再把.ova文件复制到其他机器使用“文件 - 导入虚拟电脑”导入。这种方式跨机器兼容性更好但导出和导入都需要较长时间适合完整迁移整套环境。更稳妥的做法是先拍快照再迁移迁移完成后启动验证确认没问题再删除旧文件。10. 常见问题与排查方法热词里出现的问题大多集中在启动失败、卡顿、增强功能和网络不通。下面是整理后的排查表。问题现象可能原因排查方式解决方案虚拟机启动后提示“未找到操作系统”或“无法启动虚拟电脑可能缺少操作系统”ISO 未正确挂载或启动顺序错误进入设置检查存储里是否有 ISO 文件检查系统启动顺序重新挂载 ISO将光驱启动顺序调到硬盘之前启动时提示“VT-x is not available”或“客户机操作系统已禁用 CPU”BIOS/UEFI 未开启硬件虚拟化重启电脑进入 BIOS检查 Intel VT-x 或 AMD-V 选项开启 VT-x/AMD-V保存重启后再次启动虚拟机“程序无法运行: 指定的可执行文件不是此操作系统平台的有效应用程序”下载了错误架构的软件或镜像比如在 64 位系统运行 32 位程序或下载了 ARM 版镜像检查文件架构Ubuntu 20.04 应选 amd64 版本重新下载 x86_64 架构的 ISO 和 VirtualBox 安装包虚拟机内 Ubuntu 启动后卡在黑色界面ISO 文件损坏、虚拟化异常或显存太小校验 ISO 的 SHA256检查显卡设置重新下载镜像增大显存并开启 3D 加速虚拟机窗口内鼠标被锁定无法退出未安装增强功能按右侧 Ctrl 键释放鼠标安装 Guest Additions屏幕分辨率只有 800x600 或 1024x768显存不够或增强功能未安装检查“设备 - 安装增强功能”是否成功安装增强功能显存调到 128MB增强功能安装失败提示“Unable to find the sources of your current Linux kernel”缺少 Linux 内核头文件和编译工具执行uname -r查看内核版本确认对应 headers 是否安装sudo apt install linux-headers-$(uname -r) build-essential dkms虚拟机里 Ubuntu 网络不通ping 不通外网网络模式配置错误、虚拟网卡驱动异常执行ip a查看网络接口检查是否有 IP 地址将网络模式改为 NAT执行sudo dhclient宿主机局域网里 ping 不通虚拟机NAT 模式下虚拟机对外不可见检查虚拟机 IP 地址和宿主机 IP 是否在同一网段将网络模式改为桥接网卡保证虚拟机与宿主机同网段虚拟机运行很卡鼠标和动画都有延迟内存不足、显存不足、CPU 核心过少用htop查看虚拟机内存占用和 CPU 占用提高虚拟机内存、显存分配更多 CPU 核心虚拟机磁盘越来越大宿主机磁盘空间不足动态分配磁盘增长、系统日志堆积查看df -h清理无用的软件包和日志sudo apt autoremove清理旧内核必要时压缩 VDI虚拟机窗口关闭以后进程还在后台占用资源关闭时选择了“保存状态”查看任务管理器里 VBoxHeadless 或 VirtualBoxVM 进程在主界面右键“关闭 - 关闭电源”或命令行 poweroff从官网下载 VirtualBox 安装包速度慢网络问题更换网络或使用镜像站Windows 版本一般文件不大稍等即可10.1 如何安全重装 Ubuntu 20.04热词里也有“ubuntu系统重装”。如果虚拟机里系统已经无法启动或者想从头开始不需要删除虚拟机有两种做法。第一种在虚拟机设置里挂载新的 ISO启动时按F12进入启动菜单选择光驱进安装向导后选择“覆盖当前系统”。这种方式会保留虚拟磁盘分区结构但不会保留系统数据。第二种直接删除当前虚拟机重新创建一台新虚拟机。在 VirtualBox 主界面右键虚拟机选择“删除”此时会询问是否同时删除虚拟磁盘文件。如果不再需要旧系统选“删除所有文件”即可。重新走一遍创建流程。10.2 Ubuntu 20.04 里检查系统架构热词里有“ubuntu查看系统架构”。在 Ubuntu 虚拟机的终端执行uname -m输出x86_64表示 64 位系统这是 VirtualBox 默认安装的结果。如果要看 Ubuntu 版本信息lsb_release -a这个命令会显示 Ubuntu 版本号例如20.04.6 LTS。10.3 VirtualBox 卸载如果不打算继续使用 VirtualBox卸载时要留意“Host-Only Network”虚拟网卡不会自动移除干净。Windows 下在“控制面板 - 程序 - 程序和功能”里卸载 VirtualBox重启后打开“网络连接”手动删除 VirtualBox Host-Only Network 网卡。如果残留也可以到设备管理器里卸载。Linux 下卸载sudo apt purge virtualbox11. 最佳实践与使用建议11.1 第一次使用先做这三件事第一安装完 Ubuntu 20.04 后不要急着装各种软件先拍一个“系统干净”快照。后续装软件、改配置出现问题一条命令就能恢复。第二先安装增强功能再安装其他软件。增强功能直接影响分辨率、剪贴板和共享目录是虚拟机体验的基础。第三设置共享文件夹时只共享必要的目录不要共享整个 D 盘或 C 盘。虚拟机内如果运行了有漏洞的服务共享目录可能成为数据泄露路径。11.2 日常使用建议虚拟机内保存重要数据时不要把宿主机的D:\share当备份盘。VirtualBox 虚拟磁盘文件本身可能损坏快照也可能误删重要代码和数据应该推到代码仓库或者拷贝到宿主机单独的目录。对运行的服务比如 Nginx、SSH、MySQL 等建议在虚拟机内使用 systemd 管理sudo systemctl enable ssh sudo systemctl start ssh如果要从宿主机访问虚拟机里的 SSH 服务在 NAT 模式下配置端口转发比较方便在虚拟机设置 - 网络 - 端口转发里添加规则例如把宿主机的 2222 端口转发到虚拟机的 22 端口然后用ssh -p 2222 username127.0.0.1如果使用桥接模式虚拟机直接占有局域网 IP宿主机可以直接 SSH 到虚拟机 IP但要注意防火墙设置。11.3 磁盘目录和命名规范建议用固定命名规则管理虚拟机和共享目录项目建议虚拟机名称ubuntu20-dev、ubuntu20-test、ubuntu20-docker虚拟磁盘目录全部放在一个根目录按虚拟机名分子目录共享目录宿主机D:\share\dev、D:\share\data虚拟机挂载为/mnt/share/dev快照名称clean-install、before-docker、before-app-deploy这样可以避免时间长了找不到磁盘文件和快照清理时也能快速定位。11.4 安全与合规提醒再强调一次边界虚拟机不是安全沙箱不要在虚拟机里运行来路不明的破解工具、破解软件或未经授权的扫描脚本。使用 Ubuntu 20.04 搭建的公网服务测试环境除外必须做好密码策略、防火墙配置、软件更新和日志监控。涉及人脸、声音、隐私数据的软件测试请使用脱敏数据或本地数据不要将真实用户数据倒入未审计的测试环境。如果虚拟机被用于爬虫或自动化操作确保目标对象合法并且只在授权范围内使用。12. 总结与下一步VirtualBox 安装 Ubuntu 20.04 是一条非常成熟的流程适合新手快速接触 Linux也适合开发者搭建隔离测试环境。这篇文章给出了从环境准备、镜像下载、创建虚拟机、安装系统、安装增强功能到批量管理、性能观察、问题排查的完整路径。如果你现在正准备动手建议按这个顺序执行先下载 VirtualBox 和 Ubuntu 20.04 ISO创建虚拟机时注意内存最少 2048MB、显存 128MB、磁盘 30GB安装系统时选“清除整个磁盘”装完后先装增强功能再拍快照然后就可以随意折腾了。最容易踩的几个坑再提醒一遍虚拟化要在 BIOS 里开启ISO 要选择 amd64 版本增强功能装不上时先装linux-headers-$(uname -r)网络不通时先确认网络模式虚拟机卡顿时优先调显存和安装增强功能。下一步可以继续做几件事在虚拟机里安装 Docker 做容器实验配置桥接网络让局域网设备访问虚拟机服务或者用 VBoxManage 脚本批量创建多台虚拟机做集群实验。把这套环境玩熟Linux 日常操作和服务器部署的基本功就打下来了。
返回列表