文章目录
- 一、虚拟机
- 1.1 概述
- 1.2 virtual box概述
- 二、新建虚拟机、删除、注册
- 三、虚拟机内部设置
- 3.1 安装增强功能驱动
- 3.2 分辨率问题
- 3.3 网络链接方式
一、虚拟机
1.1 概述
虚拟机(Virtual Machine,VM)是一种软件实现的计算机系统,它在物理计算机上模拟了完整的硬件环境,包括处理器、内存、存储等,允许在这个虚拟环境中运行操作系统和应用程序。虚拟机的出现和发展使得在一台物理计算机上同时运行多个独立的操作系统和软件成为可能。以下是虚拟机的一
概念解释:
- 宿主机(Host Machine):指运行虚拟机软件的物理计算机,也称为宿主系统。
- 虚拟机(Virtual Machine):在宿主机上创建的虚拟计算机系统,包含虚拟的处理器、内存、硬盘和其他设备。
- 客户机(Guest Machine):运行在虚拟机中的操作系统和应用程序,也称为客户系统。
- 宿主操作系统(Host OS):运行在宿主机上的操作系统,控制着宿主机的硬件资源。
- 虚拟机监视器(Virtual Machine Monitor,VMM):也称为虚拟机管理程序或Hypervisor,是虚拟机软件的核心组件,负责创建和管理虚拟机,以及在宿主机和虚拟机之间进行交互。
虚拟机的工作原理:
虚拟机通过在宿主机上运行虚拟机监视器(Hypervisor
)来实现。虚拟机监视器模拟了硬件层面的接口,为每个虚拟机提供一个独立的操作系统和应用程序运行环境。当客户机操作系统发出指令时,虚拟机监视器会截获这些指令,并通过一系列转换和模拟,最终将它们映射到宿主机的物理硬件上。
常见如vps,实际上是运行在物理服务器上的虚拟机。VPS 是一种通过虚拟化技术将物理服务器划分成多个独立的虚拟服务器的服务。每个 VPS 都具有自己的操作系统、磁盘空间、CPU、内存等资源,就像独立的物理服务器一样。
常见的虚拟机软件:
- VMware:VMware是一家虚拟化软件公司,其产品包括VMware Workstation(用于桌面虚拟化)、VMware Fusion(用于Mac系统)以及VMware ESXi(用于服务器虚拟化)等。Pro的功能十分强大。
- VirtualBox:Oracle公司开发的免费虚拟机软件,支持多种操作系统,适用于桌面和服务器虚拟化。简单、轻量化。
- Hyper-V:微软公司的虚拟化平台,内置于Windows Server操作系统中,并且也可以单独下载安装。
- KVM:Linux内核的一部分,是基于硬件虚拟化的虚拟化解决方案,适用于Linux系统。
- Parallels Desktop:用于Mac系统的虚拟机软件,支持在Mac上运行Windows和其他操作系统。
Windows Subsystem for Linux(WSL
)不是传统意义上的虚拟机,而是一种在Windows系统上运行Linux二进制文件的兼容层。WSL使用了一种技术,称为 轻量级虚拟化或者“子系统”,来实现在Windows上运行Linux环境。
1.2 virtual box概述
我是第一次使用virtual box,与VMware Workstation相比,非常轻量化,界面清爽、操作非常简单,功能也挺好用。
VirtualBox 是一款由德国公司 Innotek 开发的虚拟机软件,最初于2007年被 Sun Microsystems 收购,后来随着 Sun Microsystems 被 Oracle 收购,VirtualBox 也成为了 Oracle
的产品之一。
下载:https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html
特点:
- 免费开源:VirtualBox是免费的,用户可以自由下载、使用和修改其源代码。
- 跨平台支持:VirtualBox可以运行在多个主流操作系统上,包括Windows、Linux、macOS和Solaris等。
- 多种虚拟化方式:VirtualBox支持全虚拟化和硬件辅助虚拟化(Intel VT-x和AMD-V),允许在虚拟机中运行多种操作系统,包括Windows、Linux、macOS等。
- 多种网络模式:VirtualBox提供了多种网络模式,如NAT、桥接、内部网络等,可以根据需要配置虚拟机的网络连接。
- 共享文件夹:允许用户在宿主机和虚拟机之间共享文件夹,方便文件的传输和共享。
- 共享粘贴板:于宿主机共享粘贴板。文件夹用于文件共享,粘贴板仅用于文本共享。
- 快照功能:用户可以创建虚拟机的快照,记录虚拟机的当前状态,以便在需要时恢复到先前的状态。
- 虚拟光驱:支持挂载ISO镜像文件作为虚拟光驱,方便安装操作系统和软件。
- USB设备支持:可以在虚拟机中使用USB设备,如USB存储设备、打印机等。
- 多显示器支持:允许虚拟机跨多个物理显示器进行显示。
二、新建虚拟机、删除、注册
我通常用硬盘的一个分区来安装虚拟机或者双系统。
首先注意一下这个主机组合键是键盘右边那个control
,这个键在virtual box称为host
键,虚拟机里面有host组合快捷键用于全盘之类的操作。
要安装什么虚拟机,就先下载对应的镜像即可。很简单,不详细介绍。下图的下一步会设置新建虚拟机的账户密码,自己设置一下即可。
后面给虚拟机分配资源,自己设置即可,在选项条的绿色范围分配即可,比如我给虚拟机分配16G内存(宿主机48G)。这些后面都可以再次修改的。
系统安装里面的设置自己弄就行,Ubuntu就选择哪个try or install的选项安装即可。安装过程中的硬盘格式化是对虚拟出来的硬盘进行操作,不会影响你宿主机的硬盘,随便造。
安装完了进入系统,先看第三小节→
虚拟机安装目录下会出现如下文件:
<虚拟机名称>.vbox // 虚拟机主配置文件
<虚拟机名称>.vdi // VDI 格式的虚拟硬盘文件
<虚拟机名称>.log // 虚拟机日志文件
<虚拟机名称>-<快照名称>.vbox-prev // 虚拟机快照文件(可选,如果创建了快照)
还有.img是软驱(Windows),Linux下则是.iso光驱。这里面存放的是虚拟机的增强软件,接下来讲。
在关机后的虚拟机上右键,删除:删除所有文件是从你的宿主机上删除这个虚拟机,移除是从左边列表中移除,文件都还在,点击注册,选择vbox文件就又回来了。
三、虚拟机内部设置
3.1 安装增强功能驱动
进行新建的虚拟机后,分别率是很小的。先安装增强功能:
VirtualBox 的增强功能(Guest Additions
)是一组在虚拟机中安装的工具和驱动程序,用于增强虚拟机的性能、功能和易用性。这些增强功能提供了许多重要的功能,使得虚拟机的使用更加方便和流畅。以下是 VirtualBox 增强功能的一些主要用途和好处:
- 改善图形性能:
- 增强功能包括了虚拟机的图形驱动程序,安装后可以提供更好的图形性能和支持。
- 支持高分辨率显示和 3D 加速,使得虚拟机中的图形应用程序更加流畅和清晰。
- 共享剪贴板:
- 可以在虚拟机和主机之间共享剪贴板内容,方便在虚拟机和主机之间复制和粘贴文本、图像等内容。
- 共享文件夹:
- 允许在虚拟机和主机之间共享文件夹,方便将文件从主机复制到虚拟机中,或者从虚拟机复制到主机中。
- 这使得在虚拟机中处理主机文件变得非常方便,也可以避免使用网络共享等复杂的方式。
- 拖放文件:
- 支持将文件从主机拖放到虚拟机中,或者从虚拟机拖放到主机中,实现简单直观的文件传输操作。
- 自动调整分辨率:
- 可以根据窗口大小自动调整虚拟机的分辨率,适应不同大小的虚拟机窗口。
- 更好的鼠标和键盘支持:
- 提供更好的鼠标和键盘驱动程序,使得在虚拟机中的鼠标和键盘响应更加灵敏。
- 快速终止虚拟机:
- 安装增强功能后,可以使用快捷键或菜单选项快速终止虚拟机,而不需要手动关闭虚拟机。
- 时间同步:
- 自动同步虚拟机和主机的时间,确保时间的准确性和一致性。
点击安装:
文件资源管理器里面会出现一个CD驱动器,进去安装amd64那个即可。
Linux下亦是如此,dock栏会挂载一个光驱,打开,运行安装脚本即可,比如:
sudo ./VBoxLinuxAdditions.run
3.2 分辨率问题
点击视图:可以设置分辨率(你也可以看到上面有很多基于host的快捷键,等下自己尝试即可),接着再使用虚拟机安装的操作系统设置分辨率和缩放等等。
注意:
- 你给虚拟机分配的显存会影响这里的分辨率选择,显存太低带不动高分辨率的。关机,然后点击虚拟机的设置,分配大一点的显存即可(比如80M)。
- 有时候不能正常显示,可以点击右上角的窗户放大缩小一下就好了。
- Ubuntu下设置分数比例缩放需要全屏(host f)虚拟机才能设置。
其它功能不用介绍了,但很好用,比如虚拟机与宿主机双向的拖放、共享文件夹、粘贴板等等。
3.3 网络链接方式
VirtualBox 提供了多种网络连接方式,每种方式都有自己的特点和适用场景。以下是常见的几种网络连接方式及其区别:
- NAT (Network Address Translation):
- NAT 是 VirtualBox 默认的网络连接方式。
- 虚拟机通过 VirtualBox 宿主机的网络连接上网,宿主机充当 NAT 路由器,为虚拟机提供网络连接。
- 虚拟机可以访问外部网络,但外部网络无法直接访问虚拟机。
- 适合一般上网和测试用途,安全性较高,不需要额外配置。
- 桥接模式 (Bridged Networking):
- 桥接模式将虚拟机接入到宿主机所在的局域网中,虚拟机会拥有和局域网中其他设备一样的 IP 地址段。
- 虚拟机可以直接和局域网中的其他设备通信,也可以被局域网中的其他设备访问。
- 适合需要虚拟机和局域网中其他设备交互的场景,如搭建服务器、共享文件等。
- 仅主机网络 (Host-Only Networking):
- 仅主机网络创建了一个虚拟的独立网络,只包含宿主机和虚拟机,没有外部网络连接。
- 虚拟机之间和宿主机之间可以相互通信,但虚拟机无法访问外部网络,外部网络也无法访问虚拟机。
- 适合需要在虚拟机之间建立私有网络的场景,如测试环境、开发环境等。
- 内部网络 (Internal Networking):
- 内部网络类似于仅主机网络,但没有宿主机的参与,只有虚拟机之间可以通信。
- 虚拟机可以互相通信,但没有外部网络连接。
- 适合需要建立虚拟机之间私有网络,但不需要外部网络连接的场景。
- NAT 网络 (NAT Network):
- NAT 网络是一种在 NAT 和内部网络之间的中间形式。
- 虚拟机可以访问外部网络,也可以和其他虚拟机通信,但外部网络无法直接访问虚拟机。
- 适合需要虚拟机之间通信,同时需要访问外部网络的场景。
总结:
- NAT:适合一般上网和测试,安全性较高。
- 桥接模式:适合需要虚拟机和局域网中其他设备交互的场景。
- 仅主机网络:适合需要在虚拟机之间建立私有网络的场景。
- 内部网络:适合需要虚拟机之间私有网络,不需要外部网络连接的场景。
- NAT 网络:适合需要虚拟机之间通信,同时需要访问外部网络的场景。
比如使用桥接模式,就可以使用同一局域网其他设备的网络代理: