当前位置: 首页 > article >正文

别再被‘模块编译’吓到!手把手教你用OpenSSL和MOK工具搞定VMware 17在Linux的安装

从零解锁VMware 17Linux内核模块签名全流程实战指南每次在Linux上安装VMware Workstation 17时那个关于模块编译的红色报错是不是让你心头一紧别担心这其实只是系统在提醒你需要给几个关键组件发通行证。就像进入高端俱乐部需要会员卡一样vmmon和vmnet这两个模块也需要数字签名才能在UEFI安全启动的保护下正常工作。本文将带你用OpenSSL和MOK工具打造专属会员卡彻底解决这个拦路虎。1. 为什么需要模块签名安全启动的守护机制现代计算机的UEFI固件有个叫安全启动(Secure Boot)的功能它就像俱乐部的安检门只允许持有有效凭证的代码运行。这种设计本意是防止恶意软件篡改系统内核但也给vmmon和vmnet这类需要深度系统集成的模块带来了挑战。核心原理vmmon虚拟机监控模块负责创建虚拟CPU和内存环境vmnet虚拟网络模块构建宿主机与虚拟机间的网络桥梁这两个模块需要直接与内核交互因此被归类为特权代码当安全启动启用时内核会检查每个加载模块的数字签名。如果发现未经认证的模块试图运行就会触发我们看到的报错。这就像安检员发现有人试图用假证件混入VIP区域——虽然你可能真是贵宾但流程就是流程。2. 工具准备打造你的数字签名套装解决这个问题需要三件套密钥生成工具、签名工具和密钥管理工具。幸运的是大多数Linux发行版都已经内置了这些武器# 检查必备工具是否安装 which openssl mokutil find modinfo如果缺少任何工具可以用以下命令安装# CentOS/RHEL系 sudo yum install openssl mokutil # Debian/Ubuntu系 sudo apt install openssl mokutil工具分工工具名称作用关键参数OpenSSL生成RSA密钥对和X.509证书-newkey, -x509, -dayssign-file内核模块签名脚本sha256, 密钥路径mokutil管理机器所有者密钥(MOK)--import, --list-enrolled3. 密钥生成创建专属数字身份证首先我们需要创建一对密钥这相当于制作你的专属加密印章。以下命令会在当前目录生成两个文件openssl req -new -x509 -newkey rsa:2048 \ -keyout MOK.priv -outform DER -out MOK.der \ -nodes -days 36500 -subj /CNVMware_$(hostname)/参数解析-newkey rsa:2048生成2048位的RSA密钥-nodes不对私钥加密方便自动化-days 36500证书有效期约100年-subj证书主题这里使用主机名区分不同机器安全提示MOK.priv是私钥文件应当像保护密码一样保护它。建议生成后立即设置适当权限chmod 600 MOK.priv4. 模块定位与签名给通行证盖章现在我们需要找到需要签名的模块位置。不同发行版的路径可能略有差异# 查找模块路径 vmmon_path$(sudo find /lib/modules/$(uname -r) -name vmmon.ko) vmnet_path$(sudo find /lib/modules/$(uname -r) -name vmnet.ko) echo vmmon模块路径: $vmmon_path echo vmnet模块路径: $vmnet_path找到路径后使用内核自带的签名脚本进行签名# 获取内核头文件路径 kernel_headers_dir/usr/src/$(ls /usr/src | grep -m1 linux-headers-$(uname -r)) # 执行签名 sudo $kernel_headers_dir/scripts/sign-file sha256 \ ./MOK.priv ./MOK.der $vmmon_path sudo $kernel_headers_dir/scripts/sign-file sha256 \ ./MOK.priv ./MOK.der $vmnet_path常见问题排查如果提示sign-file not found请确认已安装对应版本的内核头文件签名后的模块会略微增大可以用modinfo验证签名信息5. 密钥注册让系统认识你的印章签名完成后需要将公钥证书导入系统的MOKMachine Owner Key列表sudo mokutil --import MOK.der执行后会提示设置临时密码用于后续确认导入建议使用8-16位易记密码。这个密码只在本流程中使用完成后可以忘记。关键注意事项必须在包含MOK.der的目录下执行导入操作需要重启后才能生效密码输入时不会显示字符这是正常行为6. 重启与密钥登记最终确认步骤重启系统时UEFI固件会检测到有待处理的MOK密钥通常会出现蓝色背景的MOK管理界面选择Enroll MOK注册MOK选择Continue继续选择Yes确认导入输入之前设置的临时密码选择Reboot完成流程如果错过这个界面或者操作失误可以再次执行mokutil --import并重启重试。7. 验证与故障排除成功启动后可以通过以下命令验证模块是否正常加载# 检查模块签名状态 tail /var/log/kern.log | grep -i loading.*unsigned # 查看已加载模块 lsmod | grep vm常见问题解决方案模块未加载尝试手动加载sudo modprobe vmmon sudo modprobe vmnet签名无效检查dmesg输出确认签名使用的密钥与注册的一致Secure Boot冲突某些主板需要额外在BIOS中设置信任级别8. 长期管理密钥维护策略一套好的密钥管理方案可以避免未来升级时的重复劳动密钥备份方案将MOK.der复制到安全位置加密U盘或密码管理器记录生成密钥时使用的完整命令参数考虑将签名步骤脚本化方便后续使用#!/bin/bash # 示例自动化签名脚本 KEY_DIR~/vmware_keys modsign() { sudo $kernel_headers_dir/scripts/sign-file sha256 \ $KEY_DIR/MOK.priv $KEY_DIR/MOK.der $1 } modsign $(modinfo -n vmmon) modsign $(modinfo -n vmnet)对于需要频繁更新内核的开发环境可以考虑将密钥永久加入内核信任密钥环但这需要更高级的系统管理知识。

