windows上的 Vmware Workstation 环境搭建

本文的视频版本:https://www.bilibili.com/video/BV1JhLRzyESh

Vmware Workstation 是一款跨平台的桌面级虚拟化软件,可以使用 Vmware 创建虚拟机,我们一般使用 Linux 虚拟机(目前主流的 Linux 发行版是 Ubuntu),可以使用 Vmware 方便的模拟真实的 Linux 环境,基于 Linux 环境进行学习、开发、部署、调试等。

这篇课程我们搭建一套最基础的 Vmware Workstation 环境,包含一台模板虚拟机,教搭建如何克隆模板虚拟机实现立即创建一太崭新可用的虚拟机。

下载 Vmware Workstation

Vmware Workstation 现在是免费非商业使用的,可以直接从官网下载,但是现在从官网下载比较麻烦,需要注册博通账号等。

推荐直接使用我的网盘中保存的软件:

https://www.alipan.com/s/oFNr4mvnHaX 提取码: 8j3s

打开自己 windows 的任务管理器,看虚拟化是否是打开的:

下载 Ubuntu 的 iso 文件

打开 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/ 清华大学开源软件站。

选择你需要的版本:

根据需要选择合适的 iso 镜像文件:

安装 Vmware-Workstation

配置 vmware-workstation 的网络以及 windows 的网络

然后全部点击确定。

还需要配置 vmware 中 DHCP 中的地址范围(这个地址范围要包括以后 vmware 中的所有虚拟机的 ip):

下面修改 windows 的网络配置:

右击后点击"打开网络和 intent 设置 "。

按如上格式修改 IP 信息(地址,网关,DNS 服务器),修改完毕后全部点击确定退出。

创建模板虚拟机

选我们刚刚下载的 iso 镜像文件:

这里我们的虚拟机名称命名为 ubuntu22_template,代表这是一台 ubuntu、版本为 22 的模板虚拟机。这个虚拟机的位置建议是自己创建一个专门存放所有虚拟机数据的一个目录下对应这个虚拟机的子目录。

点击完成后,就创建好了,会自动启动这台虚拟机:

后面是初始化 ubuntu 系统的步骤,所有的都直接使用默认的就可以了。

配置模板虚拟机

配置一台什么都没有的虚拟机,后面直接根据这个模板虚拟机就能克隆出无数的和模板虚拟机一样的、崭新的虚拟机了,非常方便。

配置 root 能远程登录

因为后面我们需要使用 ssh 工具连接到虚拟机来使用我们的虚拟机,不直接在 vmware-workstation 的命令行中使用虚拟机(没有语法提示,没有高亮,字体不能调节),所以我们还需要设置虚拟机能 root 用户远程登陆。

我们之前是没有配置 root 用户的密码的,可以通过如下的命令验证:

sudo grep root /etc/shadow

如果输出中 root 的密码字段为 * 或 !,表示 root 账号未设置密码(锁定状态),如果密码字段是一串哈希值(如 6 6 6…),则说明 root 用户已设置密码。

使用如下命令设置 root 用户的密码:

sudo passwd root

安装 openssh:

sudo apt install openssh-server

修改 openssh 的配置让 root 能远程登录:

sudo vim /etc/ssh/sshd_config

修改如下两个地方:

...
#PermitRootLogin prohibit-password
PermitRootLogin yes			# 允许root直接登录
...
#PermitEmptyPasswords no
PermitEmptyPasswords no		# 因为设置了root密码,所以需要修改为no
...

重启 ssh 服务:

systemctl restart ssh

安装 ssh 工具

参考博客:https://blog.csdn.net/qq_46028493/article/details/147522102 中 ssh 工具那一章节,选择一个自己喜欢的就好。

这里我们使用 WindTerm。

解压后记将这个固定到开始屏幕,这样点击开始屏幕中的 windTerm 图标就可以打开 windTerm 了:

使用 ssh 连接到虚拟机

使用如下命令查询模板虚拟机的 ip 地址:

sudo ip a

建议 windows 配置下虚拟机主机名到虚拟机 ip 地址的映射,这样就能直接通过虚拟机主机名访问虚拟机了,修改 C:\Windows\System32\drivers\etc 目录下的 hosts 文件(因为权限问题不能修改,建议拷贝一份到桌面,然后修改桌面的这个问题,再拖入 c 盘中覆盖掉原来的 hosts 文件):

192.168.10.70     ubuntu70

测试下是不是能 ping 通,在 windows 的 cmd 中:

ping ubuntu70

看到上面的内容就代表主机名和 ip 的映射关系配置好了。

打开 windTerm,双击 Shell sessions 创建一个新会话:

输入主机名:


