绕开BIOS限制修改显存使GVT-g实现更多vGPU
前言廢話
為了組一臺趁手好使、功耗噪音都能接受的服務器,動手玩了一下KVM,遇到一些百度不到的問題,摸索解決后總結一下,希望能幫到更多人。
Intel GVT-g是顯卡虛擬化技術,有別于PCI-E設備直通,GVT-g可以虛擬出多個虛擬機的GPU,從而有效地在虛擬機中提供接近宿主機的圖形性能,并且仍然讓主機正常使用虛擬化的GPU。
簡單的說就是把一個顯卡拆成好多個分別給不同虛擬機使用。
測試平臺:ASUS B250M-A + i7 7700
虛擬化平臺:Proxmox-VE 6.2.3-2 (Debian 10)
為了實現更多vGPU,需要給核顯分配更多的顯存。但是ASUS并沒有在BIOS中給調節顯存的選項,只給了DVMT (Dynamic Video Memory Technology 動態分配共享顯存技術)最大顯存的選項,最大是1024MB,當我把DVMT改成1024MB之后,并沒有什么用。
Menmory Size 還是 256M
去Intel官網翻了一下,發現Intel NUC上的BIOS有個Intel aperture size的選項,用于調節最小顯存大小。于是只要想辦法修改自己主板BIOS里面的這個設置值即可。但是ASUS并沒有提供這個選項。
開始動手
有能力的先提取一下當前版本的BIOS,沒能力的去官網找到和本機BIOS相同的更新文件。我直接去官網下載了最新版的BIOS更新文件并更新了BIOS。
1.使用UEFI Tool找到設置對應的模塊
打開BIOS更新文件,然后按Ctrl+F打開搜索頁面,切換到text選項卡,搜索aperture size
點擊OK,進行搜索,下方將展示搜索結果。
將導出的efi文件另存為一下。
2.找到設置的偏移地址
使用IRFExtractor打開上一步另存的*.efi文件
使用文本編輯器打開這個txt文件,搜索aperture
上圖中紅框的0x736就是這個設置的偏移值,下面就是可供調節的幾個選項。建議這一步拍個照。比如這邊的默認值就是256M,選項值為0x1
3. 制作引導盤修改BIOS隱藏設置
找一個空U盤,格式化成FAT32格式,放入uefi引導文件
重啟電腦,進入U盤引導。此時應該進入grub命令行模式。
第一步,驗證一下偏移地址是否正確
輸入setup_var_3 0x736,默認情況下返回的是0x1即256M
那就說明這個地方就是修改aperture size的地方。
第二部,修改aperture size
假如我要修改為512MB,通過上面txt文檔可知修改為0x3即可將aperture size修改為512MB
輸入setup_var_3 0x736,默認情況下返回的是0x1即256M(上圖中我已經改過了)
輸入setup_var 0x736 0x3,將aperture size修改為512M。然后reboot重啟
4.驗證結果
修改成功,vGPU個數變多了。
修改為1024M后可分配的vGPU。
注意:這塊主板分配顯存大小超過1024M后會無法進入BIOS,grub引導界面提示 No suitable mode found,但是功能一切正常。
如果出現問題,請給主機斷電后扣下CMOS電池幾秒后在安回去,以便恢復主板的默認設置。
進入虛擬機看看:
Windows 虛擬機
Linux
可以看到,Intel 核芯顯卡已經被Windows和Linux虛擬機正確識別并驅動了。
總結
以上是生活随笔為你收集整理的绕开BIOS限制修改显存使GVT-g实现更多vGPU的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Unity3D入门教程】Unity3D
- 下一篇: 适合小朋友的Scratch动手项目!AI