都说UNRAID虚拟机系统好用,N100小主机安装UNRAID尝个鲜

上几周说过发现我的All in one小主机固态硬盘出了0E故障报警,查了一下这个报警还挺严重,需要换盘。

系统备份迁移工作量不小,但这段时间一直忙于注册考试,没时间搞,现在考完了,开干。

就是这个凌态256G的m.2固态,联系商家客服,让拆机重装试试,好吧,拆了擦金手指再装好,问题依旧,截图给他,给地址寄回更换。

微信图片_20250521093214.png

在寄回之前,硬盘上的数据要清空,这个系统盘装的PVE系统带了三个虚拟机,组成了我的All in one所有家当,其中一个飞牛一个ubuntu server都是我这段时间折腾的重要成果。

之前也对PVE底层和每个虚拟机进行了详细的数据备份。但是我还是不放心。我想了想,决定先装好替代系统,恢复一下看看,没问题再擦除固态盘的数据。

小主机除了这个固态系统盘,还有一个2.5存SSD,之前是作为飞牛应用数据存储空间的,另外还有一个五盘位硬盘盒带了5块机械硬盘,做的飞牛NAS存储。

为了不破坏现有的硬盘数据结构,我想到了UNRAID系统

这是一个装在U盘上的虚拟机系统,和PVE,EXsi一起,被称为NAS玩家虚拟机三剑客。

我当时All in one底层系统没选它,一个重要原因就是它是装在U盘上运行的,我总觉得底层系统这样重要的东西,用U盘外挂的方式运行不太稳当。

然而这个时候这却成了它的亮点,我不需要破坏其他硬盘数据,直接U盘安装,不就可以挂载我原来的数据了吗?

好,开始找系统,UNRAID是一个付费系统,我在确定它好用之前,还不打算付费,我决定先安装开心版。

发现很多人说网上流传的开心版被内置了挖矿程序,大家在玩NAS刷机下载安装这些自制系统的时候,也要多注意,尽量选择靠谱的来源,另外系统装好运行过程中,也要注意检测系统负载,避免给人当矿机。

我最后选择了Tank的Unraid7.0.0开心版,有网站有淘宝店铺,声称没有马,且信他一次吧。

微信图片_20250521100629.png

UNRAID准备和安装

网站提供了很多个版本,有的是原版只开心未集成其他东西的,有的是有中文和常用插件集成的,我下了好几个版本,都试了下,最后装的7.0.0开心无集成的版本,毕竟自己动手才能了解更多,也才更有乐趣嘛。

Tank提供的Unraid包,安装非常方便,准备一个1个好点的闲置U盘,杂牌的可能没有GUID。插入电脑,执行快速格式化,格式化为FAT32格式,卷标名称写UNRAID

微信图片_20250521103642.png

然后解压下载的压缩包。

微信图片_20250521101857.png

右键管理员运行UnraidTool.exe,确认一下识别的盘符是你要装系统的U盘,Flash GUID那里,如果有多行,删掉后面全是0000的哪些,保留最上面一行。点【2.注册KEY】。

微信图片_20250521102414.png

有个确认框,点确定,然后提示在/config文件夹下生成了一个BTRS.key,去确认一下,这就是开心文件,有的话就OK了。

微信图片_20250521103347.png

把所有文件复制到U盘(那几个快捷方式链接文件可以不拷),插到小主机上,开机狂按小键盘Del进入BIOS,设置第一启动顺序为U盘保存退出,启动系统。

启动界面有几个选项,第一次启动,估计有不少需要初始化设置的内容,手快选带GUI也就是可视化界面的。毕竟比命令行方便直观也好操作一些。由于我是物理机安装,无法截屏,这里就不展示启动界面了。


Rtl8111/8168网卡驱动

进去系统过程中,看到有滚动命令行显示device“eth0” dose not exist,顿感大事不妙,果然不出意外,鬼见愁的螃蟹Rtl8111/8168古董级网卡获取不到网址,网卡不识别。

输入命令:

1
ls -a /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/realtek

列出系统驱动文件,发现是这两个:

1
8139too.ko.xz  r8169.ko.xz

果然没有r8168驱动。

之前装PVE就是这个网卡驱动折腾了好久。因为连不了网,连最简单的编译驱动都做不到,尝试RealTek官网下载驱动包,手动编译,但是原始系统环境不是缺这就是缺那,只能找系统对应版本编译好的驱动用U盘拷过来替换。

