玩转Virtual Box虚拟机

news2024/12/23 16:58:23

玩转Virtual Box虚拟机

虚拟化技术和虚拟机简介

什么是虚拟化技术?

虚拟化技术是将计算机的各种硬件资源予以抽象、转换、分割、组合的一种计算机技术。虚拟化技术打破了实体结构间不可切割的障碍,从而使用户可以按照需求重新组合硬件资源,使硬件资源得到更充分的利用。

假如你现在有一台电脑,它有一个四核CPU、16GB内存和2TB硬盘。我们可以对CPU、内存和硬盘进行抽象、转换,再进行分割、组合。最终得到两台拥有双核CPU、8GB内存和1TB硬盘的虚拟机。

常见的虚拟化技术

  • 虚拟内存,将硬盘虚拟成内存来使用
  • 游戏模拟器
  • 虚拟专用网:OpenVPN
  • 跨平台软件:Wine
  • 跨平台编程语言:Oracle Java,Microsoft .NET
  • 操作系统虚拟机:VirtualBox,WMware,KVM,Hyper-V
  • 容器虚拟化:Docker

虚拟机的与实体机的关系

电脑(实体机器)
{
    操作系统(Windows,Linux,Mac OS)
    {
        虚拟机软件(VirtualBox,VMware)
        {
            虚拟机#1
            {
                Windows
            }

            虚拟机#2
            {
                Ubuntu
            }

            虚拟机#3
            {
                Android
            }
        }
    }
}

为什么选择VirtualBox?

软件只是工具,不是目的。以下是各操作系统虚拟机的特点:

  • KVM:只能在Linux系统上使用。
  • Hyper-V:只能在部分版本的Windows系统上使用。
  • WMware Workstation Player:免费,无快照、克隆功能。
  • WMware Workstation Pro:收费,功能极其强大,配置复杂。
  • VirtualBox:开源免费,功能适中,中文界面,跨平台。

KVM和Hyper-V因为只能在特定系统下运行,局限性太大,而不优先学习。而WMware Workstation Player功能不全,且WMware Workstation Pro收费太高而不适合初学者。最终选定学习VirtualBox。

VirtualBox的安装和全局设定

VirtualBox的发展史

  • 2007.01 Innotek公司发布自由软件VirtualBox。
  • 2008.02 Innotek公司被Sun公司收购,VirtualBox更名为Sun VirtualBox。
  • 2010.01 Oracle完成对Sun公司收购,VirtualBox又被更名为Oracle VM VirtualBox。

虽然几经更迭,但时至今日(2024.04.21)VirtualBox仍然是自由软件。

VirtualBox的下载安装

进入VirtualBox官网的下载界面,www.virtualbox.org。选择对应平台下载安装包。
下载好安装包后,双击即可开始安装。在这里插入图片描述

点击下一步。
在这里插入图片描述

安装目录可自行选择,我会将其安装到默认路径C:\Program Files\Oracle\VirtualBox\处。点击下一步。
在这里插入图片描述

点击“是”。因为VirtualBox在安装时会安装一个网卡驱动,在网卡驱动安装时,实体机器会断一下网,所以有这个警告。在这里插入图片描述

点击“安装”。
在这里插入图片描述

等待安装。
在这里插入图片描述

点击完成,运行VirtualBox。
在这里插入图片描述

软件打开后就是这个样子。

调整全局设定

安装好VirtualBox后先不要急着安装虚拟机,我们先把全局设定调好。

在这里插入图片描述

点击全局设定。

在这里插入图片描述

修改常规中的默认虚拟电脑位置。我将路径改为D:\VirtualBox VMs。

在这里插入图片描述

修改“更新”中的设置,取消检查更新。频繁地更新会导致系统不稳定。

其他的选项保持默认即可。

新建Windows 10虚拟机

术语

  • Host:主机(物理机器)
  • Guest:虚拟机
  • Host OS:主机的操作系统
  • Guest OS:虚拟机的操作系统

新建虚拟机

在这里插入图片描述

点击“新建”。

在这里插入图片描述

