不修改bios让联想T2P支持nvme启动

2025-02-22 00:16:51 8点赞 53收藏 22评论

前言

之前写过一篇实战成品nas(联想t2 pro)安装飞牛双启动,提到过联想t2p默认bios不支持从nvme启动,需要修改bios添加模块,很多值友想要详细教程,我回复了是群友帮改的bios,而且联想的bios可能实际sn等内容,实测不同板子bios刷入无法启动,必须自己bios修改,群友将来做好壳子后可能会发布修改教程,但是门槛比较高,要会编程器读取写入bios,风险比较大,我这个教程是不改bios情况下支持从mmc启动nvme中的飞牛。

原理

t2p主板的bios是无法识别nvme盘的,因而不能从nvme盘读取grub和内核,但是内核加载后是能识别nvme盘的,飞牛安装过程能发现nvme盘并安装,就说明内核加载后nvme就可以用,所以我们可以把飞牛esp分区(grub文件)和root分区下的内核和rd拷贝到emmc的esp分区,读取并加载内核后之指定root分区的uuid就可以正常启动飞牛了。

飞牛安装到nvme

这个安装过程与通用教程没有差别,安装m2 wifi位置的nvme盘和连接hdmi方法请参见实战成品nas(联想t2 pro)安装飞牛双启动,默认已连接好nvme盘和hdmi接口。

  1. 下载飞牛系统盘 下载地址

  2. 用blenaetch后者refus写入U盘

不修改bios让联想T2P支持nvme启动
  1. 设置bios从U盘启动

不修改bios让联想T2P支持nvme启动
  1. 安装飞牛到nvme 需要注意的是,虽然bios不支持nvme启动,但是安装过程是支持nvme的,再选择安装介质时,请选择nvme盘

不修改bios让联想T2P支持nvme启动
  1. 注意,安装完成后直接关机,即可,因为没有做特殊处理之前,t2p无法从nvme启动,重启将直接进入原厂emmc系统。

修改mmc的esp分区启动nvme盘的飞牛

  1. 制作最小Linux系统启动盘,建议选择istoreos,直接写入U盘,就可以从U盘启动

  • 下载istore并写盘 从istore官网下载X86_64 EFI版本的系统,并用balenaEcher写入U盘

不修改bios让联想T2P支持nvme启动
  • 插入U盘,并设置从U盘启动istore 这里U盘启动后既可以直接hdmi和键盘操作实体机,也可以设置好启动后插上网线,通过ssh登录istoreos

不修改bios让联想T2P支持nvme启动

建议后续操作再ssh进行,因为ssh可以复制文件,且教程里的命令可以复制粘贴到ssh命令行窗口

路由器看到istoreos的ip

不修改bios让联想T2P支持nvme启动

ssh登录istore(用户名root密码password)

不修改bios让联想T2P支持nvme启动不修改bios让联想T2P支持nvme启动

使用winscp登录到istore,方便传输文件(用户名root密码password)

不修改bios让联想T2P支持nvme启动
  1. 设置emmc的esp分区文件,通过emmc启动nvme飞牛 通过blkid命令可以看到istore识别了emmc和nvme硬盘

不修改bios让联想T2P支持nvme启动

通过mount命令可以看到mmc三分区分别挂载在/mnt/mmc0-1,/mnt/mmc0-2,/mnt/mmc0-3目录,其中esp就是/mnt/mmc0-1 装完分牛系统的nvme盘两个分区分别挂载在/mnt/nvme0n1-1,/mnt/nvme0n1-2目录,其中esp分区就是/mnt/nvme0n1-1

不修改bios让联想T2P支持nvme启动

winscp也可以看到

不修改bios让联想T2P支持nvme启动

剪切备份mmc的esp分区(/mnt/mmc0-1)文件: 将路径下的bzImage从左侧窗口拖到右侧后删除右侧文件(不删除可能空间不足)

不修改bios让联想T2P支持nvme启动

