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

hyper-v虚拟机启动失败:Virtual Pci Express Port无法打开电源,因为发生错误,找不到即插即用设备

启动错误       

        今天启动某个hyper-v虚拟机时,启动失败了,大概的错误信息为:尝试更改“ubuntu_desktop_2204”的状态时应用程序遇到错误。Virtual Pci Express Port (实例 ID 0445948B-C377-4912-AEEB-58A3D45C5694): 无法开机,因为发生了错误“找不到元素。”。找不到即插即用设备实例路径为“PCIP\VEN_10DE&DEV_1C09&SUBSYS_643819DA&REV_A1\4&E5D2217&0&0008”的 PCI Express 设备。

具体错误如下图所示:

原因分析

        从报错信息上看,是跟pci相关。突然记得这个虚拟机之前是做过显卡直通的,后来把显卡拔了,所以当虚拟机启动时,就会找不到对应的硬件设备,导致如上图的启动失败。

可通过powershell命令Get--VMAssignableDevice来获取之前直通的设备信息

Get--VMAssignableDevice  -VMName "ubuntu_desktop_2204"

如下图所示:

在上图中可以看到,该虚拟机被直通了一个设备。之所以InstanceID和LocationPath变为了空,是因为设备已经被拨掉了。

解决办法

使用Remove-VMAssignableDevice将直通设备移除即可:

Remove-VMAssignableDevice  -VMName "ubuntu_desktop_2204"

备注:上述命令会把所有直通的设备都移除掉。其实更好的方式是通过位置路径参数再加以限定,只移除某一个直通设备,如:Remove-VMAssignableDevice  -VMName "ubuntu_desktop_2204" -LocationPath "PCIROOT(0)#PCI(0300)#PCI(0000)",但因为这里实际PCI设备被拔导致LocationPath为空,所以这里才直接省略该参数。

设备移除后,虚拟机就成功启动了,如下图所示:

参考

Remove-VMAssignableDevice (Hyper-V) | Microsoft Learn

http://www.xdnf.cn/news/1260739.html

相关文章:

  • SQL Server 2019搭建AlwaysOn高可用集群
  • Money Sums
  • 【优选算法】BFS解决拓扑排序
  • UE4/UE5 Android 超大(视频)文件打包/防拷贝方案
  • Linux 内存管理之page folios
  • node.js 学习笔记2 进程/线程、fs
  • (已解决)Mac 终端上配置代理
  • 人工智能与智能家居:家居生活的变革
  • GO的启动流程(GMP模型/内存)
  • Go语言实战案例:用net/http构建一个RESTful API
  • 关于csdn导入和导出
  • 服务器硬件电路设计之I2C问答(一):为什么I2C总线要加上拉电阻?
  • Vue框架进阶
  • DM8数据库服务正常,但是登录报错 [-70019]:没有匹配的可登录服务器
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘huggingface_hub’问题
  • proteus实现简易DS18B20温度计(stm32)
  • 《论文阅读》传统CoT方法和提出的CoT Prompting的区分
  • [链表]142. 环形链表 II
  • C# GUI程序中的异步操作:解决界面卡顿的关键技术
  • OpenCV 3 终极指南:创建炫酷自定义窗口与图像显示的艺术
  • ctfshow_萌新web9-web13-----rce
  • 自动驾驶--车辆动力学模型
  • linux安装mysql8.0,二进制码安装
  • SpringCloud(4)-多机部署,负载均衡-LoadBalance
  • 数据持久化 —— `chrome.storage` 的记忆魔法
  • Java学习进阶--集合体系结构
  • 跨域解决方案
  • Unity基于Recoder的API写了一个随时录屏的工具
  • Linux Shell:Nano 编辑器备忘
  • ConcurrentDictionary 详解:.NET 中的线程安全字典