收起左侧

hp gen8 将grub安装到u盘引导飞牛,不再担心插拔硬盘改变无法引导

7
回复
3512
查看
[ 复制链接 ]

2

主题

5

回帖

0

牛值

江湖小虾

2025-4-21 21:32:24 显示全部楼层 阅读模式

安装飞牛到sata5,过程不再赘述

准备一个空u盘,因为需要格式化。插入想作为引导的U盘

安装好系统到sata5后,重新启动gen8,使用supergrub2进入飞牛OS

我这里使用的ventoy启动的supergrub2

图片.png

进入supergrub2后选择“boot manually"

图片.png
选择linux

图片.png

会搜索到刚刚装好的飞牛OS,启动系统

图片.png

连接好网线做好飞牛的初始化,记录好配置的用户名和密码,为后续进入飞牛后台使用。

登录飞牛管理界面后点击系统设置,选择SSH并启用

图片.png

使用ssh工具登录fnos后台,然后切换到root用户

我初始化时候的名字是whome 所以先用whome这个名字登录,然后使用sudo命令切换到root用户。

whome@homenas:/$ sudo su -
[sudo] password for whome:    #这里输入whome的密码 
root@homenas:~#     #whome变为root即切换成功

图片.png

root@homenas:~# lsblk   查看u盘的盘符方便格式化

经过确认sdf是我的u盘,后面所有的sdf都需要按照你实际情况修改盘符

图片.png

接下来对u盘进行操作

因为u盘被挂载了所以需要卸载,然后格式化优盘

umount /vol00/Cruzer_Fit   #卸载U盘,路径需要按具体情况填写
parted /dev/sdf mklabel msdos  #创建磁盘分区表
parted /dev/sdf mkpart primary fat32 1M 1024M   #创建磁盘分区
mkfs.fat -F32 /dev/sdf1   #格式化分区

图片.png

挂载u盘到mnt下,并安装grub

mount /dev/sdf1 /mnt
grub-install /dev/sdf --root-directory=/mnt

图片.png

接下来需要将刚创建好的grub分区激活,否则还是无法自动引导

fdisk /dev/sdf

图片.png

把 SATA5 上的 /boot/grub/grub.cfg 复制到 /mnt/boot/grub/grub.cfg

cp /boot/grub/grub.cfg /mnt/boot/grub/

重启操作系统测试,经过测试拔数据盘不影响启动。


终于有人发现 在升级后,还是会频繁提示升级内核的这个问题了。

其实就是升级后u盘中的grub文件没有更新。

老早就想搞一个脚本了。趁着周末搞一下

思路很简单每次重启 检查两个grub文件的md5,不一致就将本地磁盘的grub文件替换到u盘中。

但是替换了。也得下次重启 才能生效。也就是每次升级完成重启后再手动重启一下就好。其实也可以再增加个判断,重启完成后如果发生替换,就自动重启一次,但是我担心被不熟悉命令的老铁搞成无限重启就没搞。自己手动重启吧。

脚本名称grub_check.sh,我放到了home目录下。

需要修改的就是"/vol00/Cruzer_Fit/boot/grub/grub.cfg"这个路径(就是前面提到的优盘路径)

DST_FILE="/vol00/Cruzer_Fit/boot/grub/grub.cfg"

脚本如下


#!/bin/bash

# 定义源文件、目标文件路径
SRC_FILE="/boot/grub/grub.cfg"
DST_FILE="/vol00/Cruzer_Fit/boot/grub/grub.cfg"

# 校验文件是否存在
if [ ! -f "$SRC_FILE" ]; then
    echo "错误:源文件 $SRC_FILE 不存在!"
    exit 1
fi

if [ ! -f "$DST_FILE" ]; then
    echo "错误:目标文件 $DST_FILE 不存在!"
    exit 1
fi

# 计算MD5值
SRC_MD5=$(md5sum "$SRC_FILE" | awk '{print $1}')
DST_MD5=$(md5sum "$DST_FILE" | awk '{print $1}')

echo "源文件MD5: $SRC_MD5"
echo "目标文件MD5: $DST_MD5"

# 比对并替换文件
if [ "$SRC_MD5" != "$DST_MD5" ]; then
    echo "MD5不一致,执行文件替换..."
    cp -f "$SRC_FILE" "$DST_FILE"
    echo "替换完成"
else
    echo "MD5一致,无需操作"
fi

然后修改crontab

crontab 写法如下

@reboot /bin/sh -c "sleep 20 && /bin/sh /home/grub_check.sh >> /home/grub_check.log. 2>&1"

需要增加sleep 延迟,我猜测是系统没有完全启动,u盘未挂载到路径下 所以无法修改grub文件,这个延迟自己测试吧。/home/grub_check.log这个是执行的日志,如果重启后没有替换成功。自己排查下原因吧,大概率是延迟的问题

crotab 截图

Dingtalk_20260531193233.jpg

收藏
送赞 1
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

2

主题

2

回帖

0

牛值

江湖小虾

2025-5-6 11:49:33 显示全部楼层

我最简单方法:HPE iLO控制台挂载飞牛NAS镜像文件直接安装SATA1硬盘内,安装完成后无法引导,处理方法进入PE系统激活SATA1硬盘为活动盘,重启搞定

8

主题

21

回帖

0

牛值

江湖小虾

2025-6-3 08:30:27 显示全部楼层

U盘能装不, SATA 5 上SSD 用来做 CACHE , 是不是好点

pcie转nvme 装个傲腾不是更好  详情 回复
2025-6-6 17:17

2

主题

5

回帖

0

牛值

江湖小虾

2025-6-6 17:17:30 楼主 显示全部楼层
t4n9 发表于 2025-6-3 08:30
U盘能装不, SATA 5 上SSD 用来做 CACHE , 是不是好点

pcie转nvme 装个傲腾不是更好

0

主题

7

回帖

0

牛值

江湖小虾

2025-7-14 22:33:19 显示全部楼层
拔数据盘不影响启动。那么增加数据盘呢?比如增加到2盘,3盘,会影响启动吗?

6

主题

40

回帖

0

牛值

初出茅庐

2026-2-5 23:47:16 显示全部楼层

这个方法好,救活了我那台奇葩的机器

0

主题

4

回帖

0

牛值

江湖小虾

2026-5-6 14:07:09 显示全部楼层

最近系统升级了,然后总提示我需要升级内核;我又照着了一遍;重新替换了引导文件,解决了问题。感谢大家无私分享!

其实不用重新装 只要重新替换一下grub文件就行,可以找个ai写个脚本,每次重启替换一次就行  详情 回复
2026-5-27 14:06

2

主题

5

回帖

0

牛值

江湖小虾

2026-5-27 14:06:51 楼主 显示全部楼层
未来之光 发表于 2026-5-6 14:07
最近系统升级了,然后总提示我需要升级内核;我又照着了一遍;重新替换了引导文件,解决了问题。感谢大家无 ...

其实不用重新装 只要重新替换一下grub文件就行,可以找个ai写个脚本,每次重启替换一次就行
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则