Ubuntu-22.04安装VMware虚拟机并安装Windows10

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、VMware是什么?
  • 二、安装VMware
    • 1.注册VMware账号
    • 2.下载虚拟机
    • 3.编译vmmon&vmnet
    • 4.加载module
    • 5.安装bundle
  • 三、安装Windows10
    • 1.基础配置
    • 2.进阶配置
      • 1.上网方式配置
      • 2.性能配置
  • 四、写在最后
  • 总结


前言

最近在研究虚拟机,主要集中在KVM、Virtualbox和VMware这三种虚拟机上。前面我已经研究了前两种虚拟机的安装和使用方式,这篇文章介绍3兄弟中最后一个虚拟机安装和使用方式。

Virtualbox虚拟机安装和使用

KVM虚拟机安装和使用

相比于前两种,VMware的安装方式最麻烦,但是综合体验下来我感觉流畅度最好。如果你确实有在Linux上使用VMware虚拟机的需求,那不妨跟着我看下去吧。


一、VMware是什么?

Run Windows, Linux and BSD virtual machines on a Windows or Linux desktop with VMware Workstation Pro, the industry standard desktop hypervisor.

二、安装VMware

1.注册VMware账号

现在下载指定版本的虚拟机需要注册账号了,老早以前貌似不需要。

中文官网地址

英文官网注册时候触发了一个网页bug,最好用中文方式注册。

2.下载虚拟机

一定要慎重,实测16.2.5是最适合Ubuntu-22.04的虚拟机,不要乱下版本,后续出问题对于小白来说几乎无法自行解决。

注意:16.0.0的发布时间比Ubuntu-22.04还早,实测安装过程中遇到了不小问题。

VMware-16.2.5下载连接

在这里插入图片描述

3.编译vmmon&vmnet

这两个是核心module,具体干什么用的自行查下官方,这里不介绍,总之必须装。

注意:实测bundle文件里自带的vmmon和vmnet貌似版本和自身不匹配,我用了很多办法都报错,所以从git下载源代码自行编译。

克隆代码:

git clone -b workstation-16.2.5 https://gitee.com/anold/vmware-host-modules.git

查看内核版本:
必须先知道内核版本,否则后面无法进行!

uname -r6.5.0-27-generic

我的正在运行的版本是6.5.0-27-generic,编译的module一定要和当前运行的内核版本匹配,否则无法正常运行。

安装gcc-12:
编译vmmon&vmnet的gcc版本必须和编译VMware的版本一致,否则会提示找不到合适的gcc version的错误。看到这里估计你开始冒冷汗了吧,怎么限制条件那么多!

sudo apt install gcc-12

安装完gcc-12你应该是12.3.0-1ubuntu1~22.04这个版本。如果你不是你就先把你的Ubuntu-22.04升级成最新版本再进行下一步。

sudo apt update
sudo apt upgrade

开始编译vmmon&vmnet:

cd vmware-host-modules/make VM_UNAME=$(uname -r)sudo make install 

编译很快可以不用指定多线程。另外,安装要root权限。

4.加载module

module现在默认要手动加载一次,默认是安装在/usr/lib/modules/$(uname -r)/misc/文件夹下面的,有两个ko分别是vmmon.kovmnet.ko,如果你没有那一定是你操作错误了或者环境变量的问题。

sudo modprobe vmmon
sudo modprobe vmnetlsmod | grep vmvmnet                  73728  0
vmmon                 163840  1

有就对了,没有说明加载ko报错了,定位下原因。

5.安装bundle

chmod u+x VMware-Workstation-Full-16.2.5-20904516.x86_64.bundlesudo ./VMware-Workstation-Full-16.2.5-20904516.x86_64.bundle

等待安装完成即可,会在应用列表自动生成VMware的图标。这个时候安装过程完毕。

三、安装Windows10

1.基础配置

打开VMware软件并创建一个新虚拟机:
在这里插入图片描述

选则配置模式:

Typical:典型配置,只需要简单的配置即可,比较适合小白
Custom:专业配置,很多参数需要自己一个个配,不适合没有丰富硬件和系统知识的人操作

在这里插入图片描述

选则Windows10的ISO镜像,最好使用官方镜像,不支持GHOST镜像

在这里插入图片描述

系统和用户配置:

系统可以后面激活,不填的话会给个提示,点击忽略即可。

在这里插入图片描述

配置虚拟机安装路径:

创建一个文件夹即可,可编辑文本框,如果Browser失效就手输。

在这里插入图片描述

虚拟磁盘分配:

