VGA GPU passthrough qemu虚拟桌面pci穿透--Shell脚本检测与关机

银河麒麟V11 + KVM/QEMU + GT 710 GPU直通 Win10 完整操作流程文档 宿主机:RTX 5080专门运行ollama大模型服务,通过SSH/VNC远程管理Win10虚拟机:GT 710直通,物理键盘专属,通过物理显示器处理视频应用硬件隔离:两个系统完全隔离,互不干扰,性能最大化两种不同的直通方式直通方式 配置方法 设备在宿主机的状态 典型应用场景PCIe设备直通 vfio-pci.ids=10de:128b,10de:0e0f 设备完全从宿主机消失,被vfio-pci驱动接管 GPU、网卡、NVMe硬盘。 阅读详情

转载注明:http://blog.youkuaiyun.com/hubbybob1/article/details/77199162
本文主要讲解在VGA GPU passthrough成功后,如果关闭虚拟机windows,虚拟机的进程qemu-system-x86_64结束,然而宿主机linux(ubuntu,centos7)并没有因为虚拟机的关闭而关机,而此时屏幕不再显示,鼠标键盘而无法使用,这样很不科学,因此,有两种方案,
一是将解绑的VGA和USB重新解绑回来,然后咱绑定到相应的PCI上去,这个方法比较难实现,解绑回来好可以,但是再绑定本身的驱动,是不立即生效的,原因还不知道;
二是编写脚本在虚拟机关机后,宿主机linux也关机,这个方法很容易实现,也很科学,对于用户而言,根本无需关机两次。
学习VGA GPU 和USB穿透,查看下面两个博客:
http://blog.youkuaiyun.com/hubbybob1/article/details/73920296
http://blog.youkuaiyun.com/hubbybob1/article/details/77101913

思路就是写一个循环检测的shell脚本,那么就直接代码了

#!/bin/bash

#调用qemu进程脚本,启动虚拟机,当前目录下,也可以家绝对路径
./qemu.sh

#打印出当前的qemu进程:grep qemu-system-x86_64查询该进程,grep -v "grep" 去掉grep进程
QemuThread=`ps -ef | grep qemu-system-x86_64 | grep -v "grep"`
echo $QemuThread

#查qemu-system-x86_64进程个数:wc -l 返回行数
count=`ps -ef | grep qemu-system-x86_64 | grep -v "grep" | wc -l`
echo $count

sec=2 #2秒检测一次
#开始一个循环,以判断进程是否关闭

for((var=0;var<1000;))
do
#每次都检测是否进程退出
 count=`ps -ef | grep qemu-system-x86_64 | grep -v "grep" | wc -l`
 if [ $count -gt 0 ]; then
  #若进程还未关闭,则脚本sleep 2秒
  echo sleep $sec second the $var time, the QEMU thread is still alive
  sleep $sec
 else
  #若进程已经关闭,则跳出循环
  echo "break 退出循环"
  break
 fi
done

#if [ $count -eq 0 ]; then
# echo "nohup startMethodServer.sh &"
# nohup startMethodServer.sh &
#else
# echo "It's better to check the thread!!!"
#fi

#调用关机脚本
#nohup startMethodServer.sh &
shutdown -h now
#ls
#reboot

真正在写脚本的时候可以把那些打印信息全部去掉

QEMU 安装与使用 不过,不同平台架构上,其支持的类型可能只包含前述列表中的一部分,可以使用qemu-system-x86_64 -net nic,model=?设置好了VT和VT-d的相关选项,保存BIOS的设置并退出,系统重启后生效。LinuxC/C++服务器开发/架构师 面试题、学习资料、教学视频和学习路线图(资料包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis、MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等),或点击这里加。 阅读详情

相关推荐

qemu:我对qemu的更改以实现传统的免费GPU传递-开源

我对qemu的更改以实现传统的免费GPU传递。 只有一个适配器可以同时使用旧版vga区域。 这是在没有传统vga访问图形卡的情况下实现qemu gpu直通的尝试。 通过MMIO访问来替换对VGA寄存器的旧版IO访问。 对vga内存的旧版访问将通过对纯帧缓冲区的访问来替换。 这避免了Linux内核中的vga仲裁程序问题。

