VMWare ESXi 开启显卡直通 (PCI 设备直通) 出现 DevicePowerOn 错误

2023-05-16

[当前环境]:
VM EXSI: v 7.0.3
GPGPU: NVIDIA Tesla K80

1. 问题描述

VMware ESXI 在硬件管理中开启显卡的直通模式后,并将该设备添加到虚拟机新的 PCI 设备,保存后发现无法开启虚拟机,显示如下错误 Power On VM。当在虚拟机去掉该 PCI 设备后又可以重新开启,因此定位到问题是添加直通显卡后导致无法开机。
在这里插入图片描述

2. 解决方法

首先,通过 SSH 连接到 VM ESXI 的终端上。

2.1. 使用终端开启虚拟机

(1) 查看当前所有的虚拟机信息

使用 vim-cmd vmsvc/getallvms 查看当前存在的所有虚拟机。笔者当前只给 01-Ubuntu18.04 添加了直通 PCI 设备目前无法开机,本文将以此为例来说明解决问题。可以看到此处该问题虚拟机的 Vmid4(下文将会用到)。

[root@imaginemiracle:~] vim-cmd vmsvc/getallvms
Vmid        Name                                         File                                      Guest OS      Version   Annotation
13     02-Ubuntu20.04   [HDD-1T-01] Linux_sys/02-Ubuntu20.04/02-Ubuntu20.04/02-Ubuntu20.04.vmx   ubuntu64Guest   vmx-19
15     03-Ubuntu20.04   [HDD-1T-02] Linux_sys/03-Ubuntu20.04/03-Ubuntu20.04/03-Ubuntu20.04.vmx   ubuntu64Guest   vmx-19
17     04-Ubuntu20.04   [HDD-1T-02] Linux_sys/04-Ubuntu20.04/04-Ubuntu20.04/04-Ubuntu20.04.vmx   ubuntu64Guest   vmx-19
4      01-Ubuntu18.04   [HDD-1T-01] Linux_sys/01-Ubuntu18.04/01-Ubuntu18.04/01-Ubuntu18.04.vmx   ubuntu64Guest   vmx-19

(2) 用命令行开启虚拟机

使用 vim-cmd vmsvc/power.on <vmid> 命令开启虚拟机。可以看到目前的虚拟机是无法开机的,给出的出错信息如下,“Module 'DevicePowerOn' power on failed.”

[root@imaginemiracle:~] vim-cmd vmsvc/power.on 4
Powering on VM:
Power on failed: (vim.fault.GenericVmConfigFault) {
   faultCause = (vmodl.MethodFault) null,
   faultMessage = (vmodl.LocalizableMessage) [
      (vmodl.LocalizableMessage) {
         key = "msg.moduletable.powerOnFailed",
         arg = (vmodl.KeyAnyValue) [
            (vmodl.KeyAnyValue) {
               key = "1",
               value = "DevicePowerOn"
            }
         ],
         message = "Module 'DevicePowerOn' power on failed. "
      },
      (vmodl.LocalizableMessage) {
         key = "msg.vmx.poweron.failed",
         arg = <unset>,
         message = "Failed to start the virtual machine."
      }
   ],
   reason = "Module 'DevicePowerOn' power on failed. "
   msg = "Module 'DevicePowerOn' power on failed. "
}

注:小知识

通过 vim-cmd 来控制虚拟机电源状态。
vim-cmd vmsvc/getallvms (获取所有虚拟机的 vmid 信息)

  • 关闭虚拟机
# vim-cmd vmsvc/power.off <vmid>
vim-cmd vmsvc/power.off 4
  • 打开虚拟机
# vim-cmd vmsvc/power.on <vmid>
vim-cmd vmsvc/power.on 4
  • 重启虚拟机
# vim-cmd vmsvc/power.reset <vmid>
vim-cmd vmsvc/power.reset 4
  • 获取虚拟机的当前状态
# vim-cmd vmsvc/power.getstate <vmid>
vim-cmd vmsvc/power.getstate 3

2.2. 修改虚拟机文件

打开当前开机失败的虚拟机文件(根据安装时的路径查找或者直接使用 find 命令查找,格式为 *.vmx)

