Last Updated on 2026-08-06 by william
我今天(2026/8/6)重灌 5090 主機, pve 9.2.2 + lxc (不用 vm 通透),原本文章在此文章結束後的下方。
現在不懂就問AI,所以我把AI的文章丟上來,官方下載的driver在此
PVE 透過 LXC 容器透傳 RTX 5090 部署 Ollama 完整指南
本指南詳細記錄了如何在 Proxmox VE 宿主機上驅動全新 Blackwell 架構的 NVIDIA GeForce RTX 5090,並透過特權 LXC 容器(Ubuntu 24.04) 進行硬體透傳(Passthrough),最終成功運行 Ollama AI 大模型。
- 硬體平台: NVIDIA GeForce RTX 5090 (Blackwell 架構,內顯開機不佔用 VRAM)
- 宿主系統: Proxmox VE 8.x / 9.x
- LXC 容器: Ubuntu 24.04 LTS (特權容器 Privileged Container)
- 驅動要求: NVIDIA Linux Driver ≥ 570.xx 版本
🛑 第一階段:PVE 宿主機環境配置與驅動安裝
Linux 內建的開源驅動 Nouveau 會霸佔顯卡且不支援 CUDA,必須在安裝官方驅動前徹底停用並重啟。
1. 準備編譯環境與封印 Nouveau 驅動
# 更新系統並安裝 PVE 核心標頭檔與基礎編譯工具
apt update && apt dist-upgrade -y
apt install -y pve-headers-$(uname -r) build-essential
# 將 Nouveau 驅動寫入黑名單
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "options nouveau modeset=0" >> /etc/modprobe.d/blacklist.conf
# 更新核心 initramfs 映像檔並重啟主機
update-initramfs -u
reboot
2. 安裝 NVIDIA 官方驅動
重新連線至 PVE Host,執行官方 .run 安裝程式:
chmod +x NVIDIA-Linux-x86_64-570.85.run
./NVIDIA-Linux-x86_64-570.85.run --dkms
- Multiple kernel module types available: 務必選擇
MIT/GPL (Open Kernel Modules)。 - Install NVIDIA’s 32-bit compatibility libraries?: 選擇
No(若跳出路徑遺失提示,直接忽略)。 - nvidia-xconfig utility?: 務必選擇
No(防止修改內顯開機設定導致畫面黑屏)。
3. 驗證宿主機顯卡狀態
nvidia-smi
確認是否有成功跑出 RTX 5090 的完整規格表格。
📦 第二階段:建立 Ubuntu LXC 容器並設定透傳
1. 建立特權容器
在 PVE 後台建立 CT 時,取消勾選「無特權容器 (Unprivileged container)」。範本選擇 ubuntu-24.04。建立後先不要開機。
2. 修改 LXC 設定檔以打通硬體通道
在 PVE 宿主機終端機中,編輯該容器設定檔(假設 ID 為 100):
nano /etc/pve/lxc/100.conf
在檔案最底部貼入以下透傳代碼:
# 允許 LXC 存取 NVIDIA 設備節點
lxc.cgroup2.devices.allow: c 195:* rwm
lxc.cgroup2.devices.allow: c 511:* rwm
# 將宿主機的顯卡硬體檔案掛載進 LXC 容器
lxc.mount.entry: /dev/nvidia0 dev/nvidia0 none bind,optional,create=file
lxc.mount.entry: /dev/nvidiactl dev/nvidiactl none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-uvm dev/nvidia-uvm none bind,optional,create=file
lxc.mount.entry: /dev/nvidia-uvm-tools dev/nvidia-uvm-tools none bind,optional,create=file
🚀 第三階段:LXC 容器內驅動與 Ollama 安裝
1. 安裝使用者層驅動
啟動該 LXC 容器,進入其 Console,下載與宿主機完全相同版本的驅動:
# 安裝套件並下載驅動
apt update && apt install -y curl build-essential
curl -O https://nvidia.com
chmod +x NVIDIA-Linux-x86_64-570.85.run
# ⚠️ 關鍵:加上不編譯核心模組的參數
./NVIDIA-Linux-x86_64-570.85.run --no-kernel-module
(註:互動選項皆選 No。若跳出 Vulkan 警告提示,直接忽略即可,不影響 AI CUDA 運算)*
2. 驗證容器並安裝 Ollama
# 檢查顯卡是否對接成功
nvidia-smi
# 執行 Ollama 官方一鍵安裝
curl -fsSL https://ollama.com | sh
可以使用
journalctl -u ollama --no-pager | grep -i -E "cuda|gpu" 檢查日誌。接著在容器內輸入
ollama run deepseek-r1:7b 即可完美享受 RTX 5090 帶來的極速吐字體驗!
以下是之前(2025/4/30)寫的文章,當時用 pve 8.2 + vm 通透,現在應該不適用了
—
PVE 8 加上GPU Passthrough(顯卡通透),可能是PVE、5090、或主機板太新,一直卡關,因此我有必要紀錄一下如何攻克。
話說我前幾天終於說服公司購買好一點的顯示卡,因為先前提早研究,知道顯卡很吃PCI-E 16x,但那是什麼鬼我都不懂,於是快馬加鞭衝去原價屋,找專業店家買主機,服務人員聽說要買頂規的5090,很熱情地自動展開相關配置,這些專業建議不額外收費。
主機板:Z890 Aorus master
CPU:Intel Core ultra 9 285K
記憶體:256GB
M.2.: 1T
顯卡:ASUS ROG ASTRAL RTX 5090 32G 水冷
power:1300 瓦
原價屋組裝好,我收到貨之後,想說主機這麼好,應該要安裝pve多工使用。
爬文得知兩個重點:
- 主機板要打開vt-d (iommu)、sr-iov 之類的功能
主機板建議安裝一個hdmi欺騙器,並且在bios設定開機顯示介面優先使用內建顯示,讓獨立顯卡完全用於VM
- pve 要修改能支援PCI passthrough,開通vfio-pci功能
請參考官網作法。
首先我安裝pve 8.4.1,且照著官網建議的設定,但一直不成功,VM開不起來;後來想說是不是pve版本太新,因此改用8.3.1也不行,再改成8.2.2也不行。我總共參考以下文章,也測試了N輪,都快放棄了 XD
文章都說只要開通vfio-pci以及iommu就可以了,我照做也很順利。
執行 lspci -nnk,可以看出顯卡已開通 vfio-pci

