--- updated: 2026-09-09 tags: [PVE, 凭据, 家庭实验室, 运维, 虚拟化] --- # PVE 家庭实验室运维手册 > 本文档整合自原 `02-家庭实验室/PVE/` 文件夹内 15 篇笔记(原文件现存于 `99-归档/PVE原始笔记/`,来源映射见文末附录)。 > 覆盖:环境总览、网络与远程开机、PCIe 直通、存储与磁盘、系统维护、核显死机排障、其他虚拟化平台笔记。 --- ## 目录 - [一、环境总览](#一环境总览) - [二、网络配置与远程开机](#二网络配置与远程开机) - [三、PCIe 直通与虚拟机网卡](#三pcie-直通与虚拟机网卡) - [四、存储与磁盘](#四存储与磁盘) - [五、系统与维护](#五系统与维护) - [六、显卡欺骗器与核显检测指令](#六显卡欺骗器与核显检测指令) - [七、排障:一长三短报警与核显死机](#七排障一长三短报警与核显死机) - [八、其他虚拟化平台笔记](#八其他虚拟化平台笔记) - [附录:来源文件映射](#附录来源文件映射) --- ## 一、环境总览 ### 宿主机档案(VUModule) - 主机名/IP:VUModule = **10.10.10.254**(root 免密 SSH) - 品牌:**倍控**(深圳市倍控工控 / BKIPC,官网 https://www.bkipc.com)——与 CWWK/Topton/HUNSN 同源的白牌 ODM - 硬件:Intel Core 3 **N355**(FCBGA-1264 N 系列)迷你主机;AMI BIOS 5.27(2025-03-20,UEFI);单条 Samsung DDR5-4800 16GB;Kingston SNV2S500G;**HDMI 欺骗器常插**(HDMI-A-1) - 系统:pve-manager 9.2.11(Debian 13),厂商 VUM 系统(/usr/.vum、vum-claw、AIfix) - 网络:管理 IP 曾在 10.10.10.50/24、网关 10.10.10.253 段配置 ### 虚拟机清单(6 台,均不用核显) | VM | 用途 | 备注 | |---|---|---| | 100 | iKuai | 主路由,直通 4 网卡 | | 101 | OpenWrt | | | 102 | WireGuard | 1G 内存 | | 103 | Lucky | | | 104 | Centos10 | 6G 内存 | | 105 | HAOS | | - 每日 01:00 `vzdump` 备份到 local - 核显仅服务宿主机显示输出(无直通、无 VF,i915.max_vfs 运行时 = 0) --- ## 二、网络配置与远程开机 ### 2.1 核心原则:牢记「宿主机管理优先」 1. **绝对红线**:PVE 宿主机必须至少保留一个物理网口供自身管理使用(Web 界面、SSH)。**绝不能**将所有物理网口都直通给虚拟机。 2. **直通本质**:直通(PCI Passthrough)是把物理硬件**独占性**分配给虚拟机,宿主机在直通后**无法再访问**该设备。 3. **性能选择**:`VirtIO` > `Intel E1000E` > `Intel E1000`。只要虚拟机系统支持,**永远首选 VirtIO**。 ### 2.2 修改 IP 地址 ```bash nano /etc/network/interfaces nano /etc/hosts ``` ### 2.3 远程开机(WOL) ```bash ethtool enp3s0 # 查看网卡是否支持远程开机 nano /etc/network/interfaces # 修改配置,增加 post-up 开机唤醒 auto lo iface lo inet loopback iface enp3s0 inet manual auto vmbr0 iface vmbr0 inet static address 10.10.10.50/24 gateway 10.10.10.253 bridge-ports enp3s0 bridge-stp off bridge-fd 0 post-up /usr/sbin/ethtool -s enp3s0 wol g # 增加开机 source /etc/network/interfaces.d/* ifreload -a # 重启网络 ethtool enp3s0 | grep Wake-on # 查看是否已是 g ip link show enp3s0 # 查看 mac 地址 ``` ### 2.4 网卡查看与识别方法(直通前必做) - **首选命令**:`ip link show` 或 `ip l` —— `enp3s0`、`enp4s0` 等是物理网卡,`vmbr0` 是虚拟网桥。 - **详细信息**:`lshw -class network` —— 查看网卡型号与系统名称的对应关系。 - **直通后**:已直通的网卡会从 `ip link show` 列表中**消失**(已隔离交给虚拟机独占)。 - **命名规则**:`en` = 以太网;`p3s0` = PCI 总线 3、插槽 0;格式 `enp[bus]s[slot]`。 ### 2.5 单网卡环境解决方案 「PVE 就一个网口,直通给虚拟机后还能管理吗?」——**不能!** 直通唯一网口 = 宿主机「断网」,无法远程管理。方案: 1. **【最强力推荐】添加第二块物理网卡** - 网卡 1 专留给 PVE 宿主机管理;网卡 2 直通给虚拟机(软路由、NAS)。 - 逻辑清晰、性能无损、管理方便。 2. **【最实用】不直通,用 VirtIO 虚拟网卡** - 所有虚拟机用 `VirtIO` 模型网卡桥接到宿主机唯一物理网卡。 - 无需额外硬件、配置简单,千兆/2.5G 场景性能绰绰有余;仅有极小 CPU 开销(现代 CPU 可忽略)。 3. **【高级且不推荐】使用 VLAN** - 借助支持 VLAN 的交换机单网口逻辑隔离。 - 配置复杂、风险高;一旦配置错误或虚拟机崩溃,可能中断宿主机管理通道。 --- ## 三、PCIe 直通与虚拟机网卡 ### 3.1 PCIe 直通详解 - 「PCI-EXPRESS」勾选作用:告诉 PVE 以 **PCIe 总线标准**(而非旧 PCI 标准)传递设备。 - **勾选场景**:直通任何现代硬件(网卡、GPU、USB 控制器)**必须勾选**;仅直通十几年前的老式真 PCI 设备才不需要。 - 性能:直通后虚拟机获得近乎物理机性能,延迟极低,CPU 开销几乎为零。 ### 3.2 Windows 虚拟机网卡选择与 VirtIO 驱动安装 > 场景:宿主机 2.5G 网卡,Win11 虚拟机。选择 `VirtIO` 模型并安装驱动以获得最佳性能。 1. **临时设置(装系统用)**:创建虚拟机时网卡模型先选 `Intel E1000E`(Windows 自带驱动,保证初次安装能上网)。 2. **安装驱动**: - 从 [Fedora 仓库 virtio-win.iso](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso) 下载驱动镜像(备用仓库:[virtio-win pkg-scripts GitHub](https://github.com/virtio-win/virtio-win-pkg-scripts?tab=readme-ov-file))。 - PVE 中把 ISO 挂载给 Windows 虚拟机。 - 进入 Windows 设备管理器 → 找到带感叹号的**以太网控制器** → 右键「更新驱动程序」→「浏览我的电脑以查找驱动程序」→ 选择光驱(如 D:)下的 `NetKVM\w11\amd64` 目录 → 完成安装。 3. **最终切换**: - **关机**虚拟机 → 把网卡模型改回 `VirtIO (paravirtualized)` → 移除驱动 ISO → 启动。 ### 3.3 常见现象解释 - **Win11 虚拟机内显示网络速度 10/10Gbps?** 这是 VirtIO 虚拟链路的**理论最大能力,不是实际测速**。实际速度永远不会超过物理网卡速率(2.5G)。这是驱动正常工作的好现象——如同私人高速公路(VirtIO,限速 10G)出口汇入城市主干道(物理网卡,限速 2.5G)。 ### 3.4 操作流程清单(严格按序避免失误) 1. **【规划】**:物理上确定哪个网口留给 PVE 管理(**绝不能直通**)。 2. **【查看】**:PVE Shell 执行 `ip link show`,**记录所有网口名称**。 3. **【配置管理网】**:编辑 `/etc/network/interfaces`,确保管理网口正确桥接到 `vmbr0`。 4. **【直通】**:Web 界面「添加 → PCI 设备 → 选择设备」,**务必勾选 PCI-Express**,确认并启动。 5. **【装驱动】(如需)**:Windows 虚拟机安装 VirtIO 驱动(见 3.2)。 6. **【验证】**:PVE 中 `ip link show` 确认已直通设备消失;虚拟机内确认设备被正确识别。 > 总结:**先规划,后查看,再配置。保住管理网,直通才无忧。** ### 3.5 参考链接 - virtio-win 驱动:https://github.com/virtio-win/virtio-win-pkg-scripts?tab=readme-ov-file - PVE 装 Windows 11 教程:https://imacos.top/2023/09/07/pve-windows-11/ - 视频教程:https://www.youtube.com/watch?v=mcy_zN6961g - PVE 扩容:https://www.bilibili.com/opus/864995611576893460 --- ## 四、存储与磁盘 ### 4.1 备份文件说明(/var/lib/vz/dump/) | 文件 | 作用 | |---|---| | `xxx.vma.zst` | **最重要的文件**:虚拟机实际备份数据(zstd 压缩),没有它无法恢复 | | `xxx.vma.zst.notes` | 备份附带的备注信息(创建备份任务时填写的说明),恢复非必需 | | `xxx.vma.zst.protected` | 标记文件:该备份「受保护」不会被自动删除,不含数据 | | `xxx.log` | 备份任务日志(成功/失败/错误),恢复非必需但排错有用 | ### 4.2 新增硬盘 #### 方式 A:直接挂载为目录存储 ```bash lsblk # 查看磁盘(如 sda 3.6T) fdisk /dev/sda # 交互:g 建 GPT 表 → n 建分区(回车用满) → w 保存 mkfs.ext4 /dev/sda1 mkdir /mnt/data4t echo "/dev/sda1 /mnt/data4t ext4 defaults 0 2" >> /etc/fstab mount -a df -h | grep data4t # 检查 ``` PVE Web 添加目录存储:**Datacenter → Storage → Add → Directory** - ID:`data4t`;Directory:`/mnt/data4t` - 勾选用途:`Disk image`、`Container`、`ISO image`、`VZDump backup file` #### 方式 B:配置为 LVM-Thin ```bash pvcreate /dev/sda vgcreate vg4t /dev/sda lvcreate -l 100%FREE -T vg4t/data4t-thin ``` PVE Web 添加存储:**Datacenter → Storage → Add → LVM-Thin** - ID:`data4t-thin`;Volume group:`vg4t`;Thin pool:`data4t-thin` #### 卸载 - 目录存储:先在 Web 界面移除挂载目录存储,再卸载并清理分区。 - LVM-Thin:Web 界面 **Storage → 选中 → Remove**,然后: ```bash umount /dev/mapper/vg4t-data4t--thin # 若已挂载 lvremove vg4t/data4t-thin vgremove vg4t pvremove /dev/sda ``` #### 问题集 硬盘通过 Web 不能添加时,可通过指令查看/直接改配置: ```bash cat /etc/pve/storage.cfg ``` ```ini # 默认 local 存储(PVE 系统自带) dir: local path /var/lib/vz content images,backup,rootdir,vztmpl,snippets,import,iso shared 0 # 第一块 4T 硬盘挂载 dir: data4t path /mnt/pve content images,backup,rootdir,vztmpl,snippets,import,iso shared 0 ``` ### 4.3 扩容:GPT + LVM 根分区完整流程 > 适用:磁盘变大但系统只用了很小空间。⚠️ 建议先做快照/备份。 > ⚠️ 必须确认与你的一致,否则改名字:磁盘 `/dev/sda`、分区 `sda3`、VG `pve`、root LV `/dev/pve/root`。 ```bash # 1️⃣ 查看当前状态 lsblk; df -h /; pvs; vgs; lvs # 2️⃣ 修复 GPT 让磁盘识别全部容量 parted /dev/sda < ``` **删除某 node(如 ss)在日志文件夹里的任务:** ```bash # 找到 ss 节点相关的日志文件 grep -Rl "ss:" /var/log/pve/tasks/ # 列出含 ss: 的文件,如 /var/log/pve/tasks/0/12345 rm /var/log/pve/tasks/0/12345 # 逐个删除 rm /var/log/pve/tasks/1/12346 # 清理 index 文件中的记录 nano /var/log/pve/tasks/index # 搜索 ss: 删除对应行 ``` ⚠️ 不要删除其他节点的记录,否则其他节点的任务历史会丢失。 参考:https://forum.proxmox.com/threads/how-to-clear-vm-task-history-log.70615/ ### 5.3 降低功耗 / CPU 调频 参考:https://www.geekxw.top/2794/ **宿主机显示温度/频率**(PVE-manager-status 增强脚本): ```bash (curl -Lf -o /tmp/temp.sh https://raw.githubusercontent.com/a904055262/PVE-manager-status/main/showtempcpufreq.sh || curl -Lf -o /tmp/temp.sh https://gh-proxy.com/https://raw.githubusercontent.com/a904055262/PVE-manager-status/main/showtempcpufreq.sh) && chmod +x /tmp/temp.sh && /tmp/temp.sh remod ``` **重装相关组件(还原修改过的面板文件):** ```bash apt install --reinstall pve-manager=$(dpkg -l pve-manager | tail -n 1 | awk '{print $3}') apt install --reinstall proxmox-widget-toolkit=$(dpkg -l proxmox-widget-toolkit | tail -n 1 | awk '{print $3}') ``` **切换 CPU 节能/性能模式:** ```bash cpupower frequency-set -g powersave # 节能模式 cpupower frequency-set -g performance # 性能模式 ``` **acpi-cpufreq 驱动模式说明:** | 模式 | 说明 | |---|---| | performance | 固定工作在高运行频率,不动态调节 | | userspace | 变频策略交给用户态程序,较灵活 | | powersave | 固定工作在最低运行频率 | | ondemand | 按需快速动态调整:无负载低频,有负载高频 | | conservative | 类似 ondemand,频率升降渐变缓和 | | schedutil | 负载变化回调机制(新机制),经 schedutil sugov_update 调频 | **intel_pstate 驱动:** - performance:最大化 CPU 性能 - powersave:优化能效、平衡性能与功耗;比 acpi-cpufreq powersave 调节器更智能、响应更快;高负载下可能略逊 performance,日常差异通常不明显 安装/查看:`apt install cpufrequtils`、`cpufreq-info` ### 5.4 6.0 认证激活码 ```text HY0XH-D508H-081U8-JA2GH-CCUM2 4C4WK-8KH8L-H85J0-UHCNK-8CKQ8 NV09R-2W007-08D38-CA956-33U28 JU400-6EK4L-080V9-QT8EP-2KAQ2 ``` --- ## 六、显卡欺骗器与核显检测指令 > 显卡欺骗器常插保持显示输出(与 6.0 死机排障相关,见第七章);以下为状态检测命令汇总。 ```bash # 1️⃣ 查看显卡设备(确认型号) lspci | grep -i vga # 2️⃣ 查看 DRM(显示管理接口)设备(列出 HDMI/DP 等接口,如 card1-HDMI-A-1、card1-HDMI-A-2) ls /sys/class/drm/ # 3️⃣ 检查显示接口连接状态 cat /sys/class/drm/card1-HDMI-A-1/status cat /sys/class/drm/card1-HDMI-A-2/status # connected = 有设备(显示器或欺骗器)已连接 # disconnected = 无连接 # 4️⃣ 读取连接设备的 EDID 信息 apt install edid-decode -y edid-decode /sys/class/drm/card1-HDMI-A-2/edid # 查看连接设备的识别信息(假显示器型号与分辨率) # 5️⃣ 查看显卡驱动情况 lspci -k | grep -A 3 VGA # 常见输出 "Kernel driver in use: i915" = Intel 集成显卡已启用驱动 ``` **说明** - `i915` 是 Intel 官方 Linux 驱动,支持硬件视频加速(VA-API)。 - 本机显卡:Intel Alder Lake-N [Intel Graphics],核显为 UHD Graphics(最多 32 EU),性能接近 UHD 605/610。可轻度用于:视频输出/假显示器欺骗、硬件解码 H.264/H.265/VP9(部分型号支持 AV1)、Docker/PVE 虚拟机图形输出(可配合 `intel-media-driver`)。 --- ## 七、排障:一长三短报警与核显死机 > 主机 VUModule(10.10.10.254),记录日期 2026-07-12 / 2026-09-09,**2026-10-13 按实测同步**。与「显卡欺骗器」检测指令关联。 > > ⚠️ 本节已修正两处错误:原 7.5 的「KSM 已禁用 ✅」**不成立**(从来没锁住过)、原 7.8 的「往 `/etc/default/grub` 里 sed」是**已废弃**做法。现行参数与操作口径以工作目录 `CLAUDE.md` §3.3 为准。 ### 7.1 症状(含 2026-09-09 确认细节) 1. **运行期整机瞬死**(用户未操作、凌晨低负载备份时也会发生):日志戛然而止无任何记录(9/9 01:03 备份 VM104 中途),**整个网络全断 = 主机 + 6 台 VM 全死**。 2. 之后按开机键:BIOS **一长三短**,长按关机再开仍报。 3. **蜂鸣时硬盘读取红灯不亮** → BIOS 卡在引导之前(内存/SoC 初始化阶段失败,没轮到读硬盘)。 4. **必须拔市电**(彻底放电)才能正常启动;欺骗器在位时频率从「约每天一次」降到「数月一次」。 5. 发生日期:2026-07-12(Hermes 处理)、2026-09-09(本次)。 ### 7.2 确认的故障模型(为什么换内存/加风扇/换 6A 电源都没用) ``` 运行期硬件挂起(整机瞬死,网络全断) ↓ 待机电路留下"脏电源状态" 下次冷启动 → 内存训练从脏状态开始 → 自检早期失败 → 一长三短 + 硬盘灯不亮 + 必须拔电才能恢复 ``` - **头号嫌疑 = 核显/显示子系统电源状态 bug(DC 省电睡死)**:Hermes 2026-07-12 诊断为 Intel iGPU 电源管理问题;欺骗器(改变显示子系统状态)把频率从每天压到数月;`i915.enable_dc=0` 生效后自 9/9 01:26 稳定运行。 - 已排除:内存条(换过无效)、散热(40℃级 + 自加 2 风扇)、电源(4A→6A 最好电源无效)、负载(凌晨低负载照样犯)。 - 结论:**板级/固件缺陷,属倍控等白牌 N 系列软路由通病**,非个例、非操作问题。 ### 7.3 一长三短蜂鸣的含义 - 该类白牌 AMI 板 1长3短 = 内存未检测/训练失败(ServetheHome 同款 CWWK/Topton 机型多例:拔内存条也报同样声)。 - 蜂鸣在 BIOS 阶段,OS/内核参数管不到;`enable_dc=0` 治的是上游「运行期死机」,不是蜂鸣本身。 - 「硬盘灯不亮」佐证:失败发生在引导设备选择之前。 ### 7.4 关键结论:不是只有这台会这样(通病) 白牌 Intel N 系列软路由(N95/N100/N305/N355,倍控/CWWK/Topton/HUNSN 同源)在 headless + 软路由 + 核显活跃场景下:iGPU DC 省电死机 + 冷启动 1长3短需拔电,均为社区公认问题;个体品控只影响频率。 参考:https://forums.servethehome.com/index.php?threads/cwwk-topton-n95-n100-n200-n305-quad-nic-router-5-bios-error-beeps-and-black-screen-error.40333/ ### 7.5 Hermes 三项改动核实(2026-09-09 记录,2026-10-13 复核修正) | 改动 | 现状 | |---|---| | ① i915.enable_dc=0(iGPU 修复,7/12 08:59 加,备份 grub.bak-20260712) | **✅ 2026-10-06 内核升级后仍在**(三条复查全绿)。注意:参数现在放在 `/etc/default/grub.d/99-i915-enable-dc.cfg`,**不是**主文件 | | ② ~~KSM 禁用(该内核写 KSM sysfs 会宕机)~~ | ❌ **原记录「仍在 ✅」是错的** —— 当时只是把 `run` 置成 0,没有任何持久化;`ksmtuned` 每次开机自启、随时能把它打开。**2026-10-06 才真正用 `systemctl mask ksmtuned` 锁死** | | ③ VM 内存:Centos10 8G→6G、WireGuard 2G→1G | 仍在(104=6144MB、102=1024MB)✅ | ### 7.6 【新增】2026-10-06 内核升级后复核实测 **升级内容**:`apt full-upgrade` 09:44:09–09:44:46,`pve-manager 9.2.20→9.2.21`、内核 `7.0.14-19→7.0.14-20`;10:53 重启(`systemd-reboot` 干净收尾,无 panic / watchdog / Oops),6 台 VM 全部 onboot 自启恢复。 **三条复查全绿**:`/proc/cmdline` 含 `i915.enable_dc=0` ✅ | `/sys/module/i915/parameters/enable_dc` = `0` ✅ | `/sys/kernel/mm/ksm/run` = `0` ✅ **✅ 「正常重启会不会响」也有口径了**:**不会**。本次全程无蜂鸣、无硬盘灯异常。⇒ 蜂鸣只跟着「**运行期瞬死之后的冷启动**」出现,普通 `reboot` / 计划内重启不触发。 #### 7.6.1 为什么固化文件以后不会再丢(证据,不再靠猜) 1. **`grub-mkconfig` 确实会读它**:`/usr/sbin/grub-mkconfig` 第 **163 行**就是 `for x in ${sysconfdir}/default/grub.d/*.cfg ; do` —— 任何一次 `update-grub`(内核 postinst 会触发)都会把 `.cfg` 里的参数重新拼进 `GRUB_CMDLINE_LINUX_DEFAULT`。 2. **`.cfg` 不属于任何 deb 包,升级不碰它**:同目录里的 `proxmox-ve.cfg`(2023-05-03)是 **Proxmox 自己**放的 —— 厂商也在用的正规位置。本次升级后 `.cfg` 的 mtime 仍是 `2026-09-22 14:45:10`,**一动没动**。 3. **会被重写的恰恰是主文件**:`/etc/default/grub` 的 mtime 是 `2026-10-06 09:44:48`(正是升级那一分钟,且**目录与文件 mtime 相同到纳秒** = 文件被**替换**过,不只是被读)。 #### 7.6.2 ⚠️ 更正旧口径:「升级重生成 /etc/default/grub 把参数删了」 **不准确。** 实测该文件现存 5 份副本(`grub.bak-20260712 / -20260719 / -20260909 / -20260922` + 当前)**md5 完全一致**(`ff62eb423b734b0e14ee5c191e3cc4b0`),里面**从来就没有** `enable_dc`;且 `dpkg -S /etc/default/grub` 显示它**不属于任何包**。 ⇒ 当年丢的更可能是**直接写进 `/boot/grub/grub.cfg` 的临时改动**,被 `update-grub` 重新生成时冲掉。**结论不变**(固化路径对「主文件被替换」和「grub.cfg 被重生成」两种机制都免疫),但原因按这条记。 #### 7.6.3 ✅ KSM:原来那句「已禁用」是假的,现已真正锁死 **原状**:`ksmtuned.service` 是 **`enabled` + `active`**(unit 来自 `/usr/lib/systemd/system/ksmtuned.service`,`preset: enabled`)⇒ 每次开机自己起来;`/usr/sbin/ksmtuned` **第 70 行就是 `echo 1 > /sys/kernel/mm/ksm/run`**(它有权打开 KSM);而 `/etc/systemd/system/ksmtuned.service.d/` 不存在、没有 mask、`/etc/ksmtuned.conf` 全是注释无生效设置。 `run=0` **仅仅因为它恰好满足自己的「停 KSM」条件**:`(committed + thres < total) AND (free > thres)`,其中 `thres = total×20%`、`free = MemFree+Buffers+Cached`。 | 量 | 当时实测值 | 触发线 | 余量 | |---|---|---|---| | `free`(脚本口径) | 3666 MB | 3152 MB | **只差 513 MB** | | `committed`(各 qemu `VmRSS` 合计) | 10606 MB | 12610 MB | 只差 2003 MB | ⇒ **宿主内存再紧 513 MB,ksmtuned 就会自己写 `1`。** 6 台 VM 共分配 13 GB、宿主实有 15.7 GB,01:00 备份这类时段轻松吃掉这个余量。 **修复(2026-10-06 11:13 执行并核验)**: ```bash systemctl mask --now ksmtuned # Created symlink '/etc/systemd/system/ksmtuned.service' → '/dev/null' ``` 核验:`is-enabled` = `masked`、`is-active` = `inactive`、`ksm/run` = `0`、`pages_shared` = `0`,手动 `systemctl start ksmtuned` 被拒(`Unit ksmtuned.service is masked.`)。6 台 VM 全 running、内存无变化。 - 为什么用 `mask` 不用 `disable`:`disable` 只摘自启链接,依赖或 `preset` 可能把它拉回来;`mask` 指向 `/dev/null`,连手动启动都拒绝,包升级也扛得住。 - 回滚:`systemctl unmask ksmtuned && systemctl start ksmtuned`(原状 = `enabled` + `active`)。 - 代价:不再做 KSM 内存去重(当前 swap 20GB 占用 0,可接受);将来若加 VM / 内存吃紧需重新评估。 > ⚠️ **新假设(未证实)**:「运行期整机瞬死」的元凶可能不止 i915 DC,**KSM 是共犯甚至主犯** —— KSM 合并页面正是能瞬间搞坏 VM 内存的那类操作。验证办法 = mask 之后观察瞬死是否还犯。 ### 7.7 厂商(倍控)官方 BIOS 更新渠道 - 官网刷写教程:https://www.bkipc.com/cn/new/BIOS-Update.html - **固件需向厂商索取**(官网不直接挂 BIOS 文件):淘宝店铺客服 / 邮箱 info@bkipc.com / 电话 13636923655(陈女士 18659912363) - **索取话术**:报「N355 多网口小主机,BIOS 5.27(2025-03-20)。无显示器/只用欺骗器时:运行中会整机瞬死、重启卡一长三短、必须拔电源。有没有新版 BIOS 修复显示/电源状态问题?请发 bin 固件 + UEFI 引导文件。」 - 刷写要点(官网流程):FAT32 空 U 盘(DISKGenius 格式化)→ 放 UEFI 引导文件 + XXXX.bin → **移除机器上所有硬盘只插 U 盘** → 开机 Del 进 BIOS 选 U 盘启动 → `fs0:` → `dir` → **`fpt -X XXXX.bin`** → 等待自动重启;⚠️ 刷机过程严禁断电 ### 7.8 排查/验证命令(升级后必查三条) ```bash grep enable_dc /proc/cmdline # 应看到 i915.enable_dc=0 cat /sys/module/i915/parameters/enable_dc # 应为 0;若为 -1 说明防护已失效 cat /sys/kernel/mm/ksm/run # 应为 0(ksmtuned 已 mask,正常恒为 0;若变 1 说明有东西绕过 mask) ip route get 10.10.10.253 # 旁路由侧:应仍为 dev br-lan(查 ZeroTier 有没有抢路由) ``` 备份文件:`/etc/default/grub.bak-20260712`、`grub.bak-20260719`、`grub.bak-20260909`、`grub.bak-20260922`(均为无参原始版) ### 7.9 ✅ 重加/回滚方法(2026-10-13 换成正确做法) > ⚠️ 旧版这里的 `sed -i` 直接改 `/etc/default/grub` **已废弃** —— 那是会被升级替换掉的文件,参数放进去迟早丢。 ```bash # 正确做法:写进 grub.d 固化文件(幂等,升级不会碰它) cat > /etc/default/grub.d/99-i915-enable-dc.cfg <<'EOF' GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT i915.enable_dc=0" EOF update-grub # 必须执行,否则文件写了也进不了 grub.cfg # 重启宿主后核对:grep enable_dc /proc/cmdline # 回滚(去掉这个参数) rm /etc/default/grub.d/99-i915-enable-dc.cfg && update-grub ``` ### 7.10 待办(2026-10-13 更新) - [ ] **对照实验(区分核显 bug vs 板级死锁)**:进 BIOS 找「Internal Graphics / 禁用核显 → Disabled」,关掉跑 2–4 周 → 从此不死 = 实锤核显 bug 一劳永逸;无该选项或照死 = 板级问题 → 走倍控售后换机(6 台 VM 都不用核显,可放心关) - [ ] **兜底(主路由刚需,9/9 已确认网全断)**:BIOS 设 Restore on AC Power Loss = Always On + 智能插座 → 远程断电送电 = 远程拔电,半夜犯病不用爬过去 - [ ] 找倍控要新版 BIOS / 谈售后(渠道与话术见 7.7) - [x] ~~PVE 内核升级后复查 `enable_dc`~~ → **已固化到 `/etc/default/grub.d/`,2026-10-06 内核升级实测扛住**;仍建议每次升级后跑一遍「必查三条」(见 7.8) - [x] 2026-09-09 01:26 enable_dc=0 重加重启生效;9/9 10:00 复查:运行时=0,机器稳定 - [x] 2026-10-06 复核:三条全绿、KSM 已 mask(见 7.6) - [ ] **观察 KSM 假设**:mask 掉 ksmtuned 之后「运行期整机瞬死」是否还犯 —— 若几个月不再犯,KSM 就是共犯甚至主犯 - [ ] memtest86+:优先级低(症状 = 运行期挂起而非内存内容错误),想彻底排除可跑 --- ## 八、其他虚拟化平台笔记 ### 8.1 ESXi **准备工作** - 查看主板自带网卡版本原版 esxi 是否支持;不支持则下载对应网卡驱动并注入 esxi(注入教程略)。 - 准备 esxi 镜像文件,导入 ventoy 系统引导盘。 **技巧** 1. 初始配置密码后,后期登录 esxi 修改密码时,只进入修改界面什么都不输入直接退出可将默认密码置空。【已测试 ESXi 6.7】 2. 注意开启 SSH,并设置为随机开启。 3. 容器请开启自动启动。 4. 配置时区。 ### 8.2 VMware Workstation 虚拟机使用宿主机代理 参考:https://blog.csdn.net/weixin_63594197/article/details/138069939 1. 编辑虚拟网络编辑器,使用 NAT 模式【VMnet8】。 2. 检查网关 `192.168.222.2`;宿主机 VMnet8 网卡 IP 必须为 `192.168.222.1`。 3. 虚拟机网络配置选 VMnet8。 4. 配置系统代理(CentOS): ```bash export http_proxy="http://192.168.222.1:23457" export https_proxy="http://192.168.222.1:23457" # 验证 echo $https_proxy # http://192.168.222.1:23457 echo $http_proxy # http://192.168.222.1:23457 ``` --- ## 附录:来源文件映射 | 章节 | 来源文件(现于 `99-归档/PVE原始笔记/`) | |---|---| | 一、环境总览 | PVE一长三短报警与核显死机排障记录.md | | 二、网络配置与远程开机 | PVE.md、PVE 网络与直通核心指南.md | | 三、PCIe 直通与虚拟机网卡 | PVE 网络与直通核心指南.md、PVE直通windows.md | | 四、存储与磁盘 | PVE备份.md、PVE新增硬盘.md、PVE调整硬盘空间.md | | 五、系统与维护 | PVE修改镜像源.md、PVE修改node名称.md、PVE降低功耗.md、6.0认证激活码.md | | 六、显卡欺骗器与核显检测 | PVE-显卡欺骗器与状态检测指令.md | | 七、排障 | PVE一长三短报警与核显死机排障记录.md | | 八、其他虚拟化平台 | ESXI.md、Vmware虚拟机使用宿主机代理.md |