无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 24577|回复: 78
打印 上一主题 下一主题

[求助] 第一次使用UEFI shell,请求那位大侠帮忙写一下加载NVME驱动并引导M.2自动化命令

  [复制链接]
跳转到指定楼层
1#
发表于 2020-3-1 21:33:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大侠:
      今天第一次了解UEFI shell,经过手动输入命令,测试可以在我的老主板上,加载NVME驱动,并引导M.2磁盘的系统,因为刚入门不会写脚本,请帮忙写一下自动化加载NVME驱动,并引导M.2磁盘的系统

2#
发表于 2020-3-1 21:43:56 | 只看该作者
列出你输的命令

点评

感谢! 使用命令如下: load fs0:\efi\boot\nvmex64.efi map -u hd11b:\efi\boot\bootx64.efi  详情 回复 发表于 2020-3-3 13:26
回复

使用道具 举报

3#
发表于 2020-3-2 16:42:07 | 只看该作者
load xxx.efi
回复

使用道具 举报

4#
 楼主| 发表于 2020-3-3 13:26:15 来自手机 | 只看该作者
liujun2000 发表于 2020-3-1 21:43
列出你输的命令

感谢!
使用命令如下:
load fs0:\efi\boot\nvmex64.efi
map -u
hd11b:\efi\boot\bootx64.efi
回复

使用道具 举报

5#
 楼主| 发表于 2020-3-3 13:49:08 来自手机 | 只看该作者
本帖最后由 luck9806 于 2020-3-3 13:56 编辑

我直接建立了startup. nsh文件测试失败,存在2个问题:1、加载nvmex64.efi驱动后,磁盘不分配盘符,需运行map -u,加入此命令运行出错显示:map:unknown flag -u,此Map -U手工输入运行无问题
2、插入U盘后盘符会变化,需判断正确盘符的方法。

点评

可以试一下自动搜索全盘  详情 回复 发表于 2021-7-28 08:22
回复

使用道具 举报

6#
发表于 2020-3-3 14:42:47 | 只看该作者
你把M.2磁盘里面的\efi\boot\bootx64.efi改成\efi\boot\nvmexbootx64.efi就可以用下面这人脚本

把脚本保存为startup. nsh

for %i in fs0 fs1 fs2 fs3 fs4 fs5 fs6 fs7 fs8 fs9 fsa fsb
if exist %i:\efi\boot\nvmex64.efi then
load %i:\efi\boot\nvmex64.efi
map -r
goto act1
endif
endfor
:act1
for %j in fs0 fs1 fs2 fs3 fs4 fs5 fs6 fs7 fs8 fs9 fsa fsb
if exist %j:\efi\boot\nvmexbootx64.efi then
%j:
goto act2
endif
endfor
:act2
\efi\boot\nvmexbootx64.efi

点评

非常感谢! 学习了FOR使用方法,但脚本还不能使用,脚本在运行 map -r 后会出现shell: cannot read from file -no media错误,脚本将停止工作退出。使用map -u,又出现上述的问题 ,测式发现只有这2个参数可以显示  详情 回复 发表于 2020-3-3 22:16
回复

使用道具 举报

7#
 楼主| 发表于 2020-3-3 22:16:23 | 只看该作者
282198284 发表于 2020-3-3 14:42
你把M.2磁盘里面的\efi\boot\bootx64.efi改成\efi\boot\nvmexbootx64.efi就可以用下面这人脚本

把脚本保 ...

非常感谢!
学习了FOR使用方法,但脚本还不能使用,脚本在运行 map  -r 后会出现shell: cannot read from file -no media错误,脚本将停止工作退出。使用map -u,又出现上述的问题 ,测式发现只有这2个参数可以显示加载了NVME驱动后的盘。

点评

这样的话,就没办法全自动了,只能手动运行一下第二步的脚本了  详情 回复 发表于 2020-3-3 22:34
回复

使用道具 举报

8#
 楼主| 发表于 2020-3-3 22:21:15 | 只看该作者
