VMware Workstation 入门使用

article/2025/11/11 11:05:35

文章目录

  • 名词解释
  • 事先准备
  • 安装 VMware Tools
  • 将鼠标焦点从虚拟机中退出
  • 共享剪切板
  • 共享文件(夹)
    • 虚拟机为 Windows
    • 虚拟机为 Linux
  • 虚拟机快照的创建与加载
    • 创建虚拟机快照
    • 加载虚拟机快照
  • 克隆虚拟机
  • 构建宿主机-虚拟机局域网
    • 通信原理
    • 宿主机为 Windows,虚拟机为 Linux
  • 更改宿主机的 USB 连接导向

笔者的运行环境:

  • VMware Workstation Pro 16

  • 宿主机:Windows 10 教育版

  • 虚拟机:不限

名词解释

  • 宿主机:指的是安装运行 VMware Workstation 的计算机。在本文,为 Windows 10。

  • 虚拟机:指的是在 VMware Workstation 中安装运行的虚拟机。虚拟机的操作系统不限。

事先准备

  需要安装好 VMware Workstation。关于这方面的内容,可见笔者的另一篇博客:

  VMware Workstation Pro 16 安装教程:
https://blog.csdn.net/wangpaiblog/article/details/112152218

安装 VMware Tools

  VMware Workstation Pro 中的很多功能都需要借助于 VMware Tools 才能实现。VMware Tools 的安装方法如下。

  1. 触发在 VMware Workstation 中的虚拟机中安装 VMware Tools。

    在这里插入图片描述

    在这里插入图片描述

  2. 在虚拟机中安装 VMware Tools。

    在这里插入图片描述

    在这里插入图片描述

  3. 重启虚拟机。

将鼠标焦点从虚拟机中退出

  将鼠标焦点从虚拟机中退出至宿主机的方法时,在虚拟机中使用快捷键 Ctrl + Alt。如果安装了 VMware Tools,也可以无需借助快捷键。

共享剪切板

  先按照上面的方法安装 VMware Tools,然后重启虚拟机。重启之后,虚拟机应该可以与宿主机共享剪切板了。

共享文件(夹)

虚拟机为 Windows

  Windows 没有提供 SSH 协议的端口 22,因此无法使用 XShell 来直接进行远程连接。不过,Windows 提供了内置的途径。

  1. 先按照上面的方法安装 VMware Tools,然后重启虚拟机。

  2. 在宿主机中开启共享权限。

    在这里插入图片描述

    在这里插入图片描述

  3. 按照自己主机的实际情况,打开共享。

    在这里插入图片描述

  4. 在虚拟机中也开启共享权限。此步骤和在宿主机中是一样,不再赘述。

  5. 在 VMware Workstation 中指定宿主机需要共享的文件夹。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  6. 添加成功后,应该能在 VMware Workstation 中看到效果。

    在这里插入图片描述

  7. 虚拟机中添加刚刚在 VMware Workstation 中指定的共享文件夹。此文件夹将作为虚拟机中的一个驱动器的提供访问。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

虚拟机为 Linux

  这需要先构建宿主机-虚拟机局域网,在宿主机可以连接虚拟机之后,使用一种文件传输工具(如 Xftp 来完成)。关于这方面的详细内容,请参考本文 构建宿主机-虚拟机局域网 一节。

虚拟机快照的创建与加载

创建虚拟机快照

  虚拟机快照保存了当前虚拟机的状态,可用于以后将虚拟机恢复到当前的状态。创建的方法如下图所示。

在这里插入图片描述

在这里插入图片描述

加载虚拟机快照

  加载虚拟机快照的方法如下图所示。不过要注意的是,加载虚拟机快照会使用虚拟机当前的状态丢失,为了以防万一,可以在加载虚拟机快照之前,先保存当前虚拟机的快照。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

克隆虚拟机

  克隆虚拟机是创建一个一模一样的虚拟机。克隆的方法如下图所示。

  1. 克隆虚拟机。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  2. 克隆完成之后,可在 VMware Workstation 虚拟机列表中观察到克隆的虚拟机。

    在这里插入图片描述

  3. 克隆完成之后,可在本地文件目录中观察到克隆的虚拟机。

    在这里插入图片描述

构建宿主机-虚拟机局域网

  构建宿主机-虚拟机局域网是为了令宿主机与虚拟机、虚拟机与虚拟机之间可以通信。

通信原理

  构建宿主机-虚拟机局域网的通信原理是,首先,在 VMware Workstation 上开启 NAT 模式,这样 VMware Workstation 会在宿主机上构建一个虚拟的局域网,如 以太网适配器 VMware Network Adapter VMnet8。然后 VMware Workstation 会在这个虚拟的局域网上构建这个局域网的网关,这是宿主机与虚拟机、虚拟机与虚拟机之间通信的关键。最后,在将虚拟机中将 IP 设置为静态的,并手动设置一个其在此虚拟的局域网的静态 IP,这样一来,宿主机与虚拟机、虚拟机与虚拟机之间通信即可实现。


