Featured image of post 家里云All in One折腾日记

家里云All in One折腾日记

   
文章摘要
新的一天,有没有变得更好呢……😋

配置以及教程

n100的信息查询

32f7dceac817abdf2ad05f9bf6d57d0

c2e2132ffb6830790675c5c88244557

走前人的路不一定最好,但是一定比较稳

选择的B站教程

文字教程以及交流群

一起玩 NAS!

小陈折腾日记

拆机

​ 没啥难的,没有自带螺丝刀,使用买硬盘送的螺丝刀刚刚好,注意插内存的时候小心就可以了,拆内存把两边扒拉开就行

底部外壳有个拉条,可以把底盖拉开,这个拉条在网口一侧

​ 本来买的8G内存,但是没想到飞牛装了太多媒体应用,就占了7个多G,想了下,干脆七天无理由退了,换根32G的或者16G的

image-20250219180423882

系统选择

由于要使用all in one

根据n100小主机的性能,想先尝试一下pve,期望的效果是软路由+轻NAS+服务器

PVE系统下载

官网地址: https://www.proxmox.com/

官网下载地址: https://www.proxmox.com/en/downloads

这里有一个坑(官网下载多线程会莫名卡死,选择连接数1就可以下载完整文件,速度慢慢稳定在50%带宽速度)

image-20250116130351129

教程操作

  • 将iso写入U盘

  • 装上内存和硬盘

  • 连接上U盘,鼠标,键盘,显示器(我用的电视),最后插上电源

  • 先按住键盘del键,然后点击开机键才能进入bios

  • 设置U盘为第一启动项之后保存(保存在最右边)

  • 安装和视频教程一样

  • 安装完成之后务必先拔U盘,才reboot(否则引导grup概率出问题)

  • 出问题就插U盘进入bios设置第一启动项,重新安装(我装了两次)

一次性脚本

wget -q -O /root/pve_source.tar.gz 'https://bbs.x86pi.cn/file/topic/2023-11-28/file/01ac88d7d2b840cb88c15cb5e19d4305b2.gz' && tar zxvf /root/pve_source.tar.gz && /root/./pve_source

很方便,只要bios设置成功,几乎不会出问题,但是安全性存疑,也不利于熟悉家里云

第一个视频的坑

  • 大部分没有问题,很细致,但是添加no订阅和去除弹窗的命令是冲突的,添加no订阅之后nano /etc/apt/sources.list会多出来一个no订阅的官方连接,自然就慢了,因此不需要让它变绿,只要添加镜像就行
  deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve bookworm pve-no-subscription

image-20250116204029247

image-20250116203926472

飞牛OS核显直通

使用教程失败(已经排查出是BIOS没有开启VT-d)

另寻他法

BIOS设置可以跳到下面核显虚拟直通BIOS设置

我在grup引导绑定了完整的硬件信息

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt iommu.strict=1 vfio-pci.disable_vga=1 video=vesafb:off video=efifb:off initcall_blacklist=sysfb_init"

其他和教程一样

点这里看隐藏内容!

原本的教程:

  1. 修改grub引导启动

nano /etc/default/grub

“quiet intel_iommu=on video=efifb:off”

update-grub

  1. 添加模块

nano /etc/modules

添加如下内容:

vfio vfio_iommu_type1 vfio_pci vfio_virqfd

  1. 增加黑名单

nano /etc/modprobe.d/pve-blacklist.conf

添加如下内容:

blacklist i915 blacklist snd_hda_intel options vfio_iommu_type1 allow_unsafe_interrupts=1

  1. 更新内核

update-initramfs -k all -u

重启:reboot

  1. 修改fnOS虚拟机硬件配置

GPU 选 virtio GPU

添加PCI硬件,选择显卡

关闭并重新启动虚拟机。

全部设置完成之后

检查是否需要进行BIOS设置

检查iommu开启与否
dmesg | grep -e DMAR -e IOMMU

如果输出完整信息就是成功

如果显卡(就是后面是02那个显示被skip,那么说明bios里面没有设置正确)

正常的输出