相关文章:

别再被‘模块编译’吓到!手把手教你用OpenSSL和MOK工具搞定VMware 17在Linux的安装

从零解锁VMware 17:Linux内核模块签名全流程实战指南 每次在Linux上安装VMware Workstation 17时,那个关于模块编译的红色报错是不是让你心头一紧?别担心,这其实只是系统在提醒你需要给几个关键组件"发通行证"。就像进入…...

六层板层压性能检验走过场?3个致命缺陷,高温必爆

六层板层压是核心工艺,层压性能检验常被忽视:外观无气泡、不分层就合格,结果高温焊接、长期使用后,层间分层、气泡鼓起、板翘曲,整板报废。某消费电子客户踩坑:一款智能手表六层板,层压检验仅看…...

物理知情神经形态学习 + 自主时空引擎,镜像视界重塑孪生新范式

物理知情神经形态学习 自主时空引擎,镜像视界重塑孪生新范式从数据孤岛到全域融通,镜像视界打造新一代国产数字基座数字孪生与视频孪生产业迈入深度实景智能演进阶段,传统技术体系受限于数据融合浅层化、空间计算碎片化、智能决策脱离物理逻…...

NVIDIA Profile Inspector终极指南:一键解锁显卡隐藏性能的完整教程

NVIDIA Profile Inspector终极指南:一键解锁显卡隐藏性能的完整教程 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 想要让你的NVIDIA显卡发挥出超越官方控制面板的隐藏性能吗?N…...

AI编程助手深度定制:claude-code-config配置集实战指南

1. 项目概述:一个为AI编程助手深度定制的配置集如果你和我一样,日常开发重度依赖像Claude Code、Cursor这类AI编程助手,那你肯定也经历过那种“磨合期”的阵痛。助手生成的代码风格和你团队的不一致,一些重复性的代码片段每次都要…...

键盘控制鼠标:用Mouseable告别鼠标手,提升3倍工作效率

键盘控制鼠标:用Mouseable告别鼠标手,提升3倍工作效率 【免费下载链接】mouseable Mouseable is intended to replace a mouse or trackpad. 项目地址: https://gitcode.com/gh_mirrors/mo/mouseable 你是否曾经在键盘和鼠标之间频繁切换&#xf…...

TypeORM游标分页实战:解决大数据量分页性能瓶颈