填入名称,并选择下载好的虚拟光盘。再点击下一步。

在这里插入图片描述

勾选“增强功能”。填写自己的用户名和密码。点击下一步。

在这里插入图片描述

给虚拟机分配内存和CPU,注意不要超出绿色区域,否则主机运行所需的内存和CPU就不够了。点击下一步。

在这里插入图片描述

给虚拟机分配硬盘,这里选择默认的50GB。点击下一步。

在这里插入图片描述

点击“完成”即可。至此,Windows 10虚拟机创建完成。

虚拟机在宿主机中如何保存

打开前面全局设定中的默认虚拟电脑位置,我的是D:\VirtualBox VMs。看到里面有一个名为Windows 10的文件夹。点进去看看,主要的文件有三个,分别是.vdi文件、.vbox文件和.vbox-prev文件。.vbox文件是虚拟机文件,.vbox-prev文件是虚拟机文件的备份。,vdi是虚拟硬盘文件。

启动虚拟机

在这里插入图片描述

运行虚拟机时可能出现"Windows无法从无人参与应答文件读取<ProductKey>设置。"的报错。这时应该删除掉软驱。先强制退出当前虚拟机。

在这里插入图片描述

点击“移除虚拟盘”。

在这里插入图片描述

光驱1先移除,再点击“选择或创建一个虚拟光盘文件”,重新选择.iso文件。

在这里插入图片描述

“系统”中的“启动顺序”中,去勾选“软驱”并将光驱排到顺序的最前面。重新启动虚拟机即可。Windows 10的安装过程就不在这里赘述了,跟主机安装Windows10一样的。

虚拟机增强功能安装

在虚拟机中,打开资源管理器,我们看到C盘的旁边有一个CD驱动器。

在这里插入图片描述

点击“设备”中的“安装增强功能”。等待安装完成,之后双击CD驱动器(VirtualBox Guest Additions)。一路next,直到安装完成。最后选择重启,点击Finash。

增强包Guest Additions解锁的四大功能

增强包中包含了很多驱动程序和应用程序。下面介绍增强包解锁的四大功能。

功能一,无缝窗口、全屏与自动缩放

在这里插入图片描述

这里有一个无缝模式,它的快捷键是Host+L。那么Host键是什么呢?我们点击“管理”,再点击“全局设定”,选择“热键”再选择“虚拟电脑”。这样我们就看到了名称为“主机组合键”的热键,他就是Host,它的按键是“Right Ctrl”,也就是右边的ctrl键。

在这里插入图片描述

顾名思义,无缝模式会将最上面和最下面的两栏隐藏掉。而全屏模式会将主机的任务栏也给隐藏掉,使虚拟机的桌面完全铺满屏幕。自动缩放允许用户随意地更改虚拟机窗口的大小。

功能二,共享粘贴板

点击“设备”,选择“共享粘贴板”,再选择“双向”即可开启共享粘贴板。

这个功能的重要程度不言自明。共享粘贴板的内容只能是文本。

功能三,拖放

点击“设备”,选择“拖放”,再选择“双向”即可开启共享粘贴板。在这之后需要重启虚拟机,不然虚拟机可能出现BUG。

拖放可以将主机和虚拟机中的文件互相拖放。你最好拥有两块显示屏,将主机与虚拟机的桌面分别放在两块显示屏上,这样互相拖放文件将会非常方便。

功能四,共享文件夹

点击“设备”,选择“共享文件夹”,再点击“共享文件夹”。

在这里插入图片描述

点击“添加共享文件夹”,填上必要的信息。这里我的共享文件夹路径为D:\VirtualBox VMs\share,共享文件夹名称为share,勾选自动挂载和固定分配。点击确定即可。

导入和导出虚拟机

在这里插入图片描述

点击“工具”,可以看到有“导入”和“导出”功能。

导出

点击“导出”。

在这里插入图片描述

选择你要导出的虚拟机。点击下一步。

在这里插入图片描述

先讲一下导出格式。

ovf格式全称为Open Virtualization Format,是一种工业级的虚拟化格式。它包含了几个独立的文件。

ova格式全程为Open Virtualization Format Archive,是将ovf中的几个文件打包成一个.tar压缩包。

选择好保存ova文件的地址,格式选择“开放式虚拟化格式1.0”,点击下一步即可。导出的时间很长,需要耐心等待。

应用场景

将带有应用程序的OS打包成软件包,进行软件分发或软件部署。一般是服务器操作系统。

导入

点击“导入”。选择需要导入的文件。点击“下一步”。调整一下参数,点击“完成”即可。

注册和删除虚拟机

删除虚拟机

在这里插入图片描述

右键想要删除的虚拟机,点击“删除”即可。选择“删除所有文件”,VirtualBox就会删除虚拟机的所有文件。选择“只是移除”,则虚拟机只是不再显示在VirtualBox中,而虚拟机的文件都不会丢失。

注册虚拟机

在这里插入图片描述

点击“工具”,可以看到有“注册”功能。点击“注册”,找到之前被删除(只是移除)的虚拟机的.vbox文件并选择。可以看到虚拟机又出现在VirtualBox的虚拟机列表中了。

克隆和批量管理虚拟机

克隆的作用:获得虚拟机的备份。可以快速部署多台服务器。

克隆

在这里插入图片描述

选择需要克隆的虚拟机,右键选择“复制”。

在这里插入图片描述

MAC地址设定选择“为所有网卡重新生成MAC地址”,这样防止MAC地址冲突。点击“下一步”。

在这里插入图片描述

选择“完全复制”或“链接复制”。

批量管理

分组

新建分组:可以把一台虚拟机拖动到另一台虚拟机上,这样这两台虚拟机就成为了一个分组。

将虚拟机加入某个分组:把一台虚拟机拖动到分组名称上。

管理

在这里插入图片描述

点击“编组”,就可以批量启动或停止虚拟机了。

备份功能

将系统的当前状态记录下来,后续的任何时候都可以恢复到该状态。

在这里插入图片描述

先点击这里,选择“备份[系统快照]”。点击“生成”,可以获得一个备份。我们可以启动这个备份。我们进入这个虚拟机的文件夹中,可以看到里面多出了一个名为Snapshots的文件夹,里面会为每一个虚拟硬盘都生成一个文件,而且采用增量备份的形式。

增量备份会形成一棵树形结构,某些备份是基于另一些备份生成的。点击恢复备份就能回到某些备份时的状态。不要在文件夹内直接删除某个备份,这样很可能会破坏树的结构,而应该在VirtualBox界面中进行删除操作。

添加硬盘

添加虚拟硬盘

硬盘不支持热插拔,所以要先关闭虚拟机。

在这里插入图片描述

点击“设置”。

在这里插入图片描述

选择“存储”,再选择“控制器:SATA”,点击“添加虚拟硬盘”。

在这里插入图片描述

点击“创建”。一步步完成向导即可。一般选择VDI,预先分配全部空间。

虚拟介质管理

在这里插入图片描述

如图所示,虚拟介质管理在管理-工具目录下。在这里可以管理所有虚拟介质。目前(2024.04.21),虚拟介质的大小只能调大,不能调小。

删除虚拟介质时,需要先将虚拟介质释放。

安装扩展包Extension Pack

扩展包与增强包

增强包:Guest Additions。以镜像文件的形式包含在VirtualBox安装包中。文件名为VBoxGuestAdditions.iso

扩展包:Extension Pack。是一个需要单独下载的文件。文件名为Oracle_VM_VirtualBox_Extension_Pack-x.x.x.vbox-extpack

下载并安装拓展包

扩展包的版本号必须与VirtualBox的版本一致。拓展包的下载地址与VirtualBox的安装包下载地址一致,都是www.virtualbox.org。在下面找到Extension Pack并下载。

在这里插入图片描述

点击“工具”右边的三个点。再点击“安装”,选中刚才下好的扩展包,点击“安装”即可。

解决VirtualBox更新

去官网下载最新的VirtualBox版本并安装,安装过程与初次安装一样。之后安装扩展包的步骤也与前文一样。最后升级增强包。

新建Ubuntu虚拟机

点击新建虚拟机。

使用时可能出现显示不全的问题。按alt+F7键之后移动鼠标即可。

安装增强包

sudo apt install build-essential dkms linux-headers-$(uname -r) -y

使用apt安装好这三个包后,去设备菜单中点击安装增强包,再输入以下指令。

sudo ./media/user/VBox_GAs_7.0.12/VBoxLinuxAdditions.run

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1613447.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C/C++开发,opencv-ml库学习,支持向量机(SVM)应用

一、OpenCV支持向量机&#xff08;SVM&#xff09;模块 1.1 openCV的机器学习库 OpenCV-ml库是OpenCV&#xff08;开放源代码计算机视觉库&#xff09;中的机器学习模块&#xff0c;常用于分类和回归问题&#xff0c;它是 OpenCV 众多modules下的一个模块。 该模块提供了一系列…

第15届蓝桥杯题解

A题 结果&#xff1a;2429042904288 思路很简单 前20个数分别是 20 24 40 48 60 72 80 96 100 120 140 144 160 168 180 192 200 216 220 240 第2 4 6 8 12 ...n个数分别是24的 1倍 2倍 3倍 4倍 6倍 n/2倍 所以第202420242024 个数就是 24的 101210121012倍 B题 答案&am…

十一、Yocto集成tcpdump等网络工具

文章目录 Yocto集成tcpdump等网络工具networking layer集成 Yocto集成tcpdump等网络工具 本篇文章为基于raspberrypi 4B单板的yocto实战系列的第十一篇文章&#xff1a; 一、yocto 编译raspberrypi 4B并启动 二、yocto 集成ros2(基于raspberrypi 4B) 三、Yocto创建自定义的lay…

Docker 安装 Mongo

创建宿主机目录 在你的宿主机上创建必要的目录来存储 MongoDB 的数据和配置文件。这样做可以保证即使容器被删除&#xff0c;数据也能得到保留。 mkdir -p /develop/mongo/data mkdir -p /develop/mongo/config创建 MongoDB 配置文件 创建一个名为 mongod.conf 的 MongoDB 配…

arping命令详解

arping – send ARP REQUEST to a neighbour host. arping 是一个在网络中发送 ARP 请求以查找特定 IP 地址对应的 MAC 地址的命令行工具。它的功能类似于 ping 命令&#xff0c;基于ARP协议报文的交互机制&#xff0c;只能测试同一网段或子网的网络主机的连通性。 ARP 是 Add…

【声呐仿真】学习记录1.5-使用docker配置dave(先看这个!)、解决一些问题

【声呐仿真】学习记录1.5-使用docker配置dave、解决一些问题 docker配置dave123 以下为未完全解决问题的随手记录&#xff0c;待日后解决再补充1.pcap、png解决&#xff0c;libusb未解决&#xff08;不要修改libusb相关的&#xff09;2.ISO C3.换源4.自动安装相关依赖 docker配…

【保姆级讲解下gateway基本配置】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

1、揭开程序运行的神秘面纱

要深入理解JVM技术&#xff0c;我们必须先搞清楚一个基本问题&#xff1a;我们日常编写的Java代码是如何被执行的呢&#xff1f; 让我们逐步解析这个问题。首先&#xff0c;假设我们已经编写了一些Java代码&#xff0c;这些代码通常会包含许多以“.java”为后缀的源文件&#…

《深入浅出.NET框架设计与实现》笔记2——C#源码从编写到执行的流程

中间语言&#xff08;Intermediate Language&#xff0c;IL&#xff09; C#编译器在编译时&#xff0c;会将源代码作为输入&#xff0c;并以中间语言形式输入出&#xff0c;该代码保存在*.exe文件中或*.dll文件中。 公共语言运行时&#xff08;CLR&#xff09; 可以将IL代码…

ROS机器人入门第七课:参数服务器