root@pve:~# dmesg | grep -e DMAR -e IOMMU
[    0.018569] ACPI: DMAR 0x000000006F4F8000 000088 (v02 INTEL  EDK2     00000002      01000013)
[    0.018611] ACPI: Reserving DMAR table memory at [mem 0x6f4f8000-0x6f4f8087]
[    0.034121] DMAR: IOMMU enabled
[    0.078599] DMAR: Host address width 39
[    0.078600] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[    0.078608] DMAR: dmar0: reg_base_addr fed90000 ver 4:0 cap 1c0000c40660462 ecap 29a00f0505e
[    0.078611] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[    0.078615] DMAR: dmar1: reg_base_addr fed91000 ver 5:0 cap d2008c40660462 ecap f050da
[    0.078617] DMAR: RMRR base: 0x00000076000000 end: 0x000000807fffff
[    0.078621] DMAR-IR: IOAPIC id 2 under DRHD base  0xfed91000 IOMMU 1
[    0.078622] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[    0.078623] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[    0.080371] DMAR-IR: Enabled IRQ remapping in x2apic mode
[    0.297428] pci 0000:00:02.0: DMAR: Skip IOMMU disabling for graphics
[    0.375560] DMAR: No ATSR found
[    0.375560] DMAR: No SATC found
[    0.375562] DMAR: IOMMU feature fl1gp_support inconsistent
[    0.375563] DMAR: IOMMU feature pgsel_inv inconsistent
[    0.375563] DMAR: IOMMU feature nwfs inconsistent
[    0.375564] DMAR: IOMMU feature dit inconsistent
[    0.375565] DMAR: IOMMU feature sc_support inconsistent
[    0.375566] DMAR: IOMMU feature dev_iotlb_support inconsistent
[    0.375567] DMAR: dmar0: Using Queued invalidation
[    0.375569] DMAR: dmar1: Using Queued invalidation
[    0.375965] DMAR: Intel(R) Virtualization Technology for Directed I/O
root@pve:~#

直通成功

image-20250117102317599

去除弹窗

逐步执行

sed -i_orig "s/data.status === 'Active'/true/g" /usr/share/pve-manager/js/pvemanagerlib.js
sed -i_orig "s/if (res === null || res === undefined || \!res || res/if(/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
sed -i_orig "s/.data.status.toLowerCase() !== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy

PCI硬件(网口,USB等)直通

i915.max_vfs=4(需要虚拟的核显数目)

sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT/c\GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream i915.enable_guc=3 i915.max_vfs=4"' /etc/default/grub
echo -e "vfio\nvfio_iommu_type1\nvfio_pci\nvfio_virqfd" | tee -a /etc/modules
update-grub
update-initramfs -u -k all
reboot

核显虚拟直通BIOS设置

教程较少

这两个比较直接

看了大量教程

大差不差,有两种方式:

  • 通过开启iommu,添加模块,硬件黑名单更改引导grup
  • intel 12代以上默认支持的SR_IOV(虚拟核显)

暂时没有分割核显的打算,打算直接给飞牛OS使用

开启VT-d

Chipset->SA configuration->VT-d设置为enabled(可能需要先开启advanced设置)

IMG_20250117_095058

IMG_20250117_095048

开启 SR_IOV

Advanced->OEM设置->SR IOV设置为enabled

IMG_20250117_094750

IMG_20250117_094739

轻NAS

​ 使用飞牛OS安装应用完全足够,手机上传文件也很方便

软路由

​ 目前的方案是使用iStoreOS,成功使用了旁路由,但是家里的ipv6还不会设置网关,导致有时候wifi成功科学,而有线设备有时候直连,其次是没有多余网线,用了一根五类百兆网线,日常峰值11m有点不够看,4k拖动也会卡顿

科学插件地址(使用的x86的插件)

mihomo

备份方案

​ 没有更多的资金投入raid阵列和机械硬盘,所以使用onedrive和谷歌相册双端备份吧

连接wifi在学校使用

首先解决访问pve系统的问题

使用网线将笔记本和主机连接,打开控制面板,这个地址控制面板\网络和 Internet\网络和共享中心选择更改适配器选项

image-20250217175929667

右键以太网选择属性

image-20250217180043387

点击ipv4这个选项,将自动获取ip更改为PVE主机的ip地址192.168.10.106前三个网段和PVE主机相同,如此唯一的一个网口只能和小主机组内网了

image-20250217180216984

无线网络

查看无线网卡

ip link

我的是wlo1

  1. 确保 wpasupplicant 已安装:

    apt-get update
    apt-get install wpasupplicant
    
  2. 创建或编辑 /etc/wpa_supplicant/wpa_supplicant.conf 文件,添加 WiFi 配置:

    nano /etc/wpa_supplicant/wpa_supplicant.conf
    
  3. 在文件中添加以下内容:

    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    country=CN
    
    network={
        ssid="WIFI名"
        psk="密码"
    }
    
    network={
        ssid="buaamobile"
        key_mgmt=WPA-EAP
        eap=PEAP
        identity="用户名"
        password="密码"
        phase1="peaplabel=0"
        phase2="auth=MSCHAPV2"
    }
    
  4. 保存并关闭文件。

  5. 启动 wpa_supplicant 服务:

    wpa_supplicant -B -i wlo1 -c /etc/wpa_supplicant/wpa_supplicant.conf
    
  6. 获取 IP 地址:

    dhclient wlo1
    
  7. 检查网络连接状态:

    ip addr show wlo1
    