如果你只是临时测试那么Windows10至少给30G的磁盘空间,如果你是长久使用至少给60G的磁盘空间,不能超过你的可用磁盘空间大小的前提下,越大越好。

单文件存储在性能上可能有优势,多文件在复制移动上有优势,依据个人需要选则。

在这里插入图片描述

确认基本配置:

在这里插入图片描述

在这里插入图片描述

2.进阶配置

1.上网方式配置

这个时候我们还没配置上网方式,这样会导致安装的虚拟机没有网络可用。跟着VMware一起安装的还有Virtual Network Editor,也是一个GUI程序,可以在应用列表里找到。

由于操作的是网卡,需要root权限!请按照我的步骤一步步操作,防止对宿主机系统造成破坏!

在这里插入图片描述

我们看到厚道的VMware实际上还是给我们创建了3种虚拟网卡。记着这些虚拟网卡的名字,后面会用到。

2.性能配置

内存配置:
WIndows10的话建议不小于4GB,当然不影响宿主机的情况下越大越好。

在这里插入图片描述
虚拟核心:
我的电脑有4核心8线程,我给了4个线程,把硬件虚拟化勾上(BIOS需要先打开CPU虚拟化,不懂的百度),如果你不用硬件虚拟化可以不用勾选,会切换到软件虚拟化运行,可能会很卡。

在这里插入图片描述

网络配置:
这里配置vmnet8,也就是通过NAT来上外网(取决于网卡的状态)。

在这里插入图片描述

到这里进阶配置也结束了,至少你的虚拟机能跑起来了。接下来点击Save保存刚才的配置并回到主界面,点击打开虚拟机就进入安装流程了。

四、写在最后

1、gcc版本和内核版本一定要匹配上,否则会出各种错误
2、网络种NAT和Bridge适用不同场景,一般都是可以上外网的,这取决于你宿主机的网络状态
3、性能的话我觉得VMware在Linux上的表现也是很惊艳的,默认安装方式它比KVM和Virtualbox流畅


总结

1、比Windows上安装麻烦不少,需要足够的耐心

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

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

相关文章

【算法】分治-快排

个人主页 : zxctscl 如有转载请先通知 题目 前言1. 75. 颜色分类1.1 分析1.2 代码 2. 912. 排序数组2.1 分析2.2 代码 3. 215. 数组中的第K个最大元素3.1 分析3.2 代码 4. LCR 159. 库存管理 III4.1 分析4.2 代码 前言 分治就是分而治之 1. 75. 颜色分类 1.1 分析…

滚雪球学Java(73):Java中的引用类型: 弱引用、软引用与强引用详解

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好…

如何在ADS中实现数据的导入和导出

1 MDIF接口 ADS提供了一种通用的MDIF格式文件,允许用户使用一个通用的数据接口实现导入和导出的功能,其Help文件中的简介如下: 2 数据的导入 实现数据导入功能之前,数据必须遵从一定的标准格式,如下图所示,…

[大模型] BlueLM-7B-Chat WebDemo 部署

BlueLM-7B-Chat WebDemo 部署 模型介绍 BlueLM-7B 是由 vivo AI 全球研究院自主研发的大规模预训练语言模型,参数规模为 70 亿。BlueLM-7B 在 C-Eval 和 CMMLU 上均取得领先结果,对比同尺寸开源模型中具有较强的竞争力(截止11月1号)。本次发布共包含 7…

我与C++的爱恋:类与对象(二)

​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:我与C的爱恋 ​ 本篇着重介绍构造函数和析构函数,剩余内容在下篇解答。 一、类的默认成员函数 如果一个类中什么成员都没有,简称为空类。 任何类在什么都不写时…

ThingsBoard通过服务端获取客户端属性或者共享属性

MQTT基础 客户端 MQTT连接 通过服务端获取属性值 案例 1、首先需要创建整个设备的信息,并复制访问令牌 ​2、通过工具MQTTX连接上对应的Topic 3、测试链接是否成功 4、通过服务端获取属性值 5、在客户端查看对应的客户端属性或者共享属性的key 6、查看整个…

基于spring boot的留守儿童爱心管理系统

基于spring boot的留守儿童爱心管理系统设计与实现 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开…

《剑指 Offer》专项突破版 - 面试题 108 : 单词演变(C++ 实现)

目录 前言 单向广度优先搜索 双向广度优先搜索 前言 题目链接:单词演变 题目: 输入两个长度相同但内容不同的单词(beginWord 和 endWord)和一个单词列表(wordList),求从 beginWord 到 end…

HTML5+CSS3小实例:荧光图标悬停效果

实例:荧光图标悬停效果 技术栈:HTML+CSS 字体图标库:font-awesome 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=d…

VulNyx - Ready

目录 信息收集 arp nmap nikto Redis未授权访问漏洞 漏洞扫描 redis-cli 写入公钥 ssh连接 get root.txt 信息收集 arp ┌─[rootparrot]─[~/vulnyx] └──╼ #arp-scan -l Interface: enp0s3, type: EN10MB, MAC: 08:00:27:16:3d:f8, IPv4: 192.168.9.102 Starti…

ZFT9 7VE8033同期脉冲发送装置 JSOEF约瑟

系列型号 ZFT9(PIG) 7VE8033同期脉冲发送装置; ZFT9(PIG) 7VE8043同期脉冲发送装置; ZFT9 7VE8033同期脉冲发送装置; ZFT9 7VE8043同期脉冲发送装置; 用途&#xff1a; ZFT9(PIG)同期脉冲发送装置用于船舶的三相系统&#xff0c;根据发电机和电力系统之间电压差、相位差、频率…

SAP SD学习笔记05 - SD中的一括处理(集中处理),出荷和请求的冻结(替代实现承认功能)

上一章讲了SD的重要概念&#xff0c;比如出荷Plant&#xff08;交货工厂&#xff09;&#xff0c;出荷Point&#xff08;装运点&#xff09;&#xff0c;输送计划&#xff0c;品目的可用性检查&#xff0c;一括纳入/分割纳入&#xff0c;仓库管理等。 SAP SD学习笔记04 - 出荷…

凡泰极客亮相2024 亚马逊云科技出海全球化论坛,为企业数字化出海赋能

随着「不出海&#xff0c;即出局」登上热搜榜单&#xff0c;企业出海已成燎原之势&#xff0c;3月29日&#xff0c;2024 亚马逊云科技出海全球化论坛在深圳成功举办&#xff0c;凡泰极客创始人梁启鸿受邀出席&#xff0c;并以 「App 2.0&#xff1a;以SuperApp构建智能数字生态…

K8s下部署grafana

1. 系统要求 最小化的软硬件要求 最小化硬件要求 磁盘空间: 1 GB内存: 750 MiB (approx 750 MB)CPU: 250m (approx 2.5 cores) 2. k8s部署grafana步骤 1) 创建名字空间 kubectl create namespace my-grafana 2) 创建yaml vim grafana.yaml yaml包含如下三个资源对象 Ob…

【七 (4)FineBI FCP模拟试卷-电站数据分析】

目录 文章导航一、字段解释1、电站基础信息表2、电站事实表 二、需求三、操作步骤1、将新增一列日期12、以左关联的形式增加装机容量3、年度发电总量4、年度售电完成率4、发电量及发电效率5、年售电完成比、售电回款比、管理费用比、运维费用比5、总装机容量6、最近日期7、最近…

Java基础-知识点03(面试|学习)

Java基础-知识点03 String类String类的作用及特性String不可以改变的原因及好处String、StringBuilder、StringBuffer的区别String中的replace和replaceAll的区别字符串拼接使用还是使用StringbuilderString中的equal()与Object方法中equals()区别String a new String("a…

使用 Docker 部署 Open-Resume 在线简历平台

1&#xff09;Open-Resume 介绍 GitHub&#xff1a; https://github.com/xitanggg/open-resume Open-Resume 是一款功能强大的开源 简历生成器 和 简历解析器 。可以帮助我们快速的生成个人简历&#xff0c;并定制化不同的主题和布局风格。该项目的目标是为每个人提供免费的现…

java数据结构与算法刷题-----LeetCode1009. 十进制整数的反码

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 476题相同解法 476题相同解法 解题思路&#xff1a; 因为此题和…

【I/O】基于事件驱动的 I/O 模型---Reactor

Reactor 模型 BIO 到 I/O 多路复用 为每个连接都创建一个线程 假设我们现在有一个服务器&#xff0c;想要对接多个客户端&#xff0c;那么最简单的方法就是服务端为每个连接都创建一个线程&#xff0c;处理完业务逻辑后&#xff0c;随着连接关闭线程也要销毁&#xff0c;但是…

每日一题---移除元素

文章目录 1.题目名称2.题目思路2.1.思路1:2.2.思路2&#xff1a; 3.参考代码 每日一题—移除元素 1.题目名称 2.题目思路 2.1.思路1: 创建一个新的数组&#xff0c;将值不为val的放到新的数组&#xff0c;然后在返回新的数组的大小&#xff0c;但是题目专门说啦&#xff0c;这…