kvm GPU透传(GPU passthrough)

为了方便对服务器进行自动管理,我们需要对硬件进行虚拟化。对于显卡而言,Nvidia有专门支持GPU虚拟化的显卡,比如GRID GPU系列。以NVIDIA GRID K2为例,显存8GB,可虚拟出2块GPU。 对于GTX系列的显卡,如果Host主机为linux系统,想将显卡给虚拟机(windows或者linux)使用,则需要用到GPU透传(GPU passthrough)技术。目前这方面的资料非常...

dlhlSC的博客 7715

腾讯云运维工程师认证TCA--真题(最新2022.11)

解析:云原生应用的12要素,1.基准代码:一份基准代码,多份部署;解析:腾讯云主账号具备对其名下资源(包括存储桶)的最大权限,您虽然可以在存储桶策略中限制几乎所有操作,但主账号始终具备 PUT Bucket Policy 操作的权限,主账号调用该操作不检查存储桶策略。解析:瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。解答:云原生五大关键技术:微服务、容器化、DevOps、持续交付。

e1210101的博客 9915

linux kvm虚拟化 gpu,kvm GPU透传进虚拟机

最近给服务器装了kvm虚拟机,服务器上有多张显卡,想透传给虚拟机使用我的环境是ubuntu16.01IOMMUdmesg | grep -i -e DMAR -e IOMMU发现缺少IOMMU:[ 0.000000] ACPI: DMAR 0x000000003B7C7000 000100 (v01 INSYDE HSW-LPT 00000001 ACPI 00040000)[ 0....

weixin_29027305的博客 1240

遥感生态指数(RSEI)——四个指数的计算

遥感生态指数是在4个生态指数的基础上通过主成分变换得出的一个评价生态环境质量的指标。因此,第二部分就是要分别计算出这4个指数的值。 ①首先,是绿度指数的计算,一般用归一化植被指数(NDVI) NDVI=(NIR-Red)/(NIR+Red) 在Bandmath工具中输入NDVI计算公式 (float(b4-b3))/(b4+b3) 其中,b3、b4分别是红波段和近红外波段 ②其次,是湿度计算。 WET = c1B1 + c2B2 + c3B3...

qq_41978498的博客 9万+

以太网传输硬件设计大全

1.网线的介绍RJ45由插头和插做组成,也就是我们常说的网口和网线。RJ45 网线插头又称水晶头,共有八芯做成。RJ45网络传输线分为直通线、交叉线和全反线。直通线用于异种网络设备之间的互连,例如,计算机与交换机。交叉线用于同种网络设备之间的互连,例如,计算机与计算机。全反线用于超级终端与网络设备的控制物理接口之间的连接。下面将介绍一下各线的作用和区别。1.直通线:又叫正线或标准线,两端采用568B做线标准,注意两端都是同样的线序且一一对应。直通线是应用最广泛,现在最常用的线。

weixin_45365488的博客 6751

qemu中的新版vga仿真

让我们先来了解一下历史: VGA起源: VGA 由IBM在1987年提出。 它有一些列的新功能,同时也兼容它的那些前辈如CGA跟EGA的所有功能: 1. 文本模式(80x25,字体小一下的话也可以支持80x50) 2. 16色模式(640x480,四位色) 3. 256色模式(320x240, 8位色) 4. 也支持用户自定义一些操作,例如双重扫描或者分屏操作   VGA 具有了2...

专注虚拟化的Linuxer 8559

Simulink中通过MEX与MinGW实现C/C++结构体变量的高效导入

本文详细介绍了在Simulink中通过MEX工具链与MinGW编译器,高效导入C/C++结构体变量的完整流程。文章从需求背景出发,逐步讲解了MinGW环境配置、.h文件编写规范、核心导入命令Simulink.importExternalCTypes的使用,以及如何在MATLAB Function模块和总线创建器中调用自定义结构体,旨在实现模型与代码的无缝对齐,为后续仿真和代码生成奠定坚实基础。

weixin_29056781的博客 345

qemu虚拟机的关机方式

qemu虚拟机的关闭方式主要包括如下几种方式: 通过qemu monitor的system_powerdown命令进行关闭, 在libvirt对qemu进行管理的情况下,通过virsh shutdown命令进行关闭。 在虚拟机内使用Guest OS自带的关机按钮进行关闭。 通过qemu monitor的quit命令进行关闭。 在libvirt对qemu进行管理的情况下,通过virsh d...

8226

vue2/3 - [超详细] 实现企业微信扫码登录完整流程及代码,vue项目接入企业微信扫码登录功能教程,支持新跳页显示二维码或div容器里内嵌登录二维码(详细代码注释,一键复制开箱即用)

vue企业微信扫码登录,vue网页网站企业微信扫码登录教程,vue如何实现企业微信扫码登录功能,vue详细企业微信扫码登录功能实现,vue2实现企业微信扫码登录,前端vue企业微信扫码登录教程,vue pc电脑端企业微信扫码登录详细教程,vue项目中怎么做企业微信扫码注册登录,vue实现网站接入企业微信扫码登录,vue2做企业微信扫码登录的优质文章教程,vue网站对接企业微信扫码登录,vue企业微信扫码登录如何新开一页全屏显示登录二维码,vue企业微信登录二维码 内嵌在div容器里/跳页显示登录二维码,vu

✅ 精选推荐文章 5703

Kafka 性能优化与常见问题排查

Kafka 的高性能依赖于合理的集群设计、参数优化与高效的监控体系。生产环境中,应重点关注I/O 瓶颈、分区规划、Producer/Consumer 参数调优,并通过监控与排查手段快速定位问题,从而保障 Kafka 在实时场景下的稳定运行。

X2829352498的博客 235

QEMU VGA 分析(0) – 显卡组件剖析

显卡的基本功能就是允许 CPU 操作显卡的内存(显存), 然后在对存储在这些 内存中的信息进行一些变换, 产生可以供显示器使用的信号. Frame Buffer Frame Buffer 存储了显示器需要显示的像素, 是显卡的核心部件. 几乎所有的操作都是使用里面存储的数据. Frame Buffer 以内存的形式存在的, 或者, 有的显卡会实用 VRAM 来做显存.

追寻神迹 4504

手把手教你学Simulink--智能控制算法的控制算法领域仿真建模实例:基于Simulink的遗传算法优化控制仿真模型

通过上述步骤,你可以设计并仿真一个基于Simulink的遗传算法优化控制模型。这种方法适用于许多复杂的优化场景,尤其是当传统方法难以找到最优解时。随着经验的积累,你可以进一步优化遗传算法的参数设置,或者结合其他智能优化技术(如粒子群优化、差分进化等)提升优化性能。

MHD0815的博客 208

OpenStack显卡穿透

在Moba打开kvm管理页面删除Tablet。添加设备,将鼠标键盘都加上即可。在没有图像化的时安装两个工具。

昂老师的博客 611

55、Mac OS X 10.2 安装、设置、卸载及故障排除全攻略

本博客全面解析了 Mac OS X 10.2 的安装、设置、卸载及故障排除方法。内容涵盖四种安装方式的适用场景及操作步骤、设置助手的详细配置流程、卸载注意事项与恢复建议,以及常见问题和进阶故障的解决办法。通过图文并茂的形式,帮助用户快速掌握 Mac OS X 10.2 的基础与高级操作,是使用该操作系统的实用指南。

qsc90123456的博客 152

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

KVM虚机GPU直通实践总结

【注意】目录/usr/lib/dracut/modules.d/下的每一个子目录都代表一个 dracut模块,每个模块至少包含一个module-setup.sh脚本(用于模块的安装和配置设定),20这个数字设置的原则是要小于被覆盖的驱动程序模块nvidia。采用如上GPU直通方式A,vfio-pci模块的绑定配置匹配的是供应商与设备ID,这会导致绑定主机上所有同一型号的GPU,不符合我们期望的部分GPU给宿主机的容器使用,部分GPU做直通给虚机使用的情形,为此需要考虑绑定设备PCI地址的方式。

smartvap_2012的博客 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

VGA GPU passthrough qemu虚拟桌面pci穿透

转载请注明:http://blog.youkuaiyun.com/hubbybob1/article/details/77101913 上一篇文章已经介绍过显卡穿透的linux内核准备过程了,下面就要讲述穿透的额过程。上篇文章:http://blog.youkuaiyun.com/hubbybob1/article/details/73920296 首先,查看cpu是否支持虚拟化: egrep -o '(vmx

hubbybob1专栏 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

GPU与GPU穿透

也许大家一直很纠结GPU穿透,在网上也看了很多,其实,这样和大家说也许大家就明白了:GPU穿透:一个独立显示器(GPU)对应一个VM;GPU虚拟化:一个独立的显卡最多对应4个VM。话不在多,能表达明白就行。希望对大家有帮助。...

weixin_34019144的博客 316

向qemu虚拟机中管道发送关闭虚拟机qemu命令

2、qemu启动脚本中添加。注:关闭时未添加sleep。3、编写关闭qemu脚本。

m0_59571606的博客 486

QEMU如何实现虚拟机关机和重启

但是,虚拟机外重启操作并没有直接的模拟,主要是因为Guest OS对外并没有重启操作的接口,并且重启操作过程中,Guest OS是需要保存自己的软件状态的,什么时候执行底层的硬件reset操作,QEMU本身并不知道(Guest OS)并不会提前告知硬件,或者对外发出事件。以Win10 Guest OS为例,若Win10开启了快速启动,在Windows的关机过程中,Windows的内核其实是进行了休眠而不是关闭,所以系统重启后,会发现,Windows的内核运行时间并没有清零,而是累加了上次关机前的运行时间。

lingshengxiyou的博客 2643

虚拟化相关面试题集锦(1)—— 如何在QEMU/KVM中跑通AI相关训练

虚拟化相关面试题集锦(1)—— 如何在QEMU/KVM中跑通AI相关训练

phmatthaus的专栏 2658

在新Linux内核中体验GPU虚拟化

从内核4.10, 支持 virtual gpu 的代码开始汇入主线程。这部分代码主要由两部分组成: 首先, mediated 设备框架(mdev),基本上,这部分代码使得内核驱动开始用vfio框架跟接口来支持虚拟pci设备。nvidia 以及intel都采用了这种所谓的mdev机制,将宿主机中的物理GPU分割成多个虚拟设备,以便供多个虚拟机同时使用。 第二个, intel 的i915驱动也是采...

专注虚拟化的Linuxer 4885

QEMU GPU虚拟化教程:VGA、virtio-gpu和vGPU配置详解

前往项目官网免费下载:[https://ar.openeuler.org/ar/](https://ar.openeuler.org/ar/?utm_source=csdn_blog) 想要在虚拟机中获得流畅的图形体验吗?QEMU GPU虚拟化技术为您提供了完整的解决方案!无论是传统的VGA模拟、高效的virtio-gpu虚拟化,还是高性能的GPU直通(vGPU),本教程将带您深入了解QEMU中

gitblog_06827的博客 549

qemu常用参数选项说明

qemu常用参数选项说明 在我的系列博客《基于qemu-riscv从0开始构建嵌入式linux系统》中使用qemu项目一步步构造搭建了嵌入式linux系统,而其中在run.sh中qemu的启动参数选项非常多且繁杂,因此本文将对其进行归纳整理。 设备类型(-machine/-M) 在qemu中,不同的指令集的模拟器会编译成不同的可执行文件,诸如:qemu-system-x86_64/qemu-system-aarch64/qemu-system-arm/qemu-system-mips/qemu-system

Quard_D的博客 2万+

解决绕过android下apk使用usb设备权限查询相应问题,自动获取usb权限

转载请注明:http://blog.youkuaiyun.com/hubbybob1/article/details/50263925很多android的应用在使用usb设备时,尤其是usb摄像头,前段时间编写了一个有关usb设备的apk,但是在使用时总是会跳出系统对话框,用户体验很差,如下图所示,所以一直想要解决这个问题,在网上说了很多办法,但是我的能力有限都没有走通,在同事的帮助下终于解决的这个问题,非常感

hubbybob1专栏 3万+
上一篇: VGA GPU passthrough qemu虚拟桌面pci穿透
下一篇: QEMU下虚拟机内的声卡模拟方法总结
葫芦娃二娃
博客等级 码龄15年 1850粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值