MAP 命令使用说明:
MAP [-d <sname>]
MAP [[-r | -u][-v][-c][-f][-t <type[,type...]>][sname]]
MAP [sname handle | mapname]
    -d       - Delete a mapping
    -r       - Reset to default mappings
    -u       - Update mappings
    -v       - Display verbose mapping information
    sname    - User defined mapping name (wildcards are permitted)
    handle   - The number of handle, which is same as dumped from 'dh' command
    -c       - Display the consistent mapping name
    -f       - Display the normal mapping name(not consistent mapping)
    -t       - Display the device mapping name according to the device type:
                 fp   - Floppy
                 hd   - Hard Disk
                 cd   - CD-ROM
               Types can be combined by putting a comma between two types.
               Spaces are not allowed between types.
    mapname  - Mapped name for the device followed by a postfix ':'

Note:
    1.  The consistent mapping is persistent across the mapping reset and the
        system reboot.
    2.  Only characters and numbers are allowed inside of sname.
    3.  Redirection is not allowed when running map because we do not know the
        file system before mapping is done.
    4.  Output redirection is not supported for 'map -r' usage.
    5.  Option '-u' will only add/delete the mappings for new/removed devices.
        The unchanged device mappings with user-defined mappings are unchanged.
        The current dir, if current device is not changed, will also be
        preserved.
在脚本内运行测试过如下都失败
MAP -r | -u
MAP -r
MAP  -u
回复

使用道具 举报

9#
 楼主| 发表于 2020-3-3 22:24:53 | 只看该作者
使用过connect  -r 不能找到M.2硬盘文件。测试盘符:blk*,fs*,hd11*
回复

使用道具 举报

10#
发表于 2020-3-3 22:34:03 | 只看该作者
luck9806 发表于 2020-3-3 22:16
非常感谢!
学习了FOR使用方法,但脚本还不能使用,脚本在运行 map  -r 后会出现shell: cannot read fro ...

这样的话,就没办法全自动了,只能手动运行一下第二步的脚本了

点评

多谢指导,我现在使用的2.31版,请问在哪下载新版再试一试  详情 回复 发表于 2020-3-3 22:53
回复

使用道具 举报

11#
 楼主| 发表于 2020-3-3 22:53:45 来自手机 | 只看该作者
282198284 发表于 2020-3-3 22:34
这样的话,就没办法全自动了,只能手动运行一下第二步的脚本了

多谢指导,我现在使用的2.31版,请问在哪下载新版再试一试

点评

版本是固件不是Shell  详情 回复 发表于 2020-3-3 23:26
回复

使用道具 举报

12#
 楼主| 发表于 2020-3-3 22:55:39 来自手机 | 只看该作者
Map -u 脚本运行错误提示,单独输入运行又可以很怪

IMG_20200303_133138.jpg (84.82 KB, 下载次数: 310)

IMG_20200303_133138.jpg

点评

也许你要加一个启动器才能全自动  详情 回复 发表于 2020-3-3 23:31
回复

使用道具 举报

13#
发表于 2020-3-3 23:26:21 | 只看该作者
luck9806 发表于 2020-3-3 22:53
多谢指导,我现在使用的2.31版,请问在哪下载新版再试一试

版本是固件不是Shell
回复

使用道具 举报

14#
发表于 2020-3-3 23:31:30 | 只看该作者
luck9806 发表于 2020-3-3 22:55
Map -u 脚本运行错误提示,单独输入运行又可以很怪

也许你要加一个启动器才能全自动
回复

使用道具 举报

15#
发表于 2020-3-3 23:37:08 | 只看该作者
你可以试一下把微软的bootmgfw.efi也放在nvmex64.efi同一个盘中,加载驱动后启动bootmgfw.efi,让BCD指向nvme盘中的winload.efi,这样应该是可以的

点评

感谢指导,昨天我也想到把M.2盘的EFl引导文件全部拷贝到机械硬盘中,不执行map命令,利用BCD跳转,今天晚上试试。 还想咨询一下,Shell读取脚本的等待时间可以取消吗 另你说的其它方法定制EFⅠ是怎么做呢  详情 回复 发表于 2020-3-4 10:04
回复

使用道具 举报

16#
 楼主| 发表于 2020-3-4 10:04:19 来自手机 | 只看该作者
