找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 509|回复: 3

[虚拟机相关] 随手——ESXI各版本关于家用显卡直通问题(显卡43代码错误)

[复制链接]
发表于 2024-4-26 13:27 | 显示全部楼层 |阅读模式
ESXI直通显卡的那些事
游客,如果您要查看本帖隐藏内容请回复
小生菜鸟一枚
我是用的华擎Z390matx主板,安装了ESXI7.0且直通独立显卡GTX1650给win发现虚拟机重启后无法驱动独显 报错代码43。
这次就说这个问题。困扰了好久,网上找了很多教程和方法,无奈都无法完美。这里也算个笔记。


esxi直通显卡报错代码43,解决方法如下(不完美解决)。







 楼主| 发表于 2024-4-26 13:27 | 显示全部楼层
补充一句吧,有核显和显卡的,主板上关闭核显。
回复 支持 反对

使用道具 举报

发表于 2024-4-26 15:14 | 显示全部楼层
PVE核显直通代码也是43 不知道怎么弄。折腾过很多,最后发现,还是不折腾的好。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-22 11:57 | 显示全部楼层
本人最后一次回自己的帖子:
关于显卡43错误,目前无解,尤其是带有核显和显卡的。
这里想到了unlock—vgpu方式解决:
代码如下:


配置:PVE7.2-1(官网目前还可以下)、I7-8700,1650显卡,华擎Z390M pro,32G内存
参考网址:https://www.cnblogs.com/doracloud/p/18003262/pve7_vgpu_unlock
https://foxi.buduanwang.vip/virtualization/1683.html/
都是大佬,纯分享:

第一步:
换源:
方法一:wget -q -O /root/pve_source.tar.gz 'https://bbs.x86pi.cn/file/topic/2023-11-28/file/01ac88d7d2b840cb88c15cb5e19d4305b2.gz' && tar zxvf /root/pve_source.tar.gz && /root/./pve_source

方法二:echo "nameserver  8.8.8.8" >> /etc/resolv.conf && rm -rf pvetools && rm -rf /etc/apt/sources.list.d/pve-enterprise.list && export LC_ALL=en_US.UTF-8 && apt update && apt -y install git && git clone https://bgithub.xyz/ivanhao/pvetools.git && echo "cd /root/pvetools && ./pvetools.sh" > pvetools/pvetools && chmod +x pvetools/pvetools* && ln -s /root/pvetools/pvetools /usr/local/bin/pvetools && pvetools

第二步:
切换内核:
uname -r
输出结果是不是:5.15.30-2-pve(当然,如果你不修改也成功也是可能的)
不是看:
参考:指定内核并安装相关软件,地址:https://blog.csdn.net/m0_52029107/article/details/135954002
#查看已安装内核
dpkg --get-selections |grep kernel
#查看当前内核
uname -a
#查找内核
apt-cache search linux | grep 'PVE Kernel Image'
apt install pve-kernel-5.15.30-2-pve

#查看当前系统内核启动顺序
grep menuentry /boot/grub/grub.cfg
#修改内核启动顺序
nano /etc/default/grub
#把默认的GRUB_DEFAULT=“0”改为
GRUB_DEFAULT="Advanced options for Proxmox VE GNU/Linux>Proxmox VE GNU/Linux, with Linux 5.15.30-2-pve"
#更新引导并重启
update-grub
reboot
重启后:
apt update && apt install dkms  git build-essential pve-kernel-5.15 pve-headers-5.15 dkms cargo jq uuid-runtime -y

第三步:
wget -P /opt/ http://ftp.br.debian.org/debian/ ... vctl_0.81-1_all.deb
dpkg -i /opt/mdevctl_0.81-1_all.deb

第四步:

echo vfio >> /etc/modules
echo vfio_iommu_type1 >> /etc/modules
echo vfio_pci >> /etc/modules
echo vfio_virqfd >> /etc/modules
echo  "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
update-initramfs -k all -u


第五步:
#编辑grub,请不要盲目改。根据自己的环境,选择设置
nano /etc/default/grub
#在里面找到:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
#然后修改为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
#如果是amd cpu请改为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"
#更新引导
update-grub
reboot