设置下 windTerm 的保护密码,避免别人趁你长时间不在电脑旁边使用你的电脑的 windTerm 操作 windTerm 连接的服务器:

使用 root 登录,勾选下次自动登录:

输入用户密码:

连接到服务器成功:

配置模板虚拟机的 ip 地址为静态 ip 以及主机名

上一步我们以及通过 WindTerm 连接到了模板虚拟机,下面都在 WindTerm 中操作。

安装依赖让 ipconfig 能打印出 ip 地址,不安装会提示命令不存在:

apt install net-tools

再输入 ipconfig 命令查看虚拟机的 ip 地址:

上面显示的 ip 地址就是虚拟机的 ip。

使用 WindTerm 就是输入的这个 ip 使用 root 用户和 root 的密码连接到虚拟机。

个人习惯是将虚拟机的主机名中包含 ip 地址,这样看到主机名就知道这个虚拟机的 ip 地址是什么,比如,我们将模板虚拟机的主机名设置为 ubuntu70,就能想到它的 ip 地址是 192.168.10.70,这样就很方便。

修改主机名:

sudo vim /etc/hostname

使用如下命令找到网络接口名称:

sudo ip a

比如,上面找到的网络接口名就是 ens33,这个是要配置到下面的 ethernets 中的。

禁用网络配置覆盖行为:

sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

内容是:

network: {config: disabled}

删除掉现在 /etc/netplan/ 下的 yaml 配置文件。

修改虚拟机的 ip 地址为静态的 ip,并指定网关为之前配置的:

sudo vim /etc/netplan/01-netcfg.yaml

手动输入如下的配置:

network:version: 2renderer: networkdethernets:ens33: #Edit this line according to your network interface name.dhcp4: noaddresses:- 192.168.10.70/24gateway4: 192.168.10.2nameservers:addresses:- 192.168.10.2- 8.8.8.8

:::warning
这里的 ens33 需要改为你查询出来的网络接口名

:::

重启让配置生效。

从模板虚拟机克隆出崭新的虚拟机

关闭我们创建的模板虚拟机,右键关闭后的模板虚拟机:

配置下虚拟机的名称和存储这个虚拟机数据的目录:

克隆完成:

多了一台克隆的虚拟机:

修改 node71 的主机名和 ip 地址:

sudo vim /etc/hostname
network:version: 2renderer: networkdethernets:ens33: #Edit this line according to your network interface name.dhcp4: noaddresses:- 192.168.10.71/24gateway4: 192.168.10.2nameservers:addresses:- 8.8.8.8- 8.8.4.4

重启。

在 windows 中配置 node71 和 ip 的映射,在 cmd 中测试确保 node71 和 ip 的映射是没问题的。

在 ssh 客户端中重新创建一个连接 node71 的会话,用户名和密码都和模板虚拟机一样,查看现在的主机名和 ip 地址,发现主机名是 node71,ip 地址是 192.168.10.71,到这里,我们就从模板虚拟机中完全克隆出一台新的虚拟机 node71 了。

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

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

相关文章

Linux下终端命令行安装常见字体示例

一、准备工作: 准备好要安装的字体文件,如宋体、微软雅黑(simsun.ttc、msyh.ttc)。进入字体路径: /usr/share/fonts,使用root权限,新建一个目录shell_fonts。 二、命令行安装字体: 将要安装…

CentOS中在线安装Docker(超详细)

1)检查安装docker的基本要求: 64位CPU架构的计算机,目前不支持32为CPU架构的计算机 系统的Linux内核版本为3.10及以上 开启CGroups和namespace功能 2)使用命令查看当前系统的内核版本 [rootlocalhost ~]# uname -r 3.10.0-862…

武汉昊衡科技OLI光纤微裂纹检测仪:高密度光器件的精准守护者

随着AI技术应用越来越广,算力需求激增,光通信系统正加速向小型化、高密度、多通道方向演进。硅光芯片、高速光模块等核心器件内部的光纤通道数量成倍增加,波导结构愈发精细,传统检测手段因分辨率不足、效率低下,难以精…

Java数据结构——Stack

Stack 栈的概念和使用栈的概念栈的使用 栈的应用出栈元素序列有效的括号栈的压入、弹出序列逆波兰表达式最小栈 栈的概念和使用 栈的概念 栈(Stack):一种特殊的线性表,只允许再栈的一端进行插入和删除元素,这一端点被称为栈顶,另…

神经网络与计算机视觉

2016 年,随着 AlphaGo 在围棋比赛中击败李世石,“人工智能”、“神经网络”、“深度 学习”等字眼便越来越多的出现在大众眼前,智能化好像成为一种不可逆转的趋势,带给大家新奇感的同时也带来了一丝忧惧:在不远的未来,机器是否真的拥有思维和情感?《终结者》中天网大战人…