【提示】

  使用 VMware Workstation 的 NAT 模式 建立的局域网只对宿主机与所有的虚拟机之间是互相可见的,但对宿主机所在的局域网是不可见的。也就是说,NAT 模式 只是在宿主机内部开设了一个局域网,但该网络与宿主机所在的局域网不是同一个局域网,而宿主机同时是这两个局域网的成员。

  举个例子,假设主机 A 与主机 B 处于同一个局域网中,主机 A 内部开设了若干个虚拟机 a1、a2、a3、...、ai、...、an,主机 B 内部开设了若干个虚拟机 b1、b2、b3、...、bi、...、bn。那么,A 与 B 是可以互相感知的,A 与 ai 是可以互相感知的,ai 之间是可以互相感知的,B 与 bi 是可以互相感知的,bi 之间是可以互相感知的。但 A 与 bi 无法相互感知,B 与 ai 无法相互感知,ai 与 bi 更是无法相互感知。

  (为什么笔者在这里使用 感知,而不是通俗易懂的 访问 一词呢?这里感知指的是访问的必要条件,而访问是一种很强的条件,其含义也会因上下文而变化。如果两台位于同一个局域网,那么它们可以是互相感知的,但如果有一方使用防火墙进行了拦截,那么仍然是不能相互访问的。另外,协议、端口号等因素都有可能导致可感知但不能访问)

  有读者可能想问,一个宿主机位于两个局域网中,那如何分清一个局域网 IP 属于哪个局域网呢?原因就在于子网掩码。一个 16 位子网掩码的局域网最多可以分为 256 个 24 位子网掩码的局域网。一个 24 位子网掩码的局域网最多可以有 256 台主机。读者下面就可以看到,VMware Workstation 建立的局域网,其子网掩码是 24 位的。而宿主机所在的局域网,其子网掩码是 24 位的。因此,宿主机所在的局域网与 VMware Workstation 建立的局域网,它们的 IP 前 24 位前缀是不同的,所以这不会发生混淆。


