在ubuntu 24.04 上安装vmware workstation 17.5.1

ubuntu安装在新组装的i9 14900机器上,用来学习笨叔的ARM64体系结构编程,也熟悉Linux的用法。但有时候写文档总是不方便,还是需要window来用。因此想在ubuntu 24.04上安装Linux版本的vmware worksation 17.5.1以虚拟机的方式安装windows 11。其结果是在启动vmware时报告"Cannot open /dev/mvmon: No such file or directory. Please make sure that the kernel module 'vmmon' is loaded"。也就是提示vmmon.ko 没有安装。由于ubuntu 24.04刚出没多久,vmware公司并没有发布可以支持24.04的内核的vmware 版本,但挺不住有牛人啊,他们修改了vmmon和vmnet的驱动源代码以支持24.04。本以为这就结束了,但是本机bios有secure boot啊,内核模块需要签名,但是怎么签都不成功,知道试了不同的参数(noenc)才算成功,弄到了凌晨2:30啊,这里记录下来以方便后来者。

安装编译内核模块依赖

sudo apt install net-tools libncurses-dev libssl-dev build-essential openssl openssl gcc-aarch64-linux-gnu gdb-multiarch git bison flex bc vim universal-ctags cscope cmake python3-dev python3-venv mokutil

下载vmmon和vmnet内核模块源代码

git clone https://github.com/mkubecek/vmware-host-modules.git
cd vmware-host-modules
git checkout -b workstation-17.5.1 remotes/origin/workstation-17.5.1make
sudo make install

验证vmmon.ko和vmnet.ko已经安装

$ modinfo -n vmnet
/lib/modules/6.8.0-31-generic/misc/vmnet.ko
modinfo -n vmmon
/lib/modules/6.8.0-31-generic/misc/vmmon.ko

签名vmmon.ko和vmnet.ko

生成密钥对

openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -noenc -days 36500 -subj "/CN=VMware/"

其中noenc非常关键,没有这个,运行下面的sign-file时总是报错。

签名

如果modinfo vmmon不能显示vmmon.ko则下面的命令直接使用绝对路径,替换掉$(modinfo -n vmmon),绝对路径为/lib/modules/6.8.0-31-generic/misc/vmmon.ko 和/lib/modules/6.8.0-31-generic/misc/vmnet.ko

sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)sudo /usr/src/linux-headers-`uname -r`/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)

将公钥导入系统的 MOK 列表

下面的命令会提示输入密码,请记住这个密码,系统重启时需要输入这个密码。

sudo mokutil --import MOK.der

重启系统,用于导入MOK

bios会提示是否Enroll MOK,选择它

然后输入密码

再次启动vmware,vmware启动成功!

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

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

相关文章

Scala 第三篇 OOP篇

Scala 第三篇 OOP篇 上接:Scala 第二篇 算子篇 前序一、类 1、修饰符2、创建类示例3、类的继承 二、抽象类三、单例对象四、特质 1、动态混入2、抽象类 VS 特质 五、内部类六、样例类七、枚举八、泛型九、隐式类十、包与包对象练习 前序 1、Scala 为纯粹OOP 1.1、…

信息技术内涵及意义

一、信息技术及其演进趋势 (一)信息技术概况概念 信息技术(Information Technology,IT)指“应用在信息加工和处理中的科学、技术与工程的训练方法与管理技巧;上述方法和技巧的应用;计算机及其…

C#面试题目含参考答案(二)

前言 面试是应聘一个工作岗位的环节,来考察一个人的工作能力与综合素质。在应聘C#程序员或与C#相关岗位时,我们都会被问到一些与.NET、C#、数据库、业务知识或编程思想等问题。 题目 31、值类型和引用类型的区别 参考答案: 1、值类型的数…

JavaScript+B/S版云LIS系统源码ASP.NET CORE 3.1 MVC云LIS系统如何实现样本追踪的预警功能?医院云LIS检验系统源码

JavaScriptB/S版云LIS系统源码ASP.NET CORE 3.1 MVC云LIS系统如何实现样本追踪的预警功能?医院云LIS检验系统源码 实验室信息管理系统(Trasen Laboratory Information Management System)是一套专业的医疗实验室信息管理软件,包含…

【C++庖丁解牛】C++11---新的类的功能 | 可变参数模板

🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 1.新的类功能1.1 默认成员…

pyqt标签常用qss格式设置

pyqt标签常用qss格式设置 QSS介绍标签常用的QSS设置效果代码 QSS介绍 Qt Style Sheets (QSS) 是 Qt 框架中用于定制应用程序界面样式的一种语言。它类似于网页开发中的 CSS(Cascading Style Sheets),但专门为 Qt 应用程序设计。使用 QSS&…

24.4.28(板刷dp,拓扑判环,区间dp+容斥算回文串总数)