将分牛nvme分区的内核和rd盘(/mnt/nvme0n1-2/boot)拷贝到左侧窗口

不修改bios让联想T2P支持nvme启动

再从左侧窗口拷贝到mmc的esp分区(/mnt/mmc0-1)

不修改bios让联想T2P支持nvme启动

分别重命名为vmlinuz-trim、initrd.img-trim

不修改bios让联想T2P支持nvme启动

备份grub配置文件(/mnt/mmc0-1/EFI/BOOT/grub.cfg)拖到左侧本地目录

不修改bios让联想T2P支持nvme启动

下载我为上述esp分区写的fnos-grub.cfg文件网盘地址提取码

fnv6,将图示的fnosuuid变量值改为nvme第二个盘的uuid

不修改bios让联想T2P支持nvme启动

获取nvme第二个盘的uuid方法是在ssh下输入blkid,如图nvmen0p2的uuid就是dec83f35-ccdb-4af4-a2c7-0771dc781c73

不修改bios让联想T2P支持nvme启动

改完后将fnos-grub.cfg文件上传到/mnt/mmc0-1/EFI/BOOT

不修改bios让联想T2P支持nvme启动

改名为grub.cfg

不修改bios让联想T2P支持nvme启动

关闭winscp,通过ssh关闭机器(或者按电源键)

不修改bios让联想T2P支持nvme启动

拔掉istore启动U盘,开机将自动启动到飞牛

不修改bios让联想T2P支持nvme启动不修改bios让联想T2P支持nvme启动不修改bios让联想T2P支持nvme启动不修改bios让联想T2P支持nvme启动
  1. 恢复原厂启动 只需要将grub.cfg用备份的文件覆盖,将备份的bzImage恢复到原始路径,即可恢复原厂启动

说明

这种方式启动存在的问题是如果飞牛升级后,并不会主动将升级的内核拷贝到emmc分区,如果发现内核更新需要手动将nvme第二分区boot目录下的内核和rd复制到emmc第一分区目录下覆盖两个文件。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
22评论

  • 精彩
  • 最新
  • 其实完全可以在emmc装个clover之类的引导工具,用它去引导nvme的系统 [观察] 以前见过z3735f平板(cpu支持64位但bios仅支持32位系统引导)用clover启动64位win的(32位clover→启动64位clover→启动64位win)

    校验提示文案

    提交
    [棒棒哒]

    校验提示文案

    提交
    具体怎么操作呢?

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 大佬,请问刷回T2PRO原厂固件,之前进ssh修改过一些文件,更新固件后,目前手机端正常使用,电脑端同一账户登录,但没有管理员权限

    校验提示文案

    提交
    t2p的系统没有arm那种重置,改了就没办法还原

    校验提示文案

    提交
    原厂固件哪里有的下?怎么刷

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 我刚下单完Key-E转TF卡的,您就在这给我个惊喜 [ok了] ,盘也有,买个转接板直接起飞了

    校验提示文案

    提交
    动手能力强

    校验提示文案

    提交
    刚才看到有个评论说用clover引导nvme盘,我只能说真是个天才啊,今天回家试试用clover引导太绝了

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 老哥,ssd 是 256G 的,电脑正常读,但是装 fn 的时候没有没有看到 nvme 选项。。。

    校验提示文案

    提交
    进 PE 可以看到盘,

    校验提示文案

    提交
    要改bios啊,通篇不就是讲的这个,默认确实不识别

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 从评论跑过来,看了半天,还是有点难,装优盘里凑合着用吧,纯备份用够了

    校验提示文案

    提交
  • 大哥还是发个编程器版本的吧,这个治标不治本

    校验提示文案

    提交
  • 亲测可行,感谢大佬。

    校验提示文案

    提交
  • 能不能找人换个大一点的emmc呢?

    校验提示文案

    提交
  • [傻笑] 那买一个转接的,可以用一个固态给我黑裙当缓存盘了嘛

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
53
扫一下,分享更方便,购买更轻松