1. 项目概述:一个解决分页痛点的利器如果你用过TypeORM,并且处理过需要滚动加载、无限下拉或者基于时间线展示大量数据的场景,那你大概率被它的分页功能“折磨”过。TypeORM自带的skip和take方式,也就是我们常说的OFFSET/LIMIT分页…...

AgentWorld:为强智能体构建文件系统原生工作流的底层平台

1. 项目概述:AgentWorld,一个为强智能体构建原生工作流的底层平台如果你最近在尝试构建一个由多个AI智能体协作的自动化系统,比如一个能自动完成文献调研、代码编写、实验执行和论文撰写的“AI研究员”,你可能会发现,现…...

对于程序员转行方向的推荐,可以基于当前的技术趋势、市场需求以及程序员的个人技能和兴趣来综合考虑。

对于程序员转行方向的推荐,可以基于当前的技术趋势、市场需求以及程序员的个人技能和兴趣来综合考虑。以下是一些推荐的转行方向: 伴随着社会的发展,网络安全被列为国家安全战略的一部分,因此越来越多的行业开始迫切需要网安人员…...

Linux光标主题转换:将Windows动画光标无缝迁移至Linux桌面

1. 项目概述:将Windows光标主题搬上Linux桌面如果你和我一样,既是一个Linux桌面的深度用户,又对《世界计划 彩色舞台 feat. 初音未来》(Project Sekai)这类游戏里那些精致、动感的光标爱不释手,那么你很可能…...

都说三十而立,可眼看着到了意气风发的年龄,却突然意识到自己仍一事无成,甚至连养活自己都是问题

都说三十而立,可眼看着到了意气风发的年龄,却突然意识到自己仍一事无成,甚至连养活自己都是问题。30多岁,大多数人还要开始买房、买车、结婚生子,养家糊口,于是各种压力逼迫之下,就想到了转行&a…...

AI代理上下文精准检索:Konteks-Skill项目实战与RAG优化

1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目,叫jamesalmeida/konteks-skill。乍一看这个名字,可能有点摸不着头脑,但如果你对AI助手、智能代理或者RAG(检索增强生成)技术感兴趣,那这个项目绝对…...

AI编程Agent爆发:模板化设计如何成为下一代开发基建

2024年以来,AI编程Agent呈现爆发式增长态势。Cursor、Windsurf、Devin等工具相继迭代,代码生成能力从单文件补全进化到多文件架构设计。这场变革正在重塑开发流程的核心逻辑——当AI能够自主理解需求、生成代码、调试修复,人类开发者的角色正…...

如何让Windows任务栏变透明:TranslucentTB完全指南

如何让Windows任务栏变透明:TranslucentTB完全指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想要为你的Windows桌面增添…...

TLS/SSL与IPsec安全机制解析

网络安全的核心协议栈并非单一协议,而是指在不同网络层次上协同工作、共同构建安全通信通道的一系列协议集合。其核心目标是通过加密、认证、完整性校验等手段,保障数据在传输过程中的机密性、完整性和可用性。 一、核心协议栈分层详解 网络安全协议通…...

终于不用手搓两级缓存了!C#.NET HybridCache 详解:L1 L2、标签失效与防击穿实战

简介 很多项目一开始做缓存,通常都是这么写的: 先查 IMemoryCache -> 没有再查 Redis -> 还没有就查数据库 -> 再把结果写回两层缓存刚开始看起来没什么问题。 但只要项目一复杂,这套逻辑很快就会变得又长又散: 每个地方…...

ComfyUI Manager:3步打造你的AI绘画插件生态圈

ComfyUI Manager:3步打造你的AI绘画插件生态圈 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custom nodes…...

FastAPI多服务器管理框架:MCP模式实现分布式服务集中运维

1. 项目概述:一个为FastAPI应用设计的MCP多服务器管理框架 最近在重构一个基于FastAPI的微服务项目时,遇到了一个挺典型的痛点:随着业务模块的拆分,我们手头管理着十几个独立的FastAPI服务实例。每次部署、重启、查看日志&#xf…...

3步解锁老旧Mac新生命:OpenCore Legacy Patcher硬件适配全指南

3步解锁老旧Mac新生命:OpenCore Legacy Patcher硬件适配全指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否拥有一台性能依然强劲但被苹…...