星期一: 昨晚cf又掉分,小掉不算掉 补ABC350 D atc传送门 思路:对每个连通块,使其成为一个完全图,完全图的边数为 n*(n-1)/2 , 答案加上每个连通块成为完全图后的…

第十五届蓝桥杯Java软件开发大学B组自我经验小结

自我介绍 23届大一 双非 计院科班 软件工程 江苏人在吉林上大学 Java蒟蒻 在学校的宣传下 有幸参加了第十五届蓝桥杯Java大学b组省赛 蓝桥杯说明 就是一个算法比赛吧 考试时间9.00到1.00 四小时 带准考证和身份证和笔 草稿纸会发 赛制是IOC就是不会给任何反馈 就是你…

富唯智能案例|双3D相机引导衔架抓取铝型材

随着制造业的快速发展和自动化水平的不断提升,铝型材的自动化抓取和加工成为行业内的一大技术难题。铝型材因其轻便、耐腐蚀、易加工等特点,广泛应用于建筑、汽车、电子等领域。然而,铝型材的形状多样、尺寸不一,以及生产线上的高…

MTK Android.mk 预置应用out下生成,但桌面不加载显示

预置第三方APK: prebuilts xxx.apk android.mk lib文件 # android.mk具体配置如下: include $(CLEAR_VARS) //必须先定义LOCAL_PATH 变量,此变量表示源文件的位置。编译系统提供的宏函数 my-dir 将返回当前目录(Android.mk…

Ruby递归目录文件的又一种方法

经常派得上用场,记录一下。 递归文件做一些操作 #encoding:utf-8require pathnamedef recursive_enum_files(from_path)from_path Pathname.new(from_path)raise ArgumentError,must start at a directory. unless from_path.directory?from_path.enum_for(:fin…

【算法系列】哈希表

目录 哈希表总结 leetcode题目 一、两数之和 二、判定是否互为字符重排 三、存在重复元素 四、存在重复元素 II 五、字母异位词分组 六、在长度2N的数组中找出重复N次的元素 七、两个数组的交集 八、两个数组的交集 II 九、两句话中的不常见单词 哈希表总结 1.存储数…

C语言/数据结构——每日一题(链表的中间节点)

一.前言 今天我在LeetCode刷到了一道单链表题,想着和大家分享一下这道题:https://leetcode.cn/problems/middle-of-the-linked-list。废话不多说让我们开始今天的知识分享吧。 二.正文 1.1题目描述 1.2题目分析 这道题有一个非常简便的方法——快慢指…

Kafka如何将消息发送到指定分区

背景 面试一个时,面试官问了一个问题,Kafka如何做到顺序消息。我回答只给Kafka的Topic创建一个分区,发送到该Topic的消息在Kafka中就是有序的。 面试官又问,如果Topic有多个分区呢?我回答消息发送者在发送消息的时候…

袁庭新ES系列17节|Spring Data Elasticsearch基础

前言 为了简化对Elasticsearch的操作Spring Data提供了Spring Data Elasticsearch。Spring Data Elasticsearch是Spring Data技术对Elasticsearch原生API封装之后的产物,它通过对原生API的封装,使得程序员可以简单的对Elasticsearch进行各种操作。接下来…

信融算网,创启未来 | 移动云一体化算网调度平台发布

4月29日上午,中国移动算力网络大会“自主可控算力网络应用”分论坛在苏州召开,中国移动云能力中心副总经理吴世俊、中国移动信息技术中心副总经理陈国出席论坛并发表致辞。论坛发布全国首个实现通算、智算、超算、量子计算,以及网络、安全一站…

全栈开发之路——前端篇(2)文件、组件与setup引入

全栈开发一条龙——前端篇 第一篇:框架确定、ide设置与项目创建 本文系该系列第二篇,主要将介绍各个文件的意义、组件结构与导入以及setup的引入。 目录 一、src外文件介绍.gitignore为git忽略文件env.d.ts用于识别其他文件index.htmljson文件vite.confi…

【JAVASE】带你了解的方法魅力

✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:橘橙黄又青-CSDN博客 目标: 1. 掌握方法的定义以及使用 2. 掌握方法传参 3. 掌握方法重载 …

java 基础面试-- hashCode 方法重要性及使用

引言 在Java编程的世界里,hashCode方法扮演着至关重要的角色,尤其在涉及到集合类(如HashMap、HashSet)和对象比较的场景中。本文将深入探讨hashCode方法的工作原理、重要性以及如何正确地重写它,以确保你的程序在性能…

[C++][算法基础]四种基本背包问题(动态规划)

1. 01背包问题 有 𝑁 件物品和一个容量是 𝑉 的背包。每件物品只能使用一次。 第 𝑖 件物品的体积是 𝑣𝑖,价值是 𝑤𝑖。 求解将哪些物品装入背包,可使这些物品的总体…