VS2019 与gitcode团队管理

1、安装git 点击下一步安装即可 2、vs2019连接gitcode 然后更改本地的代码添加文件等都可以进行远程同步操作了

Python类和对象四(十三)

魔法方法: 按位运算 按位于运算 只要相同才是1 或运算: 只要某个位是1结果就是1 、 按位非 将结果取反 按位异或: 左移和右移运算符: 右移两位 右移动n位,就是除以2的n次方 左移两位: 左移n位就是乘…

如何设置极狐GitLab 议题截止日?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 截止日期 (BASIC ALL) 可以在议题中使用截止日期,来跟踪截止日期并确保功能按时交付。用户至少需要报告者权限才…

如何在 Conda 环境中降级 Python 版本:详细指南

如何在 Conda 环境中降级 Python 版本:详细指南 Python 版本的管理在开发过程中至关重要,特别是在处理不同项目需求时。对于使用 Conda 环境的 Python 程序员来说,版本管理不仅仅是安装不同的 Python 版本,还涉及到依赖关系的兼容…

【随笔】地理探测器原理与运用

文章目录 一、作者与下载1.1 软件作者1.2 软件下载 二、原理简述2.1 空间分异性与地理探测器的提出2.2 地理探测器的数学模型2.21 分异及因子探测2.22 交互作用探测2.23 风险区与生态探测 三、使用:excel 一、作者与下载 1.1 软件作者 作者: DOI: 10.…

使用达梦官方管理工具SQLark快速生成数据库ER图并导出

在数据库设计与开发中,实体-关系图(ER 图)作为数据建模的核心工具,能够直观呈现表结构、字段属性及表间关系,是团队沟通和文档维护的重要工具。然而,对于许多使用达梦数据库的开发者来说,可用的…

单精度浮点运算/定点运算下 MATLAB (VS) VIVADO

VIVADO中单精度浮点数IP核计算结果与MATLAB单精度浮点数计算结果的对比 MATLAB定点运算仿真,对比VIVADO计算的结果 目录 前言 一、VIVADO与MATLAB单精度浮点数运算结果对比 二、MATLAB定点运算仿真 总结 前言 本文介绍了怎么在MATLAB中使用单精度浮点数进行运算…

力扣-141.环形链表

题目描述 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中存在环 ,则返回 true 。 否则,返回 false 。 class Solution { public:bool hasCycle(ListNode *head) {ListNode *fast head;ListNode *slow head;while (fast! n…

RESTful学习笔记(一)

Web发展 一、API 程序硬件接口(Application Programming Interface),是预先定义好的逻辑函数,软件系统不同组成部分衔接的约定,直接调用函数,无序访问代码细节,分为SDK和Web应用接口两类 SDK…

SD2351核心板:重构AI视觉产业价值链的“超级节点”

在AI视觉技术狂飙突进的当下,一个吊诡的现象正在浮现:一方面,学术界不断刷新着ImageNet等基准测试的精度纪录;另一方面,产业界却深陷“算法有、场景无,技术强、落地难”的怪圈。明远智睿SD2351核心板的问世…

【数据结构】红黑树原理及实现

目录 一. 红黑树的概念1. 红黑树的规则思考 2. 红黑树的效率 二.红黑树的实现1. 红黑树的结构2. 红黑树的插入3. 红黑树的平衡调整情况1:变色情况2:单旋变色情况3:双旋变色 4. 红黑树插入及平衡调整代码实现5.红黑树的验证 一. 红黑树的概念 …

时间复杂度分析

复杂度分析的必要性: 当给我们一段代码时,我们是以什么准则来判断代码效率的高低呢?每一段代码都会消耗一段时间,或占据一段数据空间,那么自然是在实现相同功能的情况下,代码所耗时间最少,所占…

L1-1、Prompt 是什么?为什么它能“控制 AI”?

*Prompt 入门 L1-1 想象一下,你只需输入一句话,AI 就能自动为你写一篇文案、生成一份报告、甚至规划你的创业计划。这种“对话即编程”的背后魔法,就是 Prompt 的力量。 🔍 一、Prompt 的定义与由来 Prompt(提示词&am…

微信小程序文章管理系统开发实现

概述 在内容为王的互联网时代,高效的文章管理系统成为各类平台的刚需。幽络源平台今日分享一款基于SSM框架开发的微信小程序文章管理系统完整解决方案,该系统实现了多角色内容管理、智能分类、互动交流等功能。 主要内容 一、用户端功能模块 ​​多角…

【Python-Day 5】Python 格式化输出实战:%、format()、f-string 对比与最佳实践

Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…