WP-CLI MCP:用AI智能体自然语言管理WordPress的实践指南

1. 项目概述:当WordPress开发者拥抱AI智能体如果你是一个深度使用WordPress的开发者或站长,那么对WP-CLI这个命令行工具一定不会陌生。它让我们摆脱了后台界面的束缚,通过一行行命令就能高效地管理站点、操作数据库、更新插件主题。但今天要聊…...

Kleiber:Claude Code智能体编排框架实战,解决角色混乱与成本失控

1. 项目概述:Kleiber,为Claude Code打造的智能体编排框架 如果你和我一样,是Claude Code的深度用户,那你一定对它的原生“智能体团队”功能又爱又恨。爱的是,它第一次让一个AI能像真正的开发团队一样分工协作&#xff…...

如何快速解密QQ音乐文件:qmc-decoder终极指南

如何快速解密QQ音乐文件:qmc-decoder终极指南 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾经下载了QQ音乐文件,却发现只能在特定播放器里…...

风管制作的自动化技术升级:效率与精度提升

风管在暖通系统中扮演着至关重要的角色,它负责空气的输送与分配,其质量和性能直接影响着整个暖通系统的运行效果。随着科技的不断进步,风管制作的自动化技术也在持续升级,以满足更高的效率与精度要求。江苏顺锦暖通设备有限公司作…...

谷歌DeepMind少数股权投资《星战前夜:晨曦》开发商,借游戏探索AI新边界

谷歌DeepMind 1.2亿背后:游戏与AI的跨界联姻 谷歌专注于人工智能的DeepMind部门对热门科幻模拟游戏《星战前夜:晨曦》的开发商进行了少数股权投资。与此同时,《星战前夜:晨曦》开发商CCP Games的管理层斥资1.2亿美元从韩国发行商P…...

2026年天门财务新选择:专业服务,值得信赖!

在当前经济环境下,财务管理对于企业的成功至关重要。无论是初创企业还是成熟企业,都需要专业的财务团队来帮助他们处理复杂的财务问题。天门市大掌柜财务咨询有限公司(以下简称“大掌柜”)作为一家专业的财务咨询公司,…...

为AI编程助手集成Tmux与多模型咨询,打造可执行代码的伪代码REPL

1. 项目概述:为AI助手装上“手”和“脑”如果你和我一样,日常重度依赖像Cursor这样的AI编程助手,那你肯定也遇到过类似的瓶颈:当你想让它帮你跑一段代码、监控一个长期实验,或者在一个复杂的交互式环境(比如…...

TypeScript 对列,实现消息队列(FIFO显示+定时清理)

使用对列实现消息接收显示与清除, 根据消息的【显示时间】来清除,显示超过 10 秒的自动清理,未显示、显示不足 10 秒的都保留线程安全 Queue/*** 纯先进先出(FIFO)队列独立实现* 支持:入队、出队、查看队头…...

[Deep Agents:LangChain的Agent Harness-01]LangChain、LangGraph和Deep Agents三者之间的关系

Deep Agents是LangChain团队在2025年正式发布的一个开源Agent框架,专门用于构建能够处理生产级、长时程、多步骤任务的深度Agent。与传统的浅层Agent(仅依赖 LLM 简单工具调用循环)不同,Deep Agents 旨在模拟像Claude Code或Deep…...

开源ChatGPT API管理界面部署与定制指南

1. 项目概述:一个为开发者打造的轻量级ChatGPT API管理界面如果你正在寻找一个能快速部署、功能纯粹且完全掌控在自己手中的ChatGPT API交互界面,那么patrikzudel/PatrikZeros-ChatGPT-API-UI这个开源项目绝对值得你花时间研究。它不是一个功能庞杂的“全…...

特斯拉Model 3/Y CAN总线DBC文件完整指南:轻松读懂车辆数据语言

特斯拉Model 3/Y CAN总线DBC文件完整指南:轻松读懂车辆数据语言 【免费下载链接】model3dbc DBC file for Tesla Model 3 CAN messages 项目地址: https://gitcode.com/gh_mirrors/mo/model3dbc 想要深入了解特斯拉车辆的智能控制系统吗?Model3DB…...