[root@imaginemiracle:/vmfs/volumes/6286091a-4cc7c2b8-2515-0cc47a82c5e6/Linux_sys/01-Ubuntu18.04/01-Ubuntu18.04] ls
01-Ubuntu18.04-flat.vmdk                                            vmware-12.log
01-Ubuntu18.04.nvram                                                vmware-13.log
01-Ubuntu18.04.vmdk                                                 vmware-14.log
01-Ubuntu18.04.vmsd                                                 vmware-15.log
01-Ubuntu18.04.vmx                                                  vmware-16.log
01-Ubuntu18.04.vmxf                                                 vmware.log
vmware-11.log                                                       vmx-01-Ubuntu18.04-0d53beca3b2dc6e03fad42a5107bafe59ea51412-1.vswp

find 命令可根据虚拟机名在根目录下查找,这里给出使用示例。

# find <需要查找的目标目录> <参数(查找依据类型)> <参数(查找依据)>
[root@imaginemiracle:~] find / -name "01-Ubuntu18.04.vmx"
/vmfs/volumes/6286091a-4cc7c2b8-2515-0cc47a82c5e6/Linux_sys/01-Ubuntu18.04/01-Ubuntu18.04/01-Ubuntu18.04.vmx

打开 01-Ubuntu18.04.vmx 文件搜索关键字pciPassthru,在后面补充两行如下内容即可。

pciPassthru.use64bitMMIO="TRUE"
pciPassthru.64bitMMIOSizeGB=64

保存后即可重新打开该虚拟机。

到此问题解决!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VMWare ESXi 开启显卡直通 (PCI 设备直通) 出现 DevicePowerOn 错误 的相关文章

  • HttpPost 携带参数的请求方式

    一 HTTP请求 Http的几种请求方式对应程序包中的HttpGet HttpHead HttpPost HttpPut HttpDelete HttpTrace and HttpOptions xff0c 这些类均实现了HttpUriRe
  • mysql 根据时间范围查询

    时间格式为 第一种写法 xff1a select from test where create time between 39 2019 03 05 13 04 07 39 and 39 2019 03 08 13 04 07 39 第二种
  • java 根据条件从List中筛选出符合条件的集合

    1 list 你要在里面筛选的对象集合 存放格式例如 list add user1 list add user2 list add user3 2 xff1a tableColumnName xff1a user 里面的属性字段 xff1a
  • Es QueryBuilder 简单查询

    1 matchQuery String name Object text matchQuery 34 filedname 34 34 value 34 匹配单个字段 xff0c 匹配字段名为filedname 值为value的文档 单个匹配
  • Mysql 查询区分大小写的两种方法

    oracle中查询默认是区分大小写的 xff0c 但是在mysql中默认不区分大小写 解决办法 xff1a mysql可以在SQL语句中加入 binary来区分大小写 BINARY不是函数 xff0c 是类型转换运算符 xff0c 它用来强
  • 微信小程序实现登录页面

    wxml文件 xff1a lt view class 61 34 container 34 gt lt view class 61 34 login icon 34 gt lt image class 61 34 login img 34
  • 锂电池充电IC-TP4056电路设计详解

    首先 xff0c 先介绍下TP4056 TP4056是一款完整的单节锂离子电池采用恒定电流 恒定电压线性充电器 其底部带有散热片的SOP8封装与较少的外部元件数目使得TP4056成为便携式应用的理想选择 TP4056可以适合USB电源和适配
  • mysql无法插入中文的解决办法:修改数据库编码为utf-8

    mysql无法插入中文的解决办法 1 无法插入中文原因 mysql数据库的默认编码是latin1 xff0c 可以使用下面代码查看数据库编码 show variables like 34 character 34 发现有两处的编码是lati
  • 为Debian 10.2 安装图形化桌面环境

    首先先下载x window的内核 xff1a apt get u install x window system core 下载登录管理界面gdm或kdm xff1a apt get u install gdm gdm themes 下载G
  • C# System.BadImageFormatException 解决方法

    出现System BadImageFormatException 异常有两种情况 xff1a 程序目标平台不一致 amp 引用dll文件的系统平台不一致 异常参考 xff1a BadImageFormatException 程序目标平台不一
  • leetcode452

    题目 xff1a 在二维空间中有许多球形的气球 对于每个气球 xff0c 提供的输入是水平方向上 xff0c 气球直径的开始和结束坐标 由于它是水平的 xff0c 所以y坐标并不重要 xff0c 因此只要知道开始和结束的x坐标就足够了 开始
  • UVA-11300

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • UVA-11520 Fill the Square

    思路 xff1a 因为要求是字典序 xff0c 这道题的第一反应就是从A Z选取字母 xff0c 在正方形中从上到下 xff0c 从左到右这样的顺序去填字母 xff0c 一旦判断这个字母旁边没有和它一样的 xff0c 那么就证明这个字母就是
  • UVA10881 Piotr‘s Ants

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • -bash: conda: command not found

    其实是因为你没有加路径 执行一条 export PATH 61 PATH usr local miniconda2 bin 就OK啦 额 其实还不行 你要给conda加一个软链接 转换python2和3要创建虚拟环境
  • Sequence2Sequence 学习

    转载至 https blog csdn net MebiuW article details 52832847 1 前言 这个深度学习 xff0c 其实是来自每周Paper笔记的整理版 xff0c 即文章的主要内容其实是我对一篇文章的整理
  • Foreign Exchange (UVA - 10763)

    include lt iostream gt include lt bits stdc 43 43 h gt define maxn 500002 using namespace std int N1 maxn int N2 maxn in
  • 如何正确安装Microsoft Office 2019

    昨天作死 xff0c 因为Excel经常弹出一些奇奇怪怪的弹窗 xff0c 我去百度搜索 xff0c 没有找到答案 然后我发现大家都说最有效的办法是卸载了重新安装 xff0c 于是一键就卸载完了 然而 xff0c 最让我担心的事情发生了 x
  • 如何用java打印出JSON文件

    应老师要求 xff0c 需要打印出被剪枝的结点 xff0c 临时上网上查了资料 xff0c 我们需要下面的东西 xff1a 1 org json jar 下载之后把所有文件单独放在项目新建的文件夹org json下即可 2 我们需要知道两个
  • 关于apt update 的产生的一个问题

    E Release file for http mirrors 163 com ubuntu dists bionic updates InRelease is not valid yet invalid for another 1天 12