282198284 发表于 2020-3-3 23:37
你可以试一下把微软的bootmgfw.efi也放在nvmex64.efi同一个盘中,加载驱动后启动bootmgfw.efi,让BCD指向nvm ...

感谢指导,昨天我也想到把M.2盘的EFl引导文件全部拷贝到机械硬盘中,不执行map命令,利用BCD跳转,今天晚上试试。
还想咨询一下,Shell读取脚本的等待时间可以取消吗
另你说的其它方法定制EFⅠ是怎么做呢

IMG_20200304_095530.jpg (71.65 KB, 下载次数: 276)

IMG_20200304_095530.jpg

点评

取消是要要运行时加参数才能取消,启动器就多了,比如微微自带的也是一个启动器,也可以是自己写的  详情 回复 发表于 2020-3-4 10:32
回复

使用道具 举报

17#
发表于 2020-3-4 10:32:25 | 只看该作者
本帖最后由 282198284 于 2020-3-4 10:33 编辑
luck9806 发表于 2020-3-4 10:04
感谢指导,昨天我也想到把M.2盘的EFl引导文件全部拷贝到机械硬盘中,不执行map命令,利用BCD跳转,今天晚 ...

取消是要在运行时加参数才能取消,启动器就多了,比如微微自带的也是一个启动器,也可以是自己写的

点评

经过测试已可以加载启动了,谢谢指导! 最后还是想取消计时,运行加参数要怎么做呢,谢谢!  详情 回复 发表于 2020-3-4 20:52
回复

使用道具 举报

18#
 楼主| 发表于 2020-3-4 20:52:35 | 只看该作者
282198284 发表于 2020-3-4 10:32
取消是要在运行时加参数才能取消,启动器就多了,比如微微自带的也是一个启动器,也可以是自己写的

经过测试已可以加载启动了,谢谢指导!
最后还是想取消计时,运行加参数要怎么做呢,谢谢!
回复

使用道具 举报

19#
 楼主| 发表于 2020-3-4 21:59:40 | 只看该作者
本帖最后由 luck9806 于 2020-3-4 22:13 编辑

运行参数在网上已找到,但未使用成功,请大家指导。
-delay[:n] 指定等待 startup.nsh 启动的时间。默认是5秒,-delay:0 表示立即执行
我加载shell.efi方法如下:加载不成功
\efi\boot\bootx64.efi -delay:0

点评

你可以用xor试一下,应该是可以的  详情 回复 发表于 2020-3-4 22:47
回复

使用道具 举报

20#
发表于 2020-3-4 22:47:06 | 只看该作者
luck9806 发表于 2020-3-4 21:59
运行参数在网上已找到,但未使用成功,请大家指导。
-delay[:n] 指定等待 startup.nsh 启动的时间。默认是 ...

你可以用xor试一下,应该是可以的

点评

测试了还是一样失败,怎么改参数都一样,无法取消5秒的等待,唉 有没有其它的方式加载M.2盘驱动后才启动系统呢,后台自动化完成。  详情 回复 发表于 2020-3-5 20:21
回复

使用道具 举报

21#
 楼主| 发表于 2020-3-5 20:21:13 来自手机 | 只看该作者
282198284 发表于 2020-3-4 22:47
你可以用xor试一下,应该是可以的

测试了还是一样失败,怎么改参数都一样,无法取消5秒的等待,唉
有没有其它的方式加载M.2盘驱动后才启动系统呢,后台自动化完成。

点评

刷主板BIOS  详情 回复 发表于 2020-3-5 21:07
回复

使用道具 举报

22#
发表于 2020-3-5 21:07:57 | 只看该作者
luck9806 发表于 2020-3-5 20:21
测试了还是一样失败,怎么改参数都一样,无法取消5秒的等待,唉
有没有其它的方式加载M.2盘驱动后才启动 ...

刷主板BIOS

点评

最初的想法是改BIOS的,联想的主板,BIOS找不到下载点,备份的也不用,好像这主板有三个BIOS文件,所以无法下手,  详情 回复 发表于 2020-3-5 21:13
回复

使用道具 举报

23#
 楼主| 发表于 2020-3-5 21:13:48 | 只看该作者

最初的想法是改BIOS的,联想的主板,BIOS找不到下载点,备份的也不用,好像这主板有三个BIOS文件,所以无法下手,

点评

那只能找大神给你改一个Shell不等5秒的才行了  详情 回复 发表于 2020-3-5 21:29
回复

使用道具 举报

24#
 楼主| 发表于 2020-3-5 21:16:31 | 只看该作者
了解使用CLOVER也建立一个菜单,硬盘变化时菜单会变,安装硬盘不便
回复

使用道具 举报

25#
发表于 2020-3-5 21:29:13 | 只看该作者
luck9806 发表于 2020-3-5 21:13
最初的想法是改BIOS的,联想的主板,BIOS找不到下载点,备份的也不用,好像这主板有三个BIOS文件,所以无 ...

那只能找大神给你改一个Shell不等5秒的才行了

点评

网上找到的参数表,为何都无法使用,很怪呀 Shell 启动参数: shell.efi [ShellOpt-options] [options] [file-name [file-name-options]] -nostartup 进入 Shell 时不执行脚本 startup.nsh -noconsoleout S  详情 回复 发表于 2020-3-5 21:36
回复

使用道具 举报

26#
 楼主| 发表于 2020-3-5 21:36:22 | 只看该作者
282198284 发表于 2020-3-5 21:29
那只能找大神给你改一个Shell不等5秒的才行了

网上找到的参数表,为何都无法使用,很怪呀

Shell 启动参数:
shell.efi [ShellOpt-options] [options] [file-name [file-name-options]]

-nostartup 进入 Shell 时不执行脚本 startup.nsh
-noconsoleout Shell 标准输出不显示
-noconsolein Shell 无标准输入
-delay[:n] 指定等待 startup.nsh 启动的时间。默认是5秒,-delay:0 表示立即执行
-nointerrupt 不支持 <Ctrl+C> 的终止程序功能
-nomap 启动后不显示块设备的 map 信息
-noversion 启动后不显示 version
-startup 进入 Shell 是执行脚本 startup.nsh

当 ShellOpt-optitions 和 options 中均不包含 -startup 时,可以使用 file-name [file-name-options] 指定 Shell 启动后要执行的文件。如果启动参数中既有 -startup 又有 file-name [file-name-options],则 file-name [file-name-options] 被忽略。
回复

使用道具 举报

27#
 楼主| 发表于 2020-3-5 21:38:03 | 只看该作者
难道这个参数是某个启动工具的,那这个启动工具又是什么呢

点评

xor不行我就不知道了,好像没有了  详情 回复 发表于 2020-3-5 21:40
回复

使用道具 举报

28#
发表于 2020-3-5 21:40:58 | 只看该作者
本帖最后由 282198284 于 2020-3-5 21:46 编辑
luck9806 发表于 2020-3-5 21:38
难道这个参数是某个启动工具的,那这个启动工具又是什么呢

xor不行我就不知道了,好像没有了

N37_TR1AAWQRH_LWLKJAK%Y.png (41.03 KB, 下载次数: 322)

N37_TR1AAWQRH_LWLKJAK%Y.png

点评

我没建菜单直接改的启动项  详情 回复 发表于 2020-3-5 22:41
回复

使用道具 举报

29#
 楼主| 发表于 2020-3-5 22:41:29 来自手机 | 只看该作者
本帖最后由 luck9806 于 2020-3-5 22:53 编辑
282198284 发表于 2020-3-5 21:40
xor不行我就不知道了,好像没有了

我没建菜单直接改的启动项

捕获.PNG (57.59 KB, 下载次数: 286)

捕获.PNG

点评

你这样和xor有半毛钱关系?  详情 回复 发表于 2020-3-5 22:59
回复

使用道具 举报

30#
发表于 2020-3-5 22:59:45 | 只看该作者
本帖最后由 282198284 于 2020-3-5 23:02 编辑
luck9806 发表于 2020-3-5 22:41
我没建菜单直接改的启动项

你这样和xor有半毛钱关系?
我的意思是,用xor启动Shell. efi加参数的,应该是可以去掉5秒等待时间
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-26 00:15

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表