Ubuntu26.04独显直通给虚拟机导致宿主机进系统黑屏

起因:

我把独显直通给虚拟机 → 宿主机把显卡 “让” 给了虚拟机 → 宿主机没显卡可用,所以黑屏。因为我不再需要虚拟机做测试了,所以把显示器连接回独立显卡上,但是在进入系统的时候黑屏了。

恢复思路:先临时关掉直通,进系统,再永久恢复,最后重装显卡驱动。下面一步一步来,照着做就行。

一、先想办法进入系统

1、开机黑屏:先进入命令行(关键第一步)

  1. 长按电源键 10 秒 强制关机,再开机。
  2. 开机立刻不停按 Esc(台式机)或 Shift(笔记本),调出 GRUB 菜单。
  3. 选中 Ubuntu(默认那一项),按 e 进入编辑模式。
  4. 找到以 linux 开头的那一行,拉到最末尾,删掉里面的:
    • intel_iommu=on(Intel CPU)
    • amd_iommu=on(AMD CPU)
    • vfio-pci 之类直通参数 然后加上:
    plaintextnomodeset iommu=off (作用:临时关闭 IOMMU / 直通,不让内核把显卡交给虚拟机)
  5. Ctrl + X 启动,就能进命令行(黑底白字)。

2、修改参数(直接照着做)

linux 行的末尾,添加以下内容(注意前面要加空格,和原来的内容分开):

nomodeset iommu=off modprobe.blacklist=vfio-pci

修改后的整行末尾看起来会像这样:

quiet splash preempt=full nomodeset iommu=off modprobe.blacklist=vfio-pci

这三个参数的作用:

  • nomodeset:临时禁用显卡内核模式设置,防止黑屏
  • iommu=off:关闭 IOMMU 直通功能,让宿主机重新接管显卡
  • modprobe.blacklist=vfio-pci:屏蔽直通模块,防止它再抢显卡

3、启动系统

修改完成后,按 Ctrl + XF10 启动系统,就能进入命令行界面了。


二、进入系统后再彻底解决问题

进入系统后,接下来的目标:彻底删除所有直通残留配置,防止下次开机再出问题

1、先删除直通相关的配置文件

因为之前我添加过一个配置文件:vfio.conf

怎么确定是这个文件呢?一般内容如下图:如果不确定,请检查该目录下的所有文件。

宿主机配置中处理虚拟机与物理显卡直联

# 删除直通专用黑名单文件
sudo rm -f /etc/modprobe.d/vfio.conf

2、更新内核启动镜像,让所有修改生效

sudo update-initramfs -u

3、最后一步:重启验证

sudo reboot

重启后,你的系统就完全恢复到直通前的状态了:

  • 宿主机独占显卡,不会再被 vfio-pci 抢设备
  • 不会再出现直通导致的黑屏问题

本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。
       本系列的一部分

ubuntu桌面

Post 80 of 80

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress