虚拟机使用主机显卡(hyper-v和WSL2)
- 我的系统版本
- WSL2+Ubuntu20.04+CUDA
- 启用WSL2+安装Ubuntu20.04
- 主机安装WSL Cuda显卡驱动
- WSL2 Ubuntu安装cuda和cudnn
- cuda
- cudnn
- 安装TensorFlow
- 使用自带测试程序
- 测试keras训练模型
- 参考链接
- hyper-v+win10
- 准备iso镜像
- 使用hyper-v安装win10系统
- 使用脚本配置GPU-Pv
- 显卡驱动
- hyper-v安装ghost备份文件
- 创建虚拟机
- 新建一个硬盘
- 接着将这个硬盘添加到虚拟机里
- 分区然后还原系统
- 将DVD驱动器移除
- 参考链接
我的系统版本
我更新到了最新的版本,这样可以避免很多不必要的麻烦。
WSL2+Ubuntu20.04+CUDA
启用WSL2+安装Ubuntu20.04
这个很简单,请看:https://blog.csdn.net/RenLJ1895/article/details/122741040
主机安装WSL Cuda显卡驱动
在最新的显卡驱动都已经包含了WSL Cuda驱动,所以显卡驱动已经更新到最新版本,就不用重新安装了。另外:WSL2的Ubuntu系统里不需要再安装任何显卡相关的驱动
我的显卡驱动版本
WSL2 Ubuntu安装cuda和cudnn
cuda
这个和再Ubuntu安装没有多大的区别,CUDA安装的命令查看地址:https://developer.nvidia.com/cuda-toolkit-archive
我选择的版本是11.6.0,接着再Ubuntu里面一个一个敲下面的命令等待安装完成。
更新~/.bashrc
文件
#把这三行复制到文件底部
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#更新一下bashrc文件
source ~/.bashrc#更新一下可能需要的依赖
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev#用以下代码检查cuda是否检查成功,注意此处的cuda版本是你在toolkit下载那里决定的,这个版本可能和nvidia-smi显示的版本号不一样,可高可低,这是因为nvidia给cuda开了两个api,这两个api只要差不是太远,基本都可以保证正常运行cuda
nvcc -V
ubuntu中的nvidia-smi目录再/usr/lib/wsl/lib/nvidia-smi
,可以建个软链接到/usr/local/bin
下,也可以将这个目录加到环境变量里,任何执行nvidia-smi
(这里识别出cuda版本是11.7应该是主机的版本,这个不重要)
cudnn
下载地址:https://developer.nvidia.com/rdp/cudnn-archive (需要登录,下载最新的11.x, 其实就是11.6)
解压到cuda安装目录
#以下是安装命令
tar -zxvf cudnn-自己补全版本号.tgz
sudo cp -P cuda/lib64/* /usr/local/cuda-11.6/lib64/
sudo cp cuda/include/cudnn.h /usr/local/cuda-11.6/include/#为更改读取权限:
sudo chmod a+r /usr/local/cuda-11.6/include/cudnn.h
sudo chmod a+r /usr/local/cuda-11.6/lib64/*
安装TensorFlow
我选择的是tensorflow-gpu==2.8.1, 因为2.0以后的TensorFlow自带了keras,直接import tensorflow.keras即可。所以不用额外安装了。
使用自带测试程序
cat /usr/local/cuda/samples/README_CUDA_Samples.txt
这个文件里有个GitHub的链接:https://github.com/NVIDIA/cuda-samples
把文件拷下来(如果速度很慢,则需要点手段,这个就不说了)
cd /usr/local/cuda/samples
git clone https://github.com/NVIDIA/cuda-samples.git
然后编译可执行文件
cd cuda-samples
sudo make
需要等待个十几分钟吧,生成的可执行文件在cuda-samples/bin/x86_64/linux/release
目录
测试通过,说明环境都没啥问题
测试keras训练模型
在vscode里下载Remote-WSl 插件,左边就会多一个按钮。打开然后创建个目录写代码
效果(可以看到显存已经占满了,训练也正常跑了)
不过出了很多的警告信息,谷歌搜了下没找到什么原因,算了,能跑就行了
参考链接
1、https://blog.csdn.net/iwanvan/article/details/122119595
hyper-v+win10
准备iso镜像
需要下载和主机系统一样的镜像(主要是为了显卡驱动一模一样,保证直接拷贝主机显卡驱动文件到虚拟机不会出问题)
使用hyper-v安装win10系统
步骤没什么区别
使用脚本配置GPU-Pv
下载脚本:https://github.com/Sam-Chai/gpu-pv-ps1
修改图中两个位置,第一个为虚拟机的名称,第二个是虚拟机能使用的最大显存。我设置的和主机显卡一样
然后右键使用powershell运行,这样会不容易看出输出信息。窗口一闪而过
可以使用Powershell ISE来运行,打开位置如下
将gpu.ps1文件直接拖到这个窗口,点击绿色的执行按钮就能看到输出,没报错输出完成就没问题
显卡驱动
现在直接打开虚拟机,虽然能在设备管理器里面看到显卡的信息,但是显示代码43,因为确实驱动程序,但是又不能直接使用驱动软件下载驱动。
将虚拟机关机,并且挂着虚拟机的磁盘到主机,双击.vhdx文件就可以在磁盘管理里看到(也可以在磁盘管理右键选择附加VHD),可能会有个报错,可以忽略,因为还没有分配盘符。右键分配一下盘符就行
我已经分配过,一打开就挂载了,图中500G的那个
然后拷贝主机C:\Windows\System32\DriverStore\FileRepository
目录下nv开头的文件夹到虚拟机硬盘F:\Windows\System32\HostDriverStore\FileRepository
下(目录需要自己建)
然后在磁盘管理红圈的部分右键选择分离VHD,磁盘就取消挂载了
接着虚拟机开机就应该能看到显卡正常工作了
具体有没有真的正常工作,这个还真不清楚,先跑个鲁大师试试
虚拟机:
主机:
相差还是挺大的,而且在虚拟机跑鲁大师直接卡死了,要等他测完才能连接到 ,尴尬,虚拟机CPU只给了1核,我说怎么这么卡。
后面在看看玩游戏的表现,跑模型就没必要了,用WSL或者直接在主机里跑更方便。
hyper-v安装ghost备份文件
一开始我不想安装系统,想直接备份主机的系统到ghost文件里。然后再hyper-v还原成虚拟机,但是还原后的虚拟机很卡,基本无法操作,估计是很多驱动都不兼容,分享下如果安装ghost
创建虚拟机
其他步骤一样,就是选择镜像的时候,需要选择PE系统的ISO镜像,我这里选了微PE的镜像(下载微PE,就有生成ISO文件的选项)
新建一个硬盘
硬盘大小比ghost文件大一点就行,比如我备份的系统文件大小是62G,虚拟硬盘选个63G就行了,选择固定大小(因为看到下面写了更好的性能)
生成虚拟硬盘文件之后,就是挂载这个硬盘,然后拷贝ghost文件到虚拟硬盘,这样做的目的是因为到时候要在虚拟机里还原系统,ghost文件又不能放系统盘,所以创建个盘来装。装完系统这个盘就可以卸载了
接着将这个硬盘添加到虚拟机里
添加刚才的包含ghost文件的虚拟硬盘
接着开机,正常应该进入到pe系统
分区然后还原系统
因为选的第二代,分区的格式必须选择GPT,不能选MBR,第二代引导是UEFI。还原成功后,需要修复下UEFI引导(可能是非必要的)
这个就不截图演示了
将DVD驱动器移除
选择无点应用就可以了,包含ghost文件的虚拟硬盘也可以移除
如果你也修复了UEFI引导,那么在固件的位置会增加一个文件,这个不用管
点开机然后应该就能正常进入系统,
参考链接
1、https://www.bilibili.com/read/cv15539810
2、https://www.bilibili.com/video/BV11u411U7KJ
虚拟机使用主机显卡(hyper-v和WSL2)相关推荐
- w7虚拟机服务器管理器,Hyper - V (五) 在Win7中安装Hyper - V 管理工具远程操作虚拟机...
在Win7中安装Hyper - V 管理工具远程操作虚拟机 由于在Hyper - V 中安装的虚拟机运行时鼠标会出现延迟现象,所以我们可以在客户机Win 7 上安装虚拟机. 首先从microsoft ...
- hyper v虚拟机启动黑屏怎么办?
最近有用户打开VMware虚拟机却出现了开机一直黑屏的情况,挂起时能够看到显示,但是开机就黑屏.不知道该如何解决,小编为你带来hyper v虚拟机启动黑屏的解决方法,希望对你有帮助. 具体解决方法: ...
- 微软自带虚拟机Hyper—V启用
微软自带虚拟机 windows+r 快速启动运行页面,输入 control 或右键左下角windows标志–点击运行 跳转控制面板页面点击[程序] 点击[启用或关闭windows功能] 找到Hyper ...
- hpgen8服务器修改电源模式,用HP GEN8+WIN2012+Hyper V+黑群晖5.2组建家庭NAS中心 篇二:HP GEN8硬件改造...
用HP GEN8+WIN2012+Hyper V+黑群晖5.2组建家庭NAS中心 篇二:HP GEN8硬件改造 2017-11-19 15:55:35 127点赞 945收藏 205评论 追加修改(2 ...
- Kali虚拟机和主机的复制粘贴
Kali虚拟机和主机的复制粘贴 从别的大佬那里看到的奇妙方法! 安装了VMTools后,把鼠标放在选项卡上,按Ctrl+V,成功粘贴!
- EXSI6.7 虚拟机安装,显卡、USB、键盘直通
EXSI6.7 虚拟机安装,显卡.USB.键盘直通 背景 ESXi专为运行虚拟机.最大限度降低配置要求和简化部署而设计.只需几分钟时间,客户便可完成从安装到运行虚拟机的全过程,特别是在下载并安装预配置 ...
- 英伟达虚拟服务器显卡,英伟达开启显卡直通虚拟机功能 老显卡也可以
虚拟机是非常重要的软件,但如果你手上没有性能强大的主机,那么体验并不好,特别是显卡方面.如今,英伟达将在GeForce显卡上开启GPU虚拟机直通功能,让消费显卡也可以直通虚拟机,从而带来更好的图形性能 ...
- Bridge网络模式下Linux虚拟机和主机进行通信
我的VMware版本是8.0.3.其他版本的设置应该大致相同. 1.注意我们的网络模式是Bridge 2.我们的网卡设置 3.目标虚拟机(Linux)的IP 4.我的主机的IP地址 5.网络调试助手的 ...
- 嵌入式linux开发中常见的虚拟机和主机的文件共享问题
在嵌入式开发中常会用到linux系统,而有些单位必须使用虚拟机安装linux系统. 在使用vmware安装ubuntu系统后,要创建一个用作虚拟机和主机之间的共享目录. 但是这样做完之后,在ubunt ...
最新文章
- Eclipse中JVM内存设置
- Linux下LCD 10分钟自动关屏的问题总结
- curl上传文件linux,在Linux中如何使用curl从一个服务器流式传输文件到另一个服务器(有限的服务器资源)...
- 有史以来最详细 安装部署Kubernetes Dashboard (补充解决官方出现的一些RBAC CERT等问题)
- Unity中的场景切换
- docker专题(2):docker常用管理命令(下)
- Linux笔记(shell特殊符号,sort排序,wc统计,uniq去重,tee,tr,split)
- matlab转自张朋飞
- LwIP协议栈——网络接口管理
- 计算机组装专周实训心得,电脑组装实训心得3篇
- Hibernate学习总结(一)——hibernate的简单配置使用
- web buuctf [0CTF 2016]piapiapia
- 何恺明团队新作ViTDet:用于目标检测的视觉Transformer主干网络
- 【IDEA更改默认字体大小】
- 婚姻家庭法简答题及答案
- MySQL8.0与SQL server 2016的技术区别(一)
- 新来的CTO规定所有接口都用 post 请求...
- 有时候,当我们要进入某个外网时,很慢很慢,等很久才进得去
- eclipse 显示 空格 .回车符号,去掉相应的符号
- 纽约原油期货追随股市走高
热门文章
- 基于JQData的有效前沿及投资组合优化
- 日语美文欣赏(中日对照)
- 云台山风景区景点旅行攻略
- 未注册老域名扫描软件-免费未注册老域名挖掘
- 小学计算机实验考查总结,2020年小学实验考查工作总结
- Win10安装CAD2006
- SpringBoot工作开发场景实践
- Linux系统点亮LED
- php walkman,—Where is your CD?—It's _____ the Walkman. [ ]A. i
- Qt5.9.1-下载安装环境搭建——HelloWorld