第六步:

完了之后跟新内核:
apt-get install linux-headers-$(uname -r)
同时、安装5.15.30-2内核以及linux-header
1、安装linux-header
apt update && apt install pve-headers-5.15.30-2-pve  -y
2、安装5.19内核
apt install pve-kernel-5.15.30-2-pve
apt update && apt upgrade -y

apt install -y git build-essential pve-headers-`uname -r` dkms jq unzip python3 python3-pip
pip3 install frida

apt dist-upgrade

apt install mdevctl

以上apt -insatall  XX后期安装缺什么安装什么



第七步:
下载驱动
https://foxi.buduanwang.vip/pan/vGPU/
找到:NVIDIA-Linux-x86_64-510.47.03-vgpu-kvm-custom.run
按照https://foxi.buduanwang.vip/virtualization/1683.html/介绍操作

给驱动添加可执行权限

chmod +x /opt/NVIDIA-Linux-x86_64-510.47.03-vgpu-kvm-custom.run
以dkms方式安装驱动

sh -c /opt/NVIDIA-Linux-x86_64-510.47.03-vgpu-kvm-custom.run --dkms
运行命令后,会提示是否用dkms方式安装,选择yes,回车继续


如果安装不上按照参考:https://www.cnblogs.com/doracloud/p/18003262/pve7_vgpu_unlock
或者大佬的代码:输入
curl -o- http://www1.deskpool.com:9000/software/gpu03f.sh |bash
自动安装535.129.03驱动

第八步:
可以直接按照https://www.cnblogs.com/doracloud/p/18003262/pve7_vgpu_unlock
运行 vgpu_unlock 和 vgpu_unlock-rs  
curl -o- http://www1.deskpool.com:9000/software/gpu03u.sh |bash
也可以用下面的:
cd /opt && git clone https://bgithub.xyz/mbilker/vgpu_unlock-rs.git     (没科学的这里github.com换成bgithub.xyz即可)下面一步一步执行
cd /opt/vgpu_unlock-rs
cargo build --release           (此步骤肯定会卡,解决办法看第九步)
mkdir /etc/systemd/system/{nvidia-vgpud.service.d,nvidia-vgpu-mgr.service.d}
echo -e "[Service]\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so" > /etc/systemd/system/nvidia-vgpud.service.d/vgpu_unlock.conf
echo -e "[Service]\nEnvironment=LD_PRELOAD=/opt/vgpu_unlock-rs/target/release/libvgpu_unlock_rs.so" > /etc/systemd/system/nvidia-vgpu-mgr.service.d/vgpu_unlock.conf
systemctl daemon-reload

如果用了大佬的代码这步可以省略。需要制定驱动才需要手动安装驱动


第九步:
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
如果有问题:
出现error: failed to get `ctor` as a dependency of package `vgpu_unlock-rs v2.4.0 (/opt/vgpu_unlock-rs)`
逐一输入一下内容:
#设置rustup的source为 USTC
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
#wget -qO- https://cdn.jsdelivr.net/gh/rust ... p.rs/rustup-init.sh |sh  -s -- -y

echo ""
echo ""
echo "********************************************************"
echo " Config cargo "
echo ""
#加载cargo的环境变量
source ~/.cargo/env

#设置cargo的源镜像为 USTC
cat >~/.cargo/config <<EOF
[source.crates-io]
replace-with = 'ustc'

[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
EOF


以上代码运行一遍就完了

之后在运行
cd /opt/vgpu_unlock-rs(这是手动安装时候用到)
cargo build --release (然后等着吧,不动不是卡住了,网络原因)

第十步:
,使用nvidia-smi 确认是否如下,显示GPU信息

第十一步:
mdevctl types
或者
cd /opt/vgpu_unlock-rs
再输入
mdevctl types
有输出就说明搞定了。

之后参考B站
https://www.bilibili.com/video/B ... 42a3e956dc8667e8abe
授权
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-5-29 02:38

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表