文章目录 ROS机器人入门第七课&#xff1a;参数服务器一、参数服务器介绍二、参数操作1.参数服务器新增(修改)参数2.参数服务器获取参数3.参数服务器删除参数 ROS机器人入门第七课&#xff1a;参数服务器 一、参数服务器介绍 参数服务器在ROS中主要用于实现不同节点之间的数据…

【第34天】SQL进阶-SQL高级技巧-Window Funtion(SQL 小虚竹)

回城传送–》《100天精通MYSQL从入门到就业》 文章目录 零、前言一、练习题目二、SQL思路初始化数据什么是Window Funtion窗口函数的分类语法结构第一种写法&#xff1a;第二种写法&#xff1a; 实战体验序号函数&#xff1a;row_number()序号函数&#xff1a;rank()序号函数&…

AI大模型量化格式介绍(GPTQ,GGML,GGUF,FP16/INT8/INT4)

在 HuggingFace 上下载模型时&#xff0c;经常会看到模型的名称会带有fp16、GPTQ&#xff0c;GGML等字样&#xff0c;对不熟悉模型量化的同学来说&#xff0c;这些字样可能会让人摸不着头脑&#xff0c;我开始也是一头雾水&#xff0c;后来通过查阅资料&#xff0c;总算有了一些…

Leetcode144_二叉树的前序遍历

1.leetcode原题链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 2.题目描述 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,2,3]示例 2&#xff1a; 输入&#xf…

如何在PostgreSQL中使用CTE(公共表表达式)来简化复杂的查询逻辑?

文章目录 解决方案步骤示例代码 结论 在处理复杂的SQL查询时&#xff0c;我们经常会遇到需要多次引用子查询或中间结果的情况。这可能会使得查询变得冗长且难以理解。为了解决这个问题&#xff0c;PostgreSQL&#xff08;以及其他一些SQL数据库系统&#xff09;引入了公共表表达…

变频器基础原理

文章目录 0. 基本知识1.三相的电压之和为02.正弦交流相量的相量表示法(相量只是表示正弦量&#xff0c;而不等于正弦量 &#xff1b;只有正弦量才能用相量表示)引入相量表示法目的:一种正弦量的产生方式:正弦量的相量表示&#xff0c;使用欧拉公式表示复数 3.用复数表示正弦量&…

使用JavaScript收集和发送用户设备信息,后端使用php将数据保存在本地json,便于后期分析数据

js代码部分 <script> // 之前提供的JavaScript代码 fetch(https://api.ipify.org?formatjson).then(response > response.json()).then(data > {const deviceInfo {userAgent: navigator.userAgent,platform: navigator.platform,language: navigator.language,…

晶圆制造之MPW(多项目晶圆)简介

01、MPW是什么&#xff1f; 在半导体行业中&#xff0c;MPW 是 "Multi Project Wafer" 的缩写&#xff0c;中文意思是多项目晶圆。MPW 的主要思想是将使用相同工艺的多个集成电路设计放在同一晶圆片上进行流片&#xff08;即制造&#xff09;。这种方法允许多个设计共…

数码摄影色彩构成,数码相机色彩管理

一、资料描述 本套摄影色彩资料&#xff0c;大小58.54M&#xff0c;共有6个文件。 二、资料目录 《抽象彩色摄影集》.阿瑟.pdf 《色彩构成》.pdf 《色彩学》.星云.扫描版.pdf 《摄影色彩构成》.pdf 《数码相机色彩管理》.pdf 数码摄影进阶之4《色彩篇》.pdf 三、资料下…

算法课程笔记——STL题目

长度为2的字符串&#xff0c;当in下标为一&#xff0c;也就是\n,当i&#xff01;n&#xff0c;就是输出空格 &&且 city从citys里面取 加速后就不能混用scanf

HANA SQL消耗内存和CPU线程的限制参数

HANA再处理大数据表相关的复杂Sql时&#xff0c;如果没有设置Memory和CPU线程上限的话&#xff0c;会将HANA的资源占用殆尽&#xff0c;造成HANA无法响应其他Sql请求&#xff0c;导致表现在应用服务器上就是系统卡顿的情况。解决上述问题的办法就是按照下图设置Memory(图1&…