Page:
3.3 將PCIe直通給PVE的虛擬機
Pages
1.1 修改成台北時區
1.2 延展系統硬碟
1.3 憑證 x509 問題
1.4 進入 busybox 問題
1.5 Kernel Panic:VFS 無法掛載 root fs
1.6 常用工具
1.7 使用舊的右鍵選項
2.1 netplan
2.2 53 埠被占用
2.3 掛載 SMB
2.4 停用 SMB 服務
2.5 TGT
2.6 OpenSSH
2.7 OpenWrt
2.8 DiskStation Manager
3.1 套件更新設定
3.2 硬碟直通
3.3 將PCIe直通給PVE的虛擬機
3.4 相關參考紀錄
3.5 解決Windows安裝WSL後死機的問題
3.6 Hyper V
3.7 WSL:從零開始
3.8 WSL:安裝 Ubuntu 26.04
3.9 避免虛擬化啟動失敗
4.1 Docker(Ubuntu)
4.2 Docker(Raspberry Pi)
4.3 K3s
4.4 k3d
4.5 Traefik
5.1 PostgreSQL
5.2 SQLServer
5.3 Redis
5.4 ElasticSearch
6.1 Gitea
6.10 VS Code
6.11 Coder
6.12 Oh My Posh
6.2 GiteaRunner(Ubuntu)
6.2 GiteaRunner(Ubuntu)
6.3 Gitea Runner
6.4 GiteaRunner(Alpine)
6.5 Gitlab
6.6 ASP.NET
6.7 Django
6.8 Node JS
6.9 C# SDK
7.1 ccstatusline
7.2 CLIProxyAPI
7.3 OpenClaw
7.4 OpenCode
7.5 PicoClaw
7.6 補充解決方案內,所有專案的註解,並整理 README
8.1 Emby
8.2 MeTube
8.3 Vaultwarden
8.4 ezBookkeeping
9.1 人格模擬系統總覽
9.10 言語、行為與內心話
9.11 主動發話與時間感
9.12 生活作息與身體狀態
9.13 世界知識與適應度
9.14 多使用者與大廳
9.15 外觀檔與來源標記
9.16 角色對照範例
9.17 範例:表達層
9.18 範例:開場與主動
9.19 範例:情緒反應
9.2 人格參數與三層值
9.20 範例:關係事件
9.21 範例:世界與知識
9.22 範例:生活與身體
9.23 範例:觸碰與親密
9.24 模擬校正與評量
9.25 硬規則與界線
9.26 第9章速查
9.27 調整人格參數讓對話更像真人
9.3 情緒模型
9.4 評估標籤與情境目錄
9.5 記憶模型
9.6 關係與階段
9.7 戀愛節奏與里程碑
9.8 親密互動規則
9.9 可愛要素設計
Home
第1章 系統維護
第2章 網路與儲存
第3章 虛擬化
第4章 容器與編排
第5章 資料庫與搜尋
第6章 開發與持續整合
第7章 AI 工具
第8章 應用服務
第9章 人格與情感模擬
頁面格式
Clone
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
將PCIe直通給PVE的虛擬機
第3章 虛擬化 · 來源:JSC 知識庫
簡介
PCIe 直通(Passthrough)可讓 PVE 上的虛擬機直接獨佔某個 PCIe 裝置(例如顯示卡、Thunderbolt 控制器)。重點是先在主機啟用 IOMMU,再以 vfio-pci 驅動接管裝置、阻止宿主機使用它,最後將裝置指派給虛擬機。本文以 Thunderbolt 控制器為例。
步驟
1. 修改引導設定檔
啟用 IOMMU 需在核心開機參數加入對應設定。
nano /etc/default/grub
找到 GRUB_CMDLINE_LINUX_DEFAULT 行,依據 CPU 類型加入參數:
- Intel CPU:
intel_iommu=on iommu=pt - AMD CPU:
amd_iommu=on iommu=pt
(Intel 範例)
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
更新 GRUB 引導並重啟主機。
update-grub && reboot
重啟後執行下列指令驗證,若看到 IOMMU enabled 代表啟用成功。
dmesg | grep -e DMAR -e IOMMU
2. 載入 VFIO 核心模組
讓系統開機時自動載入 VFIO 相關模組。
nano /etc/modules
在檔案末尾加上以下四行:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
3. 尋找控制器 ID (以 Thunderbolt 為例)
找出要直通裝置的 PCI 位址與硬體 ID。
lspci -nnk | grep -i thunderbolt
- PCI 位址:例如
00:0d.0 - 硬體 ID:例如
8086:9a1b
4. 阻斷宿主機驅動
為了防止 PVE 宿主機搶先佔用控制器,必須強制它改用 vfio-pci 驅動。
nano /etc/modprobe.d/vfio.conf
寫入以下內容(ids= 後填入 Step 3 取得的硬體 ID):
softdep thunderbolt pre: vfio-pci
options vfio-pci ids=8086:9a1b,8086:9a1d disable_vga=1
更新 initramfs 核心映像並重啟主機。
update-initramfs -u -k all && reboot
重啟後執行下列指令驗證,若看到 Kernel driver in use: vfio-pci 代表隔離成功。
lspci -nnk -s 00:0d.0
5. 將裝置新增至虛擬機
在 PVE 介面為虛擬機加入 PCI 裝置:
- 位置:硬體 > 新增 > PCI 裝置
- 原始裝置:選取控制器位址
- [v] All Functions
- [v] ROM-Bar
- [v] PCI-Express
補充:PVE 可能使用 systemd-boot 而非 GRUB
較新的 PVE 安裝可能以 systemd-boot 開機,此時 Step 1 改 GRUB 不會生效,需改設定核心命令列。
nano /etc/kernel/cmdline
檢查檔案內是否有以下內容,如果沒有,則直接加在原本內容的尾端。
intel_iommu=on iommu=pt
讓核心參數生效。
proxmox-boot-tool refresh
← 3.2 硬碟直通 · 本章目錄 · 全書目錄 · 3.4 相關參考紀錄 →