如果仍然无法连接,请检查以下内容:

  • 确保无线网卡驱动已正确安装。
  • 确保无线网卡硬件开关已打开(如果有)。
  • 查看 dmesgjournalctl -xe 输出,检查是否有相关错误信息。
  1. 此时默认网关仍然是以太网ip route

    root@pve:~# ip route
    default via 192.168.10.1 dev vmbr0 proto kernel onlink 
    192.168.10.0/24 dev vmbr0 proto kernel scope link src 192.168.10.100 
    192.168.135.0/24 dev wlo1 proto kernel scope link src 192.168.135.102 
    root@pve:~# 
    
  2. 需要删除原来的默认网关,使用新的网关

连接网线之后,首先共享网络给pve,访问地址会改变,之后在飞牛SSH单独安装依赖,直通wifi之后单独连接

共享笔记本和pve小主机网络

首先同样修改适配器选项,右键WLAN属性

共享到以太网,此时ip段提示变化到192.168.137.X

image-20250220002146364

需要修改pve的访问ip 从192.168.10.100:8006改成192.168.137.100:8006

同时进入pve的shell修改文件

nano /etc/network/interfaces

不是自动桥接就手动改成需要的ip段(对于这个网口)

auto vmbr0
iface vmbr0 inet static
        address 192.168.137.100/24
        gateway 192.168.137.1
        bridge-ports enp3s0 wlo1
        bridge-stp off
        bridge-fd 0

现在pve就有网了

点进飞牛系统控制台,由于我直通了两个网口给他

可以看到新的访问地址192.168.137.7:5666

image-20250220002810781

将这个网口设置默认网关就可以联网使用

image

飞牛作为宿主机

飞牛OS支持了虚拟机,相比PVE,我还是更喜欢国产汉化系统

功能都已经非常完善了,缺陷是启动时间比较长,需要耐心等待

已经设置来电自启,目前唯一的麻烦是迁移。

设置来电自启

win精简包一键导入懒人包

飞牛开启iommu

飞牛更换ip

Emby开心版

win10安装

驱动安装

(终端reboot之后无法自动重启)(gpu直通存在问题,开启iommu宿主机就无法使用GPU)

串流相关:

虚拟GPU还存在问题,等待完善。

sunshine

阿西西修改版moonlight

tailscale

汉化版本pasec-vdd

IStoreOS相关

一般作为旁路由给手机使用(电脑不适合,因为设置了很多代理)

安装openclash手动上传内核后需要重启istoreOS

迁移时进入VNC,命令是quickstart修改访问ip

istoreOS地址

Passwall运行包地址

openclash地址

旁路由详细新手教程(旁路由设置教程) - 路由器

synthing同步

视频教程

设置开机自启

syncthing官方提供了两种方案,第一种是把syncthing添加到windows系统服务(比较麻烦),第二种是通过把快捷方式添加到启动目录(有bug,–no-console参数在windows下无效)

第一步:下载文件 & 解压

从synchting官方下载windows版本的压缩包,解压到本地目录,我把它解压到D:\Program Files\Syncthing目录。

第二步:创建脚本

在syncthing的安装目录下新建一个bat文件,录入以下内容后保存。

@echo off
 
if "%1"=="h" goto begin
 
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
 
:begin
 
cd /d D:\Program Files\Syncthing && syncthing.exe serve --no-browser --no-restart --logflags=0

注意bat脚本中最后一行中的文件路径D:\Program Files\Syncthing要根据自己的实际情况调整。

第三步:创建快捷方式

将上一步中创建的bat脚本创建快捷方式。

然后在地址栏中访问%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup,或者用win+r呼出运行窗口以后输入shell:startup,打开widows启动目录。

最后把bat脚本的快捷方式粘贴到这个启动目录即可。

好了,到这里就完成了syncthing在windows系统下的开机自启 & 后台运行了,开机的时候cmd窗口会一闪而过,但syncthing的进程依然在后台运行。

官方方案bug的修复

官方方案提到的第二种方式,创建一个快捷方式并在快捷方式中添加--no-console --no-browser参数,我实测在windows10下--no-console参数是无效的,但可以通过修改设置来实现。

在自己创建的快捷方式上右键——属性——选项,勾选使用旧版控制台,然后重启系统即可。

image-20250706173026744

CC BY-NC-SA 4.0 创意的非商业派对入场券
最后更新于 2025-07-17 19:45
晚来天欲雪,能饮一杯无