随机推荐

  • python在打开GBK格式的txt文件时无法用UTF-8格式读取

    如标题 xff0c 可以曲线救国 xff0c 把GBK文件转换成UTF 8文件 方法 xff1a 打开记事本 xff0c 点击另存为 xff0c 下面有编码 xff0c 选择UTF 8即可 美滋滋
  • dpkg和pip在ubuntu下查找所安装的包

    目录 原因结论 原因 这些天在弄ubuntu的时候 xff0c 想查看一些包的版本 xff0c 然后上网查了一下如何去做 一开始 xff0c 我就搜到利用下面这个语句 dpkg span class token operator span
  • Docker容器挂载本地共享文件夹

    Docker挂载本地目录的方法 Docker容器启动时 xff0c 我们可以使用 v参数来挂载主机下的一个目录 比如 xff0c 我需要启动一个ubuntu的容器 xff0c 并把 opt文件挂载在这个容器上做共享文件夹 a3551444f
  • 【论文解读 ICEIT2022】Heterogeneous Graph Based Knowledge Tracing基于异构图的知识追踪

    文章目录 摘要1 引言2 相关工作2 1 知识追踪2 2 异构图嵌入 3 基于异构图嵌入的知识追踪4 实验5 结论 依然是两阶段 摘要 最近 xff0c 随着在线辅导系统的发展 xff0c 对知识追踪 Knowledge Tracing 的
  • 【AAAI22】Interpretable Knowledge Tracing: Simple and Efficient Student Modeling with Causal Relations

    文章目录 摘要1 引言 可解释的知识追踪 xff1a 简单高效的因果关系学生建模 摘要 智能辅导系统在未来的学习环境中已变得至关重要 知识追踪是该系统的重要组成部分 它是关于推断学生的技能掌握和预测他们的表现 xff0c 以相应地调整课程
  • stm32CubeIDE 在自己工程中添加.c 和.h文件

    stm32CubeIDE发布已经有一段时间了 xff0c 网上也出现了好多使用教程 xff0c 但是大多数教程都是从软件的安装 gt 汉化 gt 改软件皮肤 gt 新建工程 gt 在工程的main 函数添加自己的测试代码 gt 设置调试配置
  • 快充芯片IP5328P的寄存器数据读写[用于DIY数显快充充电宝]

    本帖DIY因为有一定的危险性 xff0c 非专业人员请勿自行尝试 如有侵权 联系删除 IP5328P是一款最大18W的快充芯片 xff0c 主要用于快充充电宝的产品 xff0c 基本支持市面上绝大部分主流的快充协议 因为能看到本帖的想必都是
  • 使用汇编开发STM32

    使用汇编开发STM32系列文章 xff0c 会长期连载 xff0c 本文作为跳转用的目录 目录 一 说明二 系列文章跳转链接1 STM32涉及到的汇编基础知识2 STM32启动文件详解3 STM32不使用启动文件点亮一个LED灯并闪烁4 S
  • STM32F10x启动文件详解

    本文为使用汇编开发STM32系列文章之 启动文件详解篇 xff0c 全部文章目录点此跳转 本文不会像其他文章一样只是简单的说一下启动文件的每个部分是什么 xff0c 说了很多却又像没说一样 本文将对启动文件中的每句话的作用及其如此编写的原因
  • 泰克示波器TDS210更换IPS彩色屏幕

    本文将介绍如何为泰克示波器TDS210更换当前流行的IPS彩色屏幕 xff0c 甚至在以后准备将屏幕图像转换为HDMI输出 xff0c 彻底对以往的老旧屏幕说拜拜 文章如有侵权请联系我删除 目录 一 缘起1 与TDS210的相遇2 改装预想
  • debian安装小记

    debian安装小记 前段时间学习debian xff0c 发现安装的过程很是痛苦 有感于网上的资料过于古老 xff0c 或者语有不详 xff0c 所以想新起一贴 xff0c 记录一下 xff0c 以供大家参考 感谢学习过程帮助过我的人们
  • 泰克示波器TDS210改装便携示波器

    前面发布过一篇文章写了起因和屏幕更换方法 xff0c 点此查看 目录 一 改装打算二 进度 一 改装打算 1 只保留TDS210的主板 xff0c 将按键板 屏幕以及电源全部替换 xff0c 按键板自己设计绘制更紧凑的 xff0c 屏幕更换
  • matlab代码文件中function是什么

    在 MATLAB 中 xff0c function 是一个用于定义函数的关键字 通过 function 关键字 xff0c 可以在 MATLAB 代码文件中创建一个函数 xff0c 函数可以接受输入参数 xff0c 并可以返回输出结果 在
  • JAVA日期格式校验正则表达式方法,yyyy年MM月,yyyy-MM-dd格式等

    今天校验了日期格式 xff0c 故记录下 xff1b 一 校验yyyy年MM月 xff1b yyyy年MM月 或者 yyyy年M月 private static final String MONTH REGEX 61 34 1 9 d 3
  • 用并查集解决岛屿问题

    并查集算法优美 xff0c 结构简单 xff0c 适用于各种图论的连接问题 xff0c 缺点就是时间复杂度高 xff0c 但是比DFS和BFS好理解一些 xff0c 遇到算法问题易于快速上手 并查集主要有三个函数 xff1a 初始化 查找和
  • Django-1 项目初始化

    文章目录 一 安装二 创建项目三 对django进行初始化的配置设置允许访问主机INSTALLED APPS配置模板目录配置数据库 默认是sqlite 四 添加视图函数以及配置路由 1 创建视图函数访问地址 2 在应用中创建urls py从
  • python、pandas内存优化

    Python的使用使我们的工作更加简单 xff0c 但是他有一些功能封装确实不够严谨 因为他的灵活和简便使我们很多时候都忘记了它的缺点 在web后端设计中 xff0c try是很有必要的 你永远不知道用户给你传过来的是什么数据 xff0c
  • virt-install命令详解

    转载自http blog csdn net starshine article details 6998189 以下是翻译的virt install man页 xff0c 从文本中粘贴过来可能有格式变化情况 有些文字比较晦涩 xff0c 比
  • 百度笔试——最大子序列 【 题目描述】对于字符串 x 和 y, 如果擦除 x 中的某些字母(有可能全擦掉或者都不擦)能够得到 y,我们就 称 y 是 x 的子序列。例如."ncd"是"nowcoder

    最大子序列 题目描述 对于字符串 x 和 y 如果擦除 x 中的某些字母 有可能全擦掉或者都不擦 能够得到 y 我们就 称 y 是 x 的子序列 例如 ncd 是 nowcoder 的子序列 而 xt 不是 现在对于给定的一个字符串 s 请
  • VMWare ESXi 开启显卡直通 (PCI 设备直通) 出现 DevicePowerOn 错误

    当前环境 xff1a VM EXSI v 7 0 3 GPGPU NVIDIA Tesla K80 1 问题描述 VMware ESXI 在硬件管理中开启显卡的直通模式后 xff0c 并将该设备添加到虚拟机新的 PCI 设备 xff0c 保