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

ubuntu安装vmware启动虚拟机失败

一、背景

为了在本地环境中作一些实验而不影响现有环境,因此决定在系统中安装vmware,在vmware中装ubuntu系统。在安装好虚拟机ubuntu后,无法启动。
请添加图片描述
请添加图片描述
请添加图片描述

因此记录下问题以及解决方式

1.1 环境

笔记本
OS: Ubuntu 22.04.5 LTS

vmware: VMware-Workstation-Full-17.6.3

二、问题分析

请添加图片描述

可以看出系统中确实是没有加载vmmon.ko

为什么没有加载vmmon.ko ?

请添加图片描述
系统是SecureBoot模式启动的,要求内核加载的驱动都需要签名。

请添加图片描述
从boot的配置看,内核驱动开启了签名,并且是sha512算法。

请添加图片描述
可以看出vmmon.ko没有签名信息,因此被拒绝加载了

请添加图片描述
任意查询一个已经加载的ko文件,确实都是有签名的

三、解决

方法1 直接禁止secureboot

sudo mokutil --disable-validation
  1. 执行以上命令,将要求输入密码,并且确认密码
  2. 重启系统
  3. 启动过程中将要求输入步骤1中的密码中的某几位
  4. 密码验证通过后,将弹出选择boot状态改变,选择禁用
  5. 确定后,继续启动

经过以上操作后,机器启动后vmmon.ko就加载了,虚拟机也正常运行了。
启动时,屏幕会输出insecure boot mode

sudo mokutil --enable-validation

开启secureboot,流程和禁止secureboot一样。

方法2 签名ko

给vmmon.ko文件制作签名。

sudo kmodsign sha512 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der /lib/modules/$(uname -r)/misc/vmmon.kosudo kmodsign sha512 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der /lib/modules/$(uname -r)/misc/vmnet.ko

请添加图片描述
同时也将vmnet.ko制作签名,vmmon.ko和vmnet.ko都是安装vmware产生的。

重启系统

$ reboot

请添加图片描述
请添加图片描述

四、总结

secureboot模式的系统,内核加载ko时会验证ko的签名,如果没有签名则不会加载;而安装vmware时生成的ko是没有签名的,导致无法加载,软件功能受限。以上两种方式都尝试可以,最终选择了给ko签名的方式,以保证系统的安全。

相关文章:

  • 计算机组成与体系结构:缓存一致性(Cache Coherence)
  • 第四章:WebSocket 通信机制全解与客户端发包实录
  • BOM知识点
  • 线程池学习笔记
  • Linux系统编程——system函数和popen函数的使用方法以及区别
  • 三维重建(二十三)——各种参数的测试(废案)
  • IIS入门指南:原理、部署与实战
  • 容器化:用于机器学习的 Docker 和 Kubernetes
  • SRIO(Serial RapidIO)握手流程
  • 算符优先分析之输入串分析
  • 【深度学习】残差网络(ResNet)
  • python学习day29
  • Neovim 如何安装和配置缩进标识插件 indent-blankline.nvim
  • 贝塞尔曲线原理
  • Manus vs Lovart:AI Agent技术深度解析与实战指南
  • MyBatis框架(入门)
  • Arduino UNO采集血压/心率/血氧/体温等数据传输到Blinker云平台 手机APP显示数据
  • 【深度学习基础】从感知机到多层神经网络:模型原理、结构与计算过程全解析
  • 计算机系统---TPU(张量处理单元)
  • Java——创建多线程的四种方式
  • 巴基斯坦外长访华是否与印巴局势有关?外交部:此访体现巴方高度重视中巴关系
  • 陕西:未来一周高温持续,继续发布冬小麦干热风风险预警
  • 看展 | 黄永玉新作展,感受赤子般的生命力
  • 政企共同发力:多地密集部署外贸企业抢抓90天政策窗口期
  • 秦洪看盘|缩量回踩,积蓄叩关能量
  • 小耳朵等来了春天:公益义诊筛查专家走进安徽安庆