幸好网上有热心的人一直在跟踪UNRAID版本编译这些老旧网卡驱动,地址贴上:

Releases · jinlife/unraid-r8125-r8152-driver

有同样需求的可以去看看,这里有个坑需要注意:一定要下载和当前UNRAID内核对应的网卡驱动,我原本装的UNRAID6.12.13开心版,就去下的Releases对应的6.12.13-unraid,结果还是一直装不上,以至于我怀疑是系统包有问题,才又下的UNRAID7.0.0开心版。

以下是手动安装预编译的 r8168.ko.xz 驱动文件的详细步骤:


1. 准备工作

(1) 确认驱动兼容性

  • 检查预编译的 r8168.ko.xz 文件是否与当前 Unraid 内核版本完全匹配。
  • 在 Unraid 终端输入以下命令查看内核版本:
1
uname -r

我这个UNRAID7.0.0开心版内核对应的是:

1
6.6.68-Unraid
  • 根据这个版本下载对应的编译好的驱动。

微信图片_20250521110252.png

下载之后解压,在解压的文件夹lib\modules\6.6.68-Unraid\kernel\drivers\net\ethernet\realtek路径下有一个r8168.ko.xz文件,就是编译好的对应版本的驱动了。

(2) 将驱动文件传输到 Unraid

  • 将下载的 r8168.ko 文件通过 U 盘拷贝到 Unraid 的 /boot/extra 目录(据说重启时系统可以从这里加载驱动,并且拷到系统U盘之后,后面重启有问题就不再需要一直另外挂载u盘拷了)。
  • U盘挂载前面发文章讲过,这里就不再讲了,拷贝示例操作:
1
2
mkdir /boot/extra
cp /path/to/r8168.ko.xz /boot/extra/

其中/path/to改成挂载后的U盘存放驱动文件的路径。


2. 替换驱动文件

(1) 备份旧驱动(可选但强烈建议)

1
2
3
4
5
6
7
8
9
# 进入内核驱动目录(路径中的内核版本需替换为你的实际版本)
cd /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/realtek

# 备份原有驱动
cp r8169.ko.xz r8169.ko.xz.bak
cp 8139too.ko.xz 8139too.ko.xz.bak

# 删除原有驱动
rm 8139too.ko.xz r8169.ko.xz

(2) 替换为新驱动

1
2
3
4
5
# 将预编译的驱动复制到目标目录
cp /boot/r8168.ko.xz /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/realtek

# 修复文件权限(确保驱动可被加载)
chmod 644 /lib/modules/$(uname -r)/kernel/drivers/net/r8168.ko.xz

3. 更新驱动配置

(1) 更新内核模块依赖

1
depmod -a  # 重新生成模块依赖关系

(2) 禁用旧驱动(如果存在冲突)

  • 如果系统默认使用 r8169 驱动,需要将其加入黑名单:
1
echo "blacklist r8169" > /etc/modprobe.d/blacklist-r8169.conf

(3) 加载新驱动

1
2
3
4
5
# 卸载旧驱动(如果已加载)
rmmod r8169 2>/dev/null # 忽略未加载时的错误

# 加载新驱动
modprobe r8168

4. 验证驱动状态

(1) 检查驱动是否加载

1
lsmod | grep r8168  # 应显示类似 "r8168 123456 0"

(2) 查看网卡是否识别

1
2
ip link show  # 检查是否有 eth0 或其他网络接口(如 enp0s3)
dmesg | grep r8168 # 查看内核日志中的驱动加载信息

大功告成

以上操作如果没有问题,网卡驱动就正常了,在GUI界面SETTINGS-NETWORK里,可以看到网卡Mac地址,手动选择一下IPv4+IPv6,下面更新一下,就能获取到网址了,可以上网就方便了,可以在另外电脑上登录WebUI界面了。

微信图片_20250521130455.png

登入成功,进入【APP】,添加中文界面语言支持,转成中文就好认多啦。看起来还不错。

微信图片_20250521130952.png

后面尝试在UNRAID里挂载PVE虚拟机备份文件。如果能行的话,就把之前PVE的All in one 三个虚拟机平移过来,这段时间就来体验一下UNRAID,看看和PVE比哪个更好用。