宿主机为 Windows,虚拟机为 Linux

  这里以宿主机为 Windows,虚拟机为 Linux,宿主机与虚拟机之间的通信为例。

  1. 检查 VMware Workstation 是否已为宿主机上构建了一个虚拟的局域网。检查的方法是在宿主机(这是为 Windows 10)的命令行中如下命令。

    ipconfig

    在这里插入图片描述

    此处对于笔者的环境来说,可以通过 IP 地址与子网掩码看出,笔者此处的虚拟局域网为 192.168.191.XXX

  2. 在虚拟机中检查是否曾经已经设置过此虚拟机的 IP。如果之前没有设置过,那么在虚拟机的终端中输入如下命令,应该可以看到与笔者类型的输出。

    ifconfig

    [XXX@localhost ~]$ ifconfig
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500ether 00:0c:29:c1:c4:c6  txqueuelen 1000  (Ethernet)RX packets 193  bytes 12435 (12.1 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (Local Loopback)RX packets 2092  bytes 181912 (177.6 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 2092  bytes 181912 (177.6 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255ether 52:54:00:86:d9:8e  txqueuelen 1000  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    可以看出,上面字段 ens33 中并没有字段 inet,这说明本机还没有此虚拟的局域网的 IP。

  3. 如果没有在虚拟机中设置过 IP,则设置 IP 的方法如下。

    首先,在 VMware Workstation 中设置此虚拟的局域网的网关。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  4. 设置网关。此网关的 IP 只能为一种专用 IP(一般的格式为 192.168.XXX.XXX),需读者按照自身的实际情况自行设置。网关不能与已有的 IP 重复。

    前面有言,笔者此处的虚拟局域网为 192.168.191.XXX,所以笔者此处设置的网关需要以 192.168.191 开头。

    在这里插入图片描述

  5. 在虚拟机的终端中输入如下命令切换到用户 root,因为之后的操作需要 root 权限。

    su root

  6. 在虚拟机的终端中输入如下命令编辑虚拟机的网卡配置文件 ifcfg-ens33

    vi /etc/sysconfig/network-scripts/ifcfg-ens33


    【提示】

      使用 Linux 的 vi 编程器时,在打开文件后,输入按键 i 后才能进行文本输入。输入完成之后依次输入 【ESC】:wq!ENTER 之后才能保存修改。


  7. 初始时,笔者的文件 ifcfg-ens33 的内容如下。

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=dhcp
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    NAME=ens33
    UUID=201bcfa6-0892-44ce-b573-c43ca742585b
    DEVICE=ens33
    ONBOOT=no
    
  8. 在文件 ifcfg-ens33 修改或增加如下内容。

    BOOTPROTO=static           # 将 IP 设置为静态的
    IPADDR=192.168.191.11      # 静态 IP
    NETMASK=255.255.255.0      # 子网掩码
    GATEWAY=192.168.191.2      # 网关地址
    
  9. 在笔者的虚拟机中,修改之后的内容如下。

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    NAME=ens33
    UUID=201bcfa6-0892-44ce-b573-c43ca742585b
    DEVICE=ens33
    ONBOOT=yes
    IPADDR=192.168.191.11
    NETMASK=255.255.255.0
    GATEWAY=192.168.191.2
    
  10. 现在,应该就可以在宿主机中使用 Xshell 访问虚拟机了。

    关于如何在 Xshell 远程访问 Linux,可见笔者的另一篇博客:

    如何在 Windows 主机上访问本地局域网中的 Linux 主机:
    https://blog.csdn.net/wangpaiblog/article/details/120052152

    在这里插入图片描述

更改宿主机的 USB 连接导向

  当设备插入宿主机的 USB 接口时,究竟是宿主机还是虚拟机响应这个连接,这是一个问题。好在 VMware Workstation 提供了选择空间。

  默认情况下,VMware Workstation 会先接管 USB 连接,然后令用户在 VMware Workstation 中选择。不过,可以在 VMware Workstation 预先设定 USB 连接的导向。如下图所示。

在这里插入图片描述

在这里插入图片描述


http://chatgpt.dhexx.cn/article/GekslEWh.shtml

相关文章

matlab是否可以面向对象,MATLAB中的面向对象编程

本帖最后由 TS-boys 于 2020-10-30 13:29 编辑 1. 引子 面向对象编程是一种非常流行的编程思想,将“数据/属性”和“方法/函数”打包为对象,有利于大型软件的维护。基于这种思想,不同的编程语言,比如C++、JAVA等进行了不同的诠释。MATLAB也同样,对这种编程思想提供了支持,…

C 语言面向对象思想

注&#xff1a;本博客参考了很多大神的文章加上自己的理解&#xff0c;只做学习复习用 一. C语言面向对象设计引入 1.我们为什么要学习面向对象思想&#xff1f;&#xff1f;&#xff1f; 在我们平时的开发中也经常会遇到一些简单的项目我们很快就完成了&#xff0c;并且测试…

软件测试的历史

软件测试的历史 -概述1软件测试的发展2软件测试面临的挑战 -国内外现状1发达国家软件测试的体现2我国软件测试的发展 -软件测试与软件项目的关系1软件测试和软件项目的关系2软件质量风险的表现 -软件测试的发展趋势-第三方测试 -概述 只要坚持学习&#xff0c;路永远就在脚下&a…

【软件工程】软件工程需求分析——面向对象分析

halo~我是bay_Tong桐小白 本文内容是桐小白个人对所学知识进行的总结和分享&#xff0c;知识点会不定期进行编辑更新和完善&#xff0c;了解最近更新内容可参看更新日志&#xff0c;欢迎各位大神留言、指点 软件工程需求分析——面向对象分析 【更新日志】 面向对象分析概述建立…

[软件工程] 面向对象设计

面向对象设计 面向对象设计一、 面向对象设计的准则&#xff08;一&#xff09; 模块化&#xff08;二&#xff09; 抽象&#xff08;三&#xff09; 信息隐藏&#xff08;四&#xff09; 弱耦合对象之间的耦合可分为两大类&#xff1a;(1) 交互耦合(2) 继承耦合 &#xff08;五…

软件集成测试策略有哪些,面向对象的集成测试与传统的软件集成测试有什么不同?分别有哪些策略?...

满意答案 jijg你 2014.01.23 采纳率&#xff1a;56% 等级&#xff1a;9 已帮助&#xff1a;568人 提到面向对象的集成测试&#xff0c;就首先要搞清楚面向对象的集成有什么特征&#xff0c;是与传统软件集成有什么区别。 面向对象软件的三个主要特征是:封装、继承和多态。封…

Java面向对象浅谈

作者简介 作者名&#xff1a;编程界明世隐 简介&#xff1a;CSDN博客专家&#xff0c;从事软件开发多年&#xff0c;精通Java、JavaScript&#xff0c;博主也是从零开始一步步把学习成长、深知学习和积累的重要性&#xff0c;喜欢跟广大ADC一起打野升级&#xff0c;欢迎您关注&…

面向对象测试与传统软件测试有何异同,面向对象软件测试与传统测试有何区别...

由于面向对象技术具有封装、继承、多态等新的特性&#xff0c;带来了传统程序设计所不存在的错误&#xff0c;导致原来行之有效的软件测试技术对面向对象技术开发的软件有些力不从心。 面向对象软件测试与传统软件测试有以下不同&#xff1a; 测试关注的对象不同 传统测试的对象…

面向对象软件测试

面向对象技术涉及到的核心概念 1、对象&#xff1a;是一种对特定的数据以及业务逻辑代码继续封装的可操作实体。2、消息&#xff1a;某些对象请求执行操作的一个请求就是消息&#xff0c;消息机制是面向对象应用的关键。3、接口&#xff1a;一组行为或操作的集合&#xff0c;它…

JavaScript获取完整当前域名

window.location.protocol"//"window.location.host; // 返回https://mp.csdn.netwindow.location.host; //返回url 的主机部分&#xff0c;例如&#xff1a;mp.csdn.net window.location.hostname; //返回mp.csdn.net window.location.href; //返回整个url字符串…

php获取当前页面链接_php怎么获取当前完整url地址

对于PHP学习者来说&#xff0c;应该都知道$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。显然PHP获取当前页面的完整url地址&#xff0c;主要就用到$_SERVER这个系统变量。 下面我们就通过具体的示例给大家介绍PHP获取…

php获取域名方法,PHP实现获取域名的方法有哪些?

PHP实现获取域名的方法有哪些?这篇文章主要介绍了PHP实现获取域名的方法。使用php获取域名的方法很多,有用变量、正则、有字符接取方面的函数的都可以,但云服务器网(yuntue.com)小编今天就过来分享的是很简单的四种方法,当然也是比较实用的,也是效率比较高的;实例总结了常…

php 获取当前域名

当前url&#xff1a;http://localhost:805/test/helloworld.php echo SERVER_NAME&#xff1a;.$_SERVER[SERVER_NAME]; //获取当前域名&#xff08;不含端口号&#xff09; echo <p>;echo HTTP_HOST&#xff1a;.$_SERVER[HTTP_HOST];//获取当前域名 &#xff08;含端…

Element ui table表格内容超出隐藏显示省略号

element ui官方文档上面有个参数 :show-overflow-tooltip"true" 给el-table-column设置:show-overflow-tooltip"true"属性可以使单元格超出的内容被隐藏显示为...当鼠标移入时单元格的上方会弹出一个tooltip来显示单元格的所有内容。 <el-table v-loa…

element Descriptions 内容超出隐藏 Tooltip展示完整内容

使用 el-descriptions 时&#xff0c;可能会出现内容过长导致换行的情况&#xff0c;如图 这样会导致整体很不美观&#xff0c;所以封装了一个组件来解决此问题 效果图 当内容过长时会隐藏超出部分&#xff0c;鼠标移上去Tooltip展示全部内容&#xff0c;内容未超出的&#xf…

文字超出隐藏

1.单行文字 <html><head><meta charset"utf-8"><style>#row{display: block;/* 必备的四个条件 */width:100px;/*宽度 */overflow: hidden;/*超出隐藏*/white-space: nowrap;/* 强制不换行 */text-overflow:ellipsis;/*文字隐藏的格式 */}&l…

溢出超出DIV边框的内容自动隐藏方法

CSS样式实现溢出超出DIV边框宽度高度的内容自动隐藏方法 平时我们布局时候&#xff0c;有的文字内容多了会超过溢出我们限制的高度&#xff0c;有的图片会撑破DIV&#xff0c;让网页错位变乱。 这样我们就需要解决如何使用CSS来超出设置CSS宽度和CSS高度的内容自动隐藏掉&…

css单行/多行文本溢出隐藏 /超出隐藏

1、单行文本 - 溢出隐藏 div {width: 100px; &#xff08;固定宽度&#xff09;overflow:hidden; //超出的文本隐藏text-overflow:ellipsis; //用省略号显示white-space:nowrap; //不换行&#xff08;文字不允许换行&#xff0c;单行文本&#xff09; } 实现效果&a…

数字图像处理——图像质量评价(Python)

简单的按照评价指标公式&#xff0c;计算出待评价图像与标准图像之间的评价指标值&#xff0c;评价公式如下图&#xff1a; M和N表示图像的尺寸&#xff0c;L表示图像的灰度取值范围&#xff0c;对于8bit的灰度图像而言取L255 实验数据如下所示&#xff1a; 标准图像 待评价…

图像质量评价matlab实现(含代码)

这篇是上两篇的一个延续吧&#xff0c;对偏振HSI伪彩色图像融合增强效果的一个评价 代码里面包含了很多种评价方式&#xff0c;附带一个评价说明&#xff0c;链接如下&#xff1a; 图像质量评价指标&#xff08;全&#xff09;&#xff0c;可结合blog-机器学习文档类资源-CSD…