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

news2025/6/27 7:19:01

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

文章目录

  • 前言
  • 一、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 -r

6.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 vmnet

lsmod | grep vm

vmnet                  73728  0
vmmon                 163840  1

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

5.安装bundle

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

sudo ./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.coloradmin.cn/o/1584006.html

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

相关文章

RISC-V特权架构 - 中断注入

中断注入 1 中断注入的作用2 mip寄存器3 中断注入后的处理过程 本文属于《 RISC-V指令集基础系列教程》之一,欢迎查看其它文章。 1 中断注入的作用 中断注入,就是在M模式下,手动向S模式去产生一个中断。 比如:向mip寄存器的bit5…

为什么需要SOCKS代理?

在数字化时代🌐,随着网络安全威胁的不断演进和增加,保护个人隐私和数据安全成为了互联网用户的一大挑战🛡️。在寻求增强在线安全和隐私的解决方案时,SOCKS代理成为了一个关键的技术工具🔑。本文旨在详细探…

华为数通配置旁挂二层组网直接转发实验

配置旁挂二层组网直接转发示例 组网图形 组网需求 AC组网方式:旁挂二层组网。DHCP部署方式: AC作为DHCP服务器为AP分配IP地址。汇聚交换机SwitchB作为DHCP服务器为STA分配IP地址。业务数据转发方式:直接转发。 数据规划 表1 AC数据规划表 …

Linux JDK修改不生效

原JDK8,现需要切换为JDK11,环境变量已经修改为11,但java -version还是显示8。 ln -s -f /home/jdk-11.0.19/bin/java

数据结构——线性表(链式存储结构)

语言:C语言软件:Visual Studio 2022笔记书籍:数据结构——用C语言描述如有错误,感谢指正。若有侵权请联系博主 一、线性表的逻辑结构 线性表是n个类型相同的数据元素的有限序列,对n>0,除第一元素无直接…

Web3 的社会影响:数字社会的新时代

随着科技的不断进步和创新,人类社会正逐步进入数字化时代的新阶段。Web3 技术作为数字社会的重要组成部分,正在以前所未有的方式重塑着我们的社会生活和交往方式。本文将探讨 Web3 技术对社会的影响,以及它所带来的数字社会的新时代。 1. Web…

同旺科技 USB TO SPI / I2C 专业版 极限测试 ---- 写入数据

所需设备: 1、USB 转 SPI I2C 适配器;内附链接 备注:带EXCEL调试的只适用于专业版; 软件配置: 设置如下,写入32766个字节,单条指令,速率20Mhz; 32766个字节不是适配器的极限&am…

SpringBoot中的Redis的简单使用

在Spring Boot项目中使用Redis作为缓存、会话存储或分布式锁等组件,可以简化开发流程并充分利用Redis的高性能特性。以下是使用Spring Boot整合Redis的详细步骤: 1. 环境准备 确保开发环境中已安装: Java:用于编写和运行Spring…

Node.js常用快捷键

1.常用的终端命令: (1)del 文件名: 删除文件 (2)ipconfig: 查看IP命令 (3)mkdir 目录名 :在当前目录新建指定目录 (4)rd 目录名:在当前…

【JavaWeb】Day40.MySQL概述——多表设计(一对多)

多表设计 项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种: 一对多(多…

html页面跳转的方法

1、加在head里面 <head> <meta http-equiv"refresh" content"1;urlhttps://ha.huatu.com/zt/hnsylkseo/?"> </head> 2、加在body里面 在body里用js <script language"javascript" type"text/javascript">…

掌握网络抓取技术:利用RobotRules库的Perl下载器一览小红书的世界

引言 在信息时代的浪潮下&#xff0c;人们对于获取和分析海量网络数据的需求与日俱增。网络抓取技术作为满足这一需求的关键工具&#xff0c;正在成为越来越多开发者的首选。而Perl语言&#xff0c;以其卓越的文本处理能力和灵活的特性&#xff0c;脱颖而出&#xff0c;成为了…

el-table 设置固定列导致行错位的解决方案

element 官方给出的解决办法是使用doLayout&#xff0c;使用doLayout重新加载一下table就好了。 updated() {// tableRef是表格的ref属性值if (this.$refs.tableRef&& this.$refs.tableRef.doLayout) {this.$refs.tableRef.doLayout();}},调整前后效果对比&#xff1a…

LeetCode Meditations:合并 K 排序列表

描述 合并K分类列表 状态&#xff1a; 您有一系列 k 链接-列表 lists &#xff0c;每个链接-列表按升序排序。 合并所有链接-列表为一个排序的链接-列出并返回。 例如&#xff1a; Input: lists [[1, 4, 5], [1, 3, 4], [2, 6]] Output: [1, 1, 2, 3, 4, 4, 5, 6] Explanatio…

web APIs总结(2)

1. 页面滚动事件 很多网页需要检测用户把页面滚动到某个区域后做一些处理&#xff0c; 比如固定导航栏、返回顶部事件名&#xff1a;scroll监听某个元素的内部滚动直接给某个元素加即可 获取位置 scrollLeft和scrollTop &#xff08;属性&#xff09; &#xff08;注&#xf…

git did not exit cleanly (exit code 128)解决方案

当您在使用Git时遇到 “git did not exit cleanly (exit code 128)” 这样的错误消息时&#xff0c;通常表示Git在执行某个操作时遇到了问题。这个错误代码128通常与远程操作有关&#xff0c;可能是由于网络问题、权限问题或其他原因导致的。 问题 以下是一些可能的解决方法&a…

Harmony鸿蒙南向驱动开发-SDIO

SDIO&#xff08;Secure Digital Input and Output&#xff09;由SD卡发展而来&#xff0c;与SD卡统称为MMC&#xff08;MultiMediaCard&#xff09;&#xff0c;二者使用相同的通信协议。SDIO接口兼容以前的SD卡&#xff0c;并且可以连接支持SDIO接口的其他设备。 运作机制 …

Java项目:基于Springboot+vue实现的中国陕西民俗前后台管理系统设计与实现(源码+数据库+毕业论文)

一、项目简介 本项目是一套基于Springbootvue实现的中国陕西民俗管理系统设计与实现设 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界…

Python学习之-pyechart详解

前言&#xff1a; 什么是pyechart&#xff1f; Pyecharts 是一个用于生成 Echarts 图表的 Python 库。Echarts 是一个由百度开源的数据可视化工具&#xff0c;它提供的图表种类丰富&#xff0c;交互性强&#xff0c;兼容性好&#xff0c;非常适合用于数据分析结果的展示。Pyec…

Golang | Leetcode Golang题解之第19题删除链表的倒数第N个结点

题目&#xff1a; 题解&#xff1a; func removeNthFromEnd(head *ListNode, n int) *ListNode {dummy : &ListNode{0, head}first, second : head, dummyfor i : 0; i < n; i {first first.Next}for ; first ! nil; first first.Next {second second.Next}second.N…