用倍控 N100 主板构造 All in One 主机

用倍控 N100 主板构造 All in One 主机
丁俊尧起因
2025-06-14 夜晚,窗外雷声不断。直到我无论如何都连不上自己的 NAS,我才打开了弱电箱。
之前出现过两次 NAS 无征兆死机的情况,重启后正常。但是这次,我重启后,发现它的风扇断断续续地转,然后自动重启。循环几次后,彻底开不了机了。
第二天,我拿着它去了电脑城,经检查发现,电源和主板都损坏了。本来这种东西都是二手的蜗牛星际主机改装的,维修还不如换新;并且刚好就要到 618 了,我正好也想趁此“机会”给 NAS 升级换代,机箱留下,其他的换掉。
顺便说一下,之前的主板是海尔 KJ5116,对应的 CPU 是英特尔 J3160。
选型与组装
经过简单的对比,结合自身的实际需求,我决定给它上 N100 处理器的主板,这样可以兼顾性能和能耗,硬解支持也不错。
鉴于自己做 NAS 的需求,我一开始希望主板的规格如下:
- Mini ITX 尺寸
- 多一些 SATA 接口(最好有 4 个)
- 有 USB 3.0 的接口用来外接 U 盘、移动硬盘这样的设备,快速拷贝文件
- 能够接 NVMe 硬盘(能利用闲置硬盘)
- 不需要太多网口(自己本来就有路由器)
- DC 供电(以后配 UPS 方便)
- 可以装黑群晖(此前的 NAS 就是群晖系统的,我一直想迁移到飞牛 OS,但是当时创建存储池时,就算 RAID 类型选 Basic 类型,也没法在别的系统中读写,故想要迁移还要把硬盘放黑群晖上,再备一块大硬盘来临时放数据)
但是我稍微看了一下网上在售的 N100 小主板,最符合条件的基本上都是多网口的,而我本来也不需要那么多网口。稍微找了一下网口少一点的,价格都到八百多了。而且,DC 供电的主板不多,能找到的在其他方面不符合要求,所以这两个要求后来就去掉了——最重要的是,考虑到要挂四块大容量的机械盘,担心 DC 供电不稳定。
最终,我选择了倍控 1264 主板,闲鱼上花了 678.97 元。
这块主板自带散热器,但是需要 DDR5 4800MHz 的笔记本内存。因此,我还在闲鱼上买了内存条和电源:
- 内存条:Ramaxel DDR5 12GB 4800,106 元
- 电源:FLEX 1U 规格,250W,49 元
内存条的商家一直没发货,我催了三天才发货,因此直到 6 月 22 日,收到内存条后,我才得以组装机器。
组装过程并没有什么特殊的注意事项。中途安装 NVMe 硬盘时发现没有导热胶条,所以跑到电脑城买了一条,花了 5 块钱。
另外,装机的时候,我发现主板上有一个 USB 接口,想着利用它,从这里插 U 盘引导黑群晖;但是我目前有的 U 盘都太大了,受限于硬盘笼的结构,没法插上去,于是买了块尺寸非常小的 U 盘,花了 11.67 元。
硬要说有什么困难,那就是硬盘笼最上面的 SATA 接口的塑料件连接不牢易脱落了。好在结构上没什么损坏,只要插上去就能用。
这块主板默认上电自启,而且 BIOS 里面不能关闭,要用硬件跳线关闭。因为我就是要上电自启,所以不用管这方面。
安装 Windows 11
我并没有急着装黑群晖,因为实际上我还没想好安装方式——物理机安装,还是虚拟机?虚拟机用哪个平台?
在想好之前,我先安装 Windows 11,运行一些测试软件,简单测试性能。
进入 OOBE 后,我才发现,网卡要另外装驱动。不知道怎么回事,这次居然能够安装过去,没有要求登录微软账号。因此,安装完毕,也没法联网安装核显驱动,一直使用基础的显示驱动。
查了官方介绍,它的网卡是 Intel i226。从别的电脑下载驱动,安装后,就能够通过 Windows 更新安装核显驱动,显示正常了。
但是这时又有一个问题:没有声音。查设备管理器,发现有未知的“多媒体音频控制器”设备。
经查找,发现是 Alder Lake-N PCH High Definition Audio Controller。但是我想方设法也没法单独安装它的驱动,最后无奈求助于驱动精灵,才发现是 Intel SST 的问题。
从驱动精灵下载太慢了,我就在网上找驱动。英特尔并未提供这个驱动,不过其他电脑厂商有。我下载了联想的 ISST 驱动,原先因为它会检查主板厂商而拒绝运行,没想到能够安装,而且安装完毕后确实解决问题了。
花屏
时间精力原因,我并没有做全面完整的硬件测试。比较顺利的就一个 CPU-Z 里面的基准测试了:单线程 320.1 分,多线程 1219.3 分,多线程倍率 3.81。
之后我还想测 Cinebench。到这里我才发现一个非常大的问题:测试过程中会突然花屏,无法进行任何操作,只能重启。
实际上花屏的问题,不测试的时候也偶尔会出现;但是跑 Cinebench 时,必定会花屏。
我起初以为是过热,于是监测硬件状态。但是我发现在花屏前,没有硬件上的异样。后来查找资料,发现很可能是内存问题。我手头就一块刚买的 DDR5 内存条,没法换别的内存条测试,只好用 memtest86+ 测试,结果正常。
我询问 Deepseek,彻底重新安装了核显驱动,也无济于事。处理器诊断工具也未发现异常。
这里插一句:千万不要随便开 BIOS 里面的看门狗相关的配置,否则电脑会无限重启。好在这块主板清空 CMOS 很方便,按背板的按钮就行了。
无奈,我想把主板寄回到卖家。卖家说大概率是内存问题,但我没有可替换的内存条,所以让我先把系统装到 NVMe 硬盘上看,仍然会花屏。于是我就把主板寄了过去,花费运费 11.5 元。
卖家复现了我的问题,不过换了一根内存条后,就正常了。我也不知道为什么原先那根能通过测试的内存条就不行,估计是不兼容吧。我找了同款,价格比卖家报价低一点,于是我就购买了卖家测试用的同款内存条:枭鲸 笔记本 DDR5 16GB 4800MHz 内存条,花了 209 元。之所以选 16 GB,是因为我能买到最小的就 16 GB 了。
寄回来后换内存条再测试,就没有花屏的问题了。测试结果:多核 156 分,单核 58 分,多核倍率 2.7。
黑群晖测试
此时我还是纠结是直接装黑群晖,还是安装虚拟机系统。反正 U 盘已经到货了,就拿它装黑群晖的引导吧。
我用的是 GXNAS 提供的引导,使用 SA6400 机型的引导。根据买二手 NAS 时,引导 U 盘里面的 SN、MAC,改 user-config.yml
。然后把 U 盘插到主板上的接口就行了。
此后的过程没什么好说的,网上都能找到教程,而且绝大多数都是图形化的界面。
但是一定要注意删除数据的提示。我原本以为它说的“磁盘 1”指的是自己的 SATA 硬盘,就把它们都弹了出来。结果它删除的是 NVMe 硬盘的全部数据。当时我的 NVMe 硬盘里面还装了自己往期的视频成品文件,担心上次雷击导致原始数据损失(目前为止 NAS 的硬盘数据都是生死未卜),就留着这些文件。谁料想,居然是这一步误删了。这一步群晖没有说硬盘 1 的详细信息,让用户分辨是否要删除数据,是一个优化项。
好在后来那些大硬盘里面的数据没事,恢复挂载也很方便。
至于系统,使用没什么问题,硬解、相册没有问题。
安装 PVE
这时,我决定装虚拟机,将这台 NAS 搞成 All in One(AIO)的设备,利用主板上的四个网口,同时负责路由器和 NAS,并且能够开多个其他虚拟机。这样一来,就不需要再开一台路由器了。
在此之前,家里的网络图如下:
我用的虚拟机管理系统是 Proxmox VE(PVE),开源,据说对核显虚拟化支持比较好。
主板上的四个网口从左到右的编号为 0、1、2、3,我们选择 0 号口为管理口:
安装时要注意,默认情况下它需要清空一整块硬盘,同样也不好看出来硬盘信息。为了不误伤其他硬盘的数据,需要临时弹出。
有一点需要吐槽:在 4K 屏幕上,安装界面的字太小了,根本看不清。
安装软路由
安装好 PVE 后,首先安装的就是基于 OpenWRT 的 iStore OS。官方详细介绍了它在 PVE 上的安装步骤。我将它作为主路由,但是没有像教程里面添加虚拟网络设备,而是添加对应的 PCI 设备。
接下来算是非常麻烦且凶险的环节了,因为涉及到网段的变化,加上软路由在虚拟机中,很容易导致主机失联。我找到了一个写得比较详细的资料,参考此方法尝试。
此前我启动 iStore OS 后改过网段,但是那是在连着此前的路由器的情况下才改的(那个路由器的网段是 192.168.100.0,和 iStore OS 默认的冲突了)。要做成主路由,肯定要让它直接连接光猫的。而光猫路由的网段是 192.168.1.0,PVE 设置为静态 IP 192.168.100.2,切换网络后是连不上 PVE 的。
我先去掉软路由,让光猫直连充当 AP 和交换机的路由器,PVE 的管理接口也连它:
查阅资料后,我算是搞懂了要改哪些地方:
/etc/network/interfaces
,改 IP、子网掩码、默认网关:1
2
3
4iface vmbr0 inet static
address 192.168.1.XXX
netmask 255.255.255.0
gateway 192.168.1.1/etc/hosts
,改pve.lan
映射的 IP 地址:1
192.168.1.XXX pve.lan pve
上面的 XXX 是当时某个没使用的地址。原文还提到改 /etc/issue
,但那只是启动时的提示信息,不影响实际功能。
然而我发现,重启后,仍然连接不上 PVE 的网页端,SSH 倒是能够访问。
参照 https://blog.csdn.net/u011781521/article/details/135926563 和 https://www.liujason.com/article/565.html 的方案,我试图重启服务:
1 | systemctl restart pveproxy pvedaemon |
排查出来一个问题:
1 | journalctl -xeu pve-cluster.service |
1 | Jun 30 13:18:01 ding-pve pmxcfs[2698]: [main] crit: Unable to resolve node name 'ding-pve' to a non-loopback IP address - missing entry in '/etc/hosts' or DNS? |
原来是之前修改 hosts
文件时,按键粘滞导致输入错误。修改后就能访问了。
确认 PVE 和 iStore OS 配置正确后,我开始照教程更改节点的 vmbr0
网络的属性:
- IPv4:
192.168.100.2/24
- 网关(IPv4):
192.168.100.1
保存并应用后,就不能通过现有的方式连接机器了。此时切换连接,将电脑连到 AIO 主机的其他任何一个接口(我选择接口 1):
大约过了十分钟,我才成功连接到 iStore OS 上。此时在网口设置里面,把 eth0 设为 LAN 口,找一个口设为 WAN 口(我选择 eth3,对应最右边的接口):
然后切换连接,光猫连接 AIO 刚才设置的 WAN 口,AIO 的 LAN 口连到充当 AP 和交换机的路由器,这个路由器连到电脑上:
之后就可以正常设置软路由,使其能够联网了。
此时,如果你想在 PVE 安装软件包,可能会发现连不了网。经检查,发现是网关和 DNS 未改。改了之后就正常了。
安装黑群晖
相比于前面的软路由,黑群晖的安装真的简单。参照 GXNAS 的教程就完事了。至于怎么把现有的硬盘给黑群晖的虚拟机,有两种方式:
如果可以的话,我推荐后者。不过我想把一些磁盘另作他用,所以还是选择了前者。
首先查看 PVE 连接的硬盘:
1 | ls -l /dev/disk/by-id/ |
1 | lrwxrwxrwx 1 root root 9 Jul 2 23:16 ata-HUH728080ALE601_VLH2TX4Y -> ../../sdb |
需要关注不带编号的硬件。记下前面的全称,如 ata-HUH728080ALE601_VLH2TX4Y
。
要把对应的硬盘映射给虚拟机,执行下面的命令:
1 | qm set 虚拟机编号 --sata通道ID /dev/disk/by-id/硬盘全称 |
如:
1 | qm set 101 --sata2 /dev/disk/by-id/ata-HUH728080ALE601_VLH2TX4Y |
就是把 ata-HUH728080ALE601_VLH2TX4Y
硬盘映射给编号为 101 的虚拟机的 SATA 2 通道上。
至此,网络图如下:
核显共享
这个是重头戏。
我另外安装了 Windows 11,随即开始测试核显共享。对于 N100,使用 SR-IOV 共享其核显。过于复杂,我就省去中间查阅大量资料和遇到的问题的过程吧。
安装 GitHub 上的 strongtz/i915-sriov-dkms 可以开启 SR-IOV,这个项目也详细写明了安装过程。
在 PVE 上安装
不要直接复制粘贴代码,其中一些变量要根据实际情况修改。
安装构建工具:
1
apt install build-* dkms
安装头文件(版本号要根据系统的 Linux 版本来,可以通过
uname -r
查看):1
apt install proxmox-headers-6.X proxmox-kernel-6.X
下载 deb 包(这一步还请到项目主页查看最新的链接):
1
wget -O /tmp/i915-sriov-dkms_XXXXX_amd64.deb "https://github.com/strongtz/i915-sriov-dkms/releases/download/XXXXX/i915-sriov-dkms_XXXXX_amd64.deb"
安装 deb 包:
1
dpkg -i /tmp/i915-sriov-dkms_XXXXX_amd64.deb
编辑
/etc/default/grub
,修改GRUB_CMDLINE_LINUX_DEFAULT
字段,添加:1
intel_iommu=on i915.enable_guc=3 i915.max_vfs=X module_blacklist=xe
其中 i915.max_vfs 的值表示要拆分成多少个虚拟 GPU。我设置的是 3。
更新 grub 和 initramfs:
1
2update-grub
update-initramfs -u编辑
/etc/sysfs.conf
,添加一行:1
devices/pci0000:00/0000:00:02.0/sriov_numvfs = X
值和第五步设置的值一样。注意前面核显的 PCI 地址,虽然一般来说不会有错,但是还是检查一下是不是
00:02.0
:1
lspci | grep VGA
1
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics]
重启。
之后在 PVE 中,可以通过 lspci | grep VGA
查看是否有虚拟 GPU 了:
1 | 00:02.0 VGA compatible controller: Intel Corporation Alder Lake-N [UHD Graphics] |
分配虚拟 GPU
之后,在虚拟机硬件设置中,可以把对应的 PCI 设备分配给虚拟机。一定不能分配 00:02.0
这个主 GPU,否则会导致系统崩溃。而且,如果你想直通核显,要把上面的流程都逆向一遍,然后才能继续。
至于其他的一些选项,各个教程的说法不一致,一些教程甚至要求修改虚拟机配置文件,我也没法给出答案。反正我是勾选上了“主 GPU”和 “ROM-Bar”,修改不修改虚拟机配置文件似乎没什么影响。
对于黑群晖,分配好了就能用,硬解正常;对于 Windows 11,要等待安装好核显驱动。而且此后如果想要使用核显,只能通过 RDP(需设置组策略)、RustDesk 等方式,在 PVE 里面就算设置显示器,也用不了核显来硬件加速。所以要在使用前提前配置好。
但是我发现了一个非常恶性的问题:黑群晖和 Windows 11 在分配了虚拟核显后,只能启动一个,无法同时运行,其中一个运行必定会导致另一个被关闭,有时候还会导致宿主机崩溃重启。我至今也没有找到问题原因和解决方案。
Linux 虚拟机的额外安装过程
为了排查上述问题的原因,我新开了个 Debian 的虚拟机。然后我才发现,Linux 虚拟机也要照之前给的那个项目的文档进行配置。而且,对于 Debian,卡在了安装 linux-modules-extra-XXX
(XXX
是版本号)上。因为这只是验证,我就换成了已经经过作者验证的 Ubuntu。
安装构建工具:
1
apt install build-* dkms linux-headers-$(uname -r) linux-modules-extra-$(uname -r)
下载安装
deb
包(同样到项目主页查看最新的链接):1
2wget -O /tmp/i915-sriov-dkms_XXXXX_amd64.deb "https://github.com/strongtz/i915-sriov-dkms/releases/download/XXXXX/i915-sriov-dkms_XXXXX_amd64.deb"
dpkg -i /tmp/i915-sriov-dkms_XXXXX_amd64.deb注意,PVE 虚拟机默认开启了安全启动,所以安装过程会提示设置密码,下一次重启要输密码(只需要输一次)。
编辑
/etc/default/grub
,修改GRUB_CMDLINE_LINUX_DEFAULT
字段,添加:1
i915.enable_guc=3 module_blacklist=xe
更新 grub 和 initramfs:
1
2update-grub
update-initramfs -u重启,输密码。
之后可以通过 dmesg | grep i915
看虚拟 GPU 是否被内核识别,也可以通过 vainfo
查看是否能够硬解。
查看是否硬解
可以在 PVE 上安装 intel-gpu-tools
,使用其中的 intel_gpu_top
命令查看核显运行情况。
直接执行 intel_gpu_top
命令可能会报错:
1 | Failed to detect engines! (No such file or directory) |
这时可以定义设备:
1 | intel_gpu_top -d sys:/sys/devices/pci0000:00/0000:00:02.0 |
就能够查看了。
如图所示就是 Jellyfin 使用硬解的情况。
我在黑群晖和 Ubuntu 上都分配了虚拟核显,安装了 Jellyfin,并设置了硬解。发现它们能够同时运行,但不稳定,Render/3D 部分可能会爆满,然后整个机器崩溃。估计 N100 这样的小身板,不太能够承受重一点的硬解任务吧。
至于为什么 Windows 11 和黑群晖的虚拟核显不能共存,我还是不得而知。谁成功实现了可以告诉我一下,这对我还是比较重要的:我希望能够在后台用 Windows 11 跑一些要用到核显的任务(比如做 POV 的谷歌地球地图轨迹录制:虽然 Ubuntu 也能安装,但是对应的覆盖层加载器 geos 似乎只支持 Windows,原作者已不更新,我也无暇更改)。
总结
此后我还安装了 Home Assistant OS。不过 16 GB 的内存也基本上到极限了。可惜 CPU 支持的最大内存容量就是 16 GB,也没有扩展的空间了。
到这里就算完成了,我就放心地把它放到弱电箱了。
说实话我觉得很奇怪,PVE 里面的内存占用率远高于虚拟机里面显示的。网上说是因为有硬件直通,但是再怎么样也不应该差这么多吧。
作为 24 小时运行的设备,我也在意它的能耗。我接了三块机械盘,除了刚配置好那段时间能耗大,其余时间,待机能耗在 40 W 左右,峰值也很少在 50 W 以上。虽然不如以前的 NAS 节能,但是考虑到这是台 AIO 设备,同时包含了以前软路由的功能,也能说得过去。
这次总计花费 1071.14 元(买多的配件也记在内),说实话有点多。但毕竟这是台 AIO 的设备,把换下来的软路由卖二手的话,还是可以的。
搞完这些,已经是 7 月 2 日了。第二天过生日,我自己也是好好地犒劳了自己。