一、 前言
教程定位说明:
- 适合人群:计算机专业学生 | 软件开发新人 | 系统测试工程师 | 多系统需求用户
虚拟机(VM)是一种计算环境,会模拟出自己的整套硬件,包括 CPU、内存、网络接口和存储器,通常用于充当隔离系统。
虚拟机的主要用途:
-
测试软件:在虚拟机中运行软件,测试其在不同操作系统上的兼容性,而不会影响主系统。
-
开发环境:为开发项目创建隔离环境,确保代码在不同系统上正常运行。
学习和实验
-
学习新系统:如学习 Linux 命令或网络配置,无需更改主系统。
-
实验安全:在虚拟机中测试潜在风险的操作,如病毒分析,保护主系统安全。
系统管理和备份
-
运行多个操作系统:同时运行 Windows、Linux 和其他系统,方便比较和学习。
-
创建快照:保存系统状态,便于恢复到特定点,适合学习或测试
二、下载与安装
2.1、下载
[官方下载直达](Downloads – Oracle VirtualBox)
在安装包中选择符合自己系统的安装包下载,这里以Windows为例。
2.2、安装
2.2.1、右键,以管理员身份打开安装包,点击下一步
2.2.2、选择安装路径
点击预览,选择安装路径。若出现“不符合安全需求”,则安装在默认路径。
2.2.3、点击下一步,直至安装完成。
三、创建虚拟环境准备
3.1、下载iso文件
可以把 ISO文件 想象成 「数字光盘」:
🎞️ 本质:一个完整的系统/软件的「打包文件」
💿 来源:将实体光盘(如系统安装盘)的所有内容完整复制成单个文件
🔐 特点:包含系统的 所有安装文件(和实体光盘内容完全一致)
操作系统 ISO 镜像源
镜像站 | 适用系统 | 地址 | 特点 |
---|---|---|---|
阿里云镜像 | Ubuntu/CentOS/Windows | 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 | 国内高速,含主流系统镜像 |
清华大学镜像 | Ubuntu/Kali Linux | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror | Kali 镜像优化,开发环境友好 |
Ubuntu 官方 | Ubuntu 全版本 | Get Ubuntu | Download | Ubuntu | 提供 LTS 长期支持版 |
微软官方 | Windows 系统 | 软件下载 | 正版 ISO 下载 |
这里我选择的是:Ubuntu(linux的一个版本,下载速度较慢建议使用镜像下载)。对于初学者来说它较为简单易用。
3.2、配置环境变量
此电脑 -> 右键属性 -> 高级系统设置 -> 环境变量
在系统变量中找到path,双击打开。
在桌面找到安装好的软件,右键,打开文件位置,并复制地址到粘贴板。
最后在编辑环境变量处,点击新建,将地址粘贴到环境变量中,再将全部窗口确定。
四、虚拟机
4.1、虚拟机位置修改(可忽略)
若前面不能安装在c盘,同时想要将虚拟机安装在其他盘时,可以在桌面双击打开Oracle VirtualBox 管理器(即安装的软件)。点击管理,选择默认虚拟电脑位置,自定义位置(此处以安装在D盘virtualization位置为例)。
4.2、注册虚拟机(用于导入或恢复现有虚拟机,首次创建可跳过)
首先将XML机器配置文件中的虚拟机注册到Oracle VirtualBox中,让我们确定配置文件的文件路径并在registervm命令后输入它。
配置文件是位于HOME/VirtualBox VMs目录子文件夹中的.vbox文件,如果虚拟机有加密密码,我们将使用密码选项以及主机操作系统上密码文件的绝对路径名,或者我们会在命令行上提示输入密码
在命令行中输入
VBoxManage registervm ".vbox configuration filepath" --password
此处我们输入:
VBoxManage registervm ".vbox configuration filepath" --password
4.3、创建虚拟机
使用快捷键,Ctrl + R 并在输入框中输入cmd,点击确定打开命令行。
输入
VBoxManage list ostypes
os:操作系统。
查看受支持的操作系统类型列表。
在里面找到你想要创建的虚拟系统。此处以Linux26_64为例。
再次在命令行中输入(根据自己情况输入相关信息,可看下面例子)
VBoxManage createvm --name --ostype --register
vm:虚拟机缩写。
name:创建虚拟机的名字(自己命名,此处以test为例)。
ostype:你想要注册的系统(此处以Linux26_64为例)。
platform:指定平台体系结构(此处为x86为例)。
register:注册。
注意:若你安装的VirtualBox为7.1或更高版本则可以加入--platform-arch=x86 或--platform-arch=arm指定平台体系结构为x86还是arm。
若为7.1以下版本可输入:VBoxManage createvm --name test --ostype Linux26_64 --register
若为7.1及以上版本可输入:
VBoxManage createvm --name test --platform-arch=x86 --ostype Linux26_64 --register
输入完成后,命令行显示。
此时打开Oracle VirtualBox 管理器发现已创建完成。
4.4、修改虚拟机属性
4.4.1、通过命令行修改
在命令行输入:
VBoxManage showvminfo 'name OR UUID'
info:信息。
name:前面虚拟机的命名。UUID
此处我的输入为:
VBoxManage showvminfo test
此时列出了虚拟机的所有属性。
现在我们来增加一些计算和内存属性。
在命令行输入:
VBoxManage modifyvm 'name OR UUID' --cpus --memory --vram
vram:专用于存储像素等图形数据。
memory:内存。(此处单位为MB)
cpus:用于计算。
此处我的输入为:
VBoxManage modifyvm test --cpus 2 --memory 2048 --vram 12
更改完成后,在命令行输入:
VBoxManage showvminfo 'name OR UUID'
查看是否完成修改。
此处我的输入为:
VBoxManage showvminfo test
显示修改以完成:
4.4.2、通过软件修改
同时我们也可以在Oracle VirtualBox软件中完成虚拟机属性修改。
打开Oracle VirtualBox软件,切换到虚拟框图形用户界面,检查并修改虚拟机属性。
在绿色范围内的均可修改。
注意:VBoxManage modifi VM命令只会对未运行的已注册虚拟机生效,同时并非所有虚拟属性都可以从图形用户界面访问,因此用命令行修改属性是比较全面的。
4.4.3、配置硬盘
工作 -> 介质
选择位置大小及类型
VDI (VirtualBox 磁盘映像)
描述:VirtualBox 专用的磁盘格式,优化了与 VirtualBox 的兼容性和性能。
优点:
与 VirtualBox 无缝集成,易于管理和扩展。
支持快照和动态分配。
缺点:与其他虚拟化软件(如 VMware)的兼容性较差。
推荐场景:使用 VirtualBox 学习 Linux,这是最佳选择。
VHD (虚拟硬盘)
描述:微软 Hyper-V 和 Virtual PC 支持的格式。
优点:
可在 Hyper-V 或 Azure 中使用,便于跨平台迁移。
缺点:在 VirtualBox 中性能可能不如 VDI,功能支持有限。
推荐场景:计划在未来使用 Hyper-V 或微软生态系统。
VMDK (虚拟机磁盘)
描述:VMware 产品的默认格式。
优点:
与 VMware 产品兼容,便于在 VirtualBox 和 VMware 之间共享。
缺点:在 VirtualBox 中可能需要额外配置,性能稍逊。
推荐场景:使用 VMware 或需要与 VMware 用户共享虚拟机。
HDD (并行硬盘驱动器)
描述:较老的格式,通常不推荐。
优点:兼容老系统。
缺点:功能有限,现代虚拟化软件支持较差。
推荐场景:仅当您有特定遗留需求。
QCOW2 (QEMU 复制优化磁盘)
描述:QEMU 虚拟化软件的默认格式。
优点:
支持高级功能(如压缩和快照)。
缺点:在 VirtualBox 中支持有限,可能需要额外配置。
推荐场景:如果熟悉 QEMU 或计划使用 QEMU。
QED (QEMU 增强型磁盘)
描述:QEMU 的另一种磁盘格式,类似 QCOW2。
优点:性能优化,但功能与 QCOW2 类似。
缺点:VirtualBox 支持较差。
推荐场景:仅限 QEMU 用户或高级用途。
我的设置:
创建完成:
4.4.4、添加光驱和硬盘
点击之前创建的虚拟机,并按照图示点击。
说明:
AHCI (SATA)
描述:模拟现代 SATA 硬盘控制器,支持高级功能(如热插拔和 NCQ)。
优点:
与现代 Linux 内核(2.6 / 3.x / 4.x / 5.x)高度兼容。
性能优于 IDE,适合桌面和服务器虚拟机。
缺点:老旧操作系统可能不支持。
推荐场景:运行 Ubuntu、Fedora 或其他现代 Linux 发行版,是最佳选择。
PIIX4 (模拟 IDE)
描述:模拟老旧的 IDE 控制器,基于 Intel PIIX4 芯片。
优点:
兼容非常老的操作系统(如早期的 Linux 2.6 或 Windows XP)。
缺点:
性能较低,现代系统可能不完全优化。
限制设备数量(最多 4 个设备)。
推荐场景:仅当运行非常老的 Linux 发行版。
PIIX3 (IDE)
描述:与 PIIX4 类似,但基于更老的 PIIX3 芯片。
优点:兼容极老的系统。
缺点:性能和功能更差,现代系统不推荐。
推荐场景:几乎不用,除非特定遗留需求。
ICH6 (IDE)
描述:模拟 Intel ICH6 IDE 控制器,改进版 IDE。
优点:比 PIIX3 稍好,兼容性尚可。
缺点:仍不如 SATA,限制较多。
推荐场景:运行中古时期的操作系统。
LSILogic (模拟 SCSI)
描述:模拟 LSI Logic SCSI 控制器,常见于服务器环境。
优点:
性能良好,适合服务器虚拟机。
支持更多设备。
缺点:现代 Linux 桌面发行版默认驱动可能较弱。
推荐场景:运行服务器级 Linux 或需要高 I/O 的工作负载。
BusLogic (SCSI)
描述:另一种 SCSI 控制器,较老的实现。
优点:兼容某些老系统。
缺点:支持有限,现代系统不优化。
推荐场景:仅限特定遗留 SCSI 环境。
Intel 82078 (软盘)
描述:模拟老式软盘控制器。
优点:支持老式软盘镜像。
缺点:现代系统几乎不用。
推荐场景:仅限非常特殊用途(例如恢复老系统)。
LSILogic SAS (SAS)
描述:模拟现代 SAS 控制器,升级版 SCSI。
优点:性能优异,适合高性能虚拟机。
缺点:Linux 桌面发行版支持不如 SATA。
推荐场景:服务器或高 I/O 需求。
USB 存储
描述:模拟 USB 存储设备。
优点:可用于测试 USB 设备。
缺点:不适合主磁盘,性能较低。
推荐场景:仅限 USB 设备测试。
NVMe (PCIe)
描述:模拟现代 NVMe 固态硬盘控制器。
优点:极高性能,适合高端虚拟机。
缺点:需要较新的 Linux 内核和驱动支持。
推荐场景:运行最新 Linux 版本并追求极致性能。
virtio-scsi
描述:基于 virtio 的 SCSI 控制器,适用于 KVM/QEMU 优化。
优点:高性能,适合虚拟化环境。
缺点:需要安装 virtio 驱动,Linux 桌面发行版可能默认不支持。
推荐场景:高级用户或与 KVM 兼容。
依次添加刚才增加的iso光盘和虚拟硬盘。
再将系统启动顺序设为下图(可以忽略,因为软驱基本不使用)。
接下来就可以启动了。