執行 dmesg | grep -e DMAR -e IOMMU ,可看到IOMMU enabled

可惜無論如何努力,vm一直無法出現開機畫面,一看就知道通透失敗。
甚至我都扒出有些設定新版pve 8已棄用,也修改 /etc/default/grup ,加上新的設定 initcall_blacklist=sysfb_init,做完要執行 update-grub,但一樣GG,。

不死心,失敗了N次,我無意間在這裡發現新大陸,裡面提到一個設定disable_denylist=1要加到vfio.conf,雖然最後還是失敗XD

很神奇,當時突然如到電影盜夢空間(全面啟動)情節,彷彿有人偷偷修改我的記憶,不自覺自己無意識下了一個指令 modinfo -p vfio-pci,系統居然多嘴跟我說還有其他設定要加上企。

最後,我把系統建議的這些設定都加到 /etc/modprobe.d/vfio.conf 裡面( 加完記得要 update-initramfs -u -k all )。
disable_vga=1 disable_denylist=1 disable_idle_d3=1 enable_sriov=1
再重開vm就成功進入開機畫面了,太棒了!
vm 安裝ubuntu 24.04,還要加裝 nvidia 驅動。
vm如何安裝nvidia驅動,我參考了以下這兩篇
https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/index.html#ubuntu-installation
安裝完畢,記得重開機,pve主機要重開,不能只重開vm。
等pve主機,與其vm重開後, 進 vm 執行 nvidia-smi,看到心愛的 5090 就安心了。

再下指令讓 Persistence-M 變成On
sudo nvidia-smi -pm 1
接下來安裝docker,我參考張騰元文章 。
docker安裝完畢,咱門還需要讓docker也能使用 nvidia ,請參考 https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html 。
最後啟動ollama docker
docker run -d –gpus=all -v ollama:/root/.ollama -p 11434:11434 –name ollama ollama/ollama
至此大功告成。
這是我pve的相關設定
/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt initcall_blacklist=sysfb_init"

修改完畢,記得套用 update-grub 生效。
/etc/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
kvm
kvm_intel
kvmgt
xengt
vfio-mdev
i915.enable_gvt=1

/etc/modprobe.d/pve-blacklist.conf
blacklist nouveau
blacklist i2c_nvidia_gpu
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist nvidia*

/etc/modprobe.d/vfio.conf
以下紅色部分,是顯卡的代號,請自己修改
nvidia有兩個video與audio硬體代號,可執行 lspci -nnk | grep -i nvidia 取得
softdep nouveau pre: vfio-pci
softdep nvidia pre: vfio-pci
softdep nvidiafb pre: vfio-pci
softdep nvidia_drm pre: vfio-pci
softdep drm pre: vfio-pci
options vfio-pci ids=10de:2b85,10de:22e8 disable_vga=1 disable_denylist=1 disable_idle_d3=1 enable_sriov=1

修改modprobe相關檔案,記得要執行 update-initramfs -u 套用更新。
VM的設定
重點在紅框的 host、PCI Device(hostpci0)、 與 q35


博主你好, 我刚好也用pve直通5090, 直通到Linux系统下用纯计算功能没发现特别的问题, 但是直通到Windows 10/11的话, GPU-Z 会显示只有 PCI Express的速度, 实际跑分是平均值的60%左右, 请问你那边有没有类似的问题?
我搜遍了全网都没有相关的案例, 看到博主跟我的情况相对类似, 所以想交流一下
建議先用 windows 安裝測試是否正常跑分,有時候是主機板上PCI速度,我的很正常。