无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 84036|回复: 683
打印 上一主题 下一主题

RUN/NTBOOT for GRUB4EFI

    [复制链接]
1#
发表于 2021-11-9 11:26:49 | 显示全部楼层
husiqin 发表于 2021-11-9 10:14
为什么我的怎么都启动不了wim等

run 启动wim 依赖 ntloader


看 这个 ,http://bbs.wuyou.net/forum.php?m ... 059&pid=4362535

第二条,找见 run 运行,加上你的 目录
回复

使用道具 举报

2#
发表于 2021-11-9 12:28:52 | 显示全部楼层
title 启动 Windows WIM/VHD  使用 chainloader
find --set-root /W8PE/80PE64.WIM
uuid %@root%
find --set-root /EFI/GRUB/NTLOAD/initrd.lz1
chainloader /EFI/GRUB/NTLOAD/ntloader initrd=/EFI/GRUB/NTLOAD/initrd.lz1 uuid=%?_UUID% file=/W8PE/80PE64.WIM  winload=/windows/system32/wonload.efi


或者  winload=/windows/system32/boot/wonload.efi
回复

使用道具 举报

3#
发表于 2021-12-11 13:06:10 | 显示全部楼层
本帖最后由 2011whp 于 2021-12-11 20:36 编辑

试带尾随   ntboot的run


grub> run /src/

run无论放哪   回找不到run的位置
(/run
   /efi/grub/run
   /efi/grub/ext/run)
返回 主菜单 也不正常
回复

使用道具 举报

4#
发表于 2021-12-11 13:47:06 | 显示全部楼层
应该是  g4e吧,因为   有个g4e 不 黑框


碰巧,   刚开始 试时,  bootx64.efi  用的是下面这个  没黑框,(没对比,可能没这一问
  http://wuyou.net/forum.php?mod=r ... &fromuid=413782

后来 下载最新 g4e试,有不透明黑框

回复

使用道具 举报

5#
发表于 2021-12-11 14:33:49 | 显示全部楼层
本帖最后由 2011whp 于 2021-12-11 14:35 编辑

分体的 试验:

    好像  ntboot 必须 放在  /boot/imgs/ 下
call Fn.15 "%usrpath%" "" || set usrpath=/BOOT/IMGS/
map --mem %usrpath%/ntboot (hd)
(hd-1,0)/loaderNT %~1
goto :boot




这个 %usrpath% 不是 第一次输入的 ?


下面两个不行
run  /src/
run --automenu /src/
回复

使用道具 举报

6#
发表于 2021-12-11 14:37:52 | 显示全部楼层
本帖最后由 2011whp 于 2021-12-11 14:39 编辑

@2012kwy    用分体的,

ntboot 必须 放在  /BOOT/IMGS/ntboot  (要不自己改run批处理,38行处)

run  可以在 任意位置
回复

使用道具 举报

7#
发表于 2021-12-11 16:05:02 | 显示全部楼层
本帖最后由 2011whp 于 2021-12-11 16:07 编辑
2011yaya2007777 发表于 2021-12-11 15:37
run 可以指定路径文件名。如果省略,或者使用自动列表、自动菜单,文件必须放在默认位置。默认位置可以指定 ...

找到了,  分体式的有效

run  --set-usrpath=/ntbootpath/  /src/

@2012kwy


回复

使用道具 举报

8#
发表于 2021-12-11 16:23:30 | 显示全部楼层
本帖最后由 2011whp 于 2021-12-11 16:25 编辑

尾ntboot的      

run   /src/boot.wim  可以  

最后一个问题:   run /src/      浏览到的 boot.wim  不行
    主要是  自动 菜单  command 后面 没有run命令

回复

使用道具 举报

9#
发表于 2021-12-11 16:51:50 | 显示全部楼层
本帖最后由 2011whp 于 2021-12-11 19:53 编辑

我觉得 能改进的,不用绑定 特殊的g4e

带尾的 现在  run   /src/boot.wim  可以的

主要 是浏览时 生成的菜单 有问题,而且手动 修改就行  



         
回复

使用道具 举报

10#
发表于 2021-12-11 17:32:51 | 显示全部楼层
有空了 , yaya大佬  看吧

我是 真看不懂,内部函数不懂, c 更不懂,

usrpath 怎么传进去 的 也不懂
回复

使用道具 举报

11#
发表于 2021-12-11 19:26:56 | 显示全部楼层
37行 delmod -l %~nx0 > nul || insmod %~f0 > nul && set runs=%~nx0 && set runpath=%~p0
估计是 insmod 加载模块出错了,

从外面传 直接 传一个 runs 值   的话  (runpath 好像没什么作用)

可以启动







回复

使用道具 举报

12#
发表于 2021-12-12 13:57:05 | 显示全部楼层
传统的 run 是不是  尾随着  外部命令 呢,使 shifit参数表  特殊处理了  ??
回复

使用道具 举报

13#
发表于 2021-12-12 16:12:41 | 显示全部楼层
本帖最后由 2011whp 于 2021-12-12 16:42 编辑

尾ntboot 的 run    用   配置文件 辅助

/src/boot.wim
/src/CONFIG.txt
           内容: set image=/efi/grub/lt.jpg  (这个没效果,还是不透明)
/src/MENU_CONFIG.txt
           内容: set image=/efi/grub/lt.jpg  (这个没效果,还是不透明)
/src/boot_CONFIG.txt
           内容:第一行  这是改的名             (改菜单的显示名,这个起作用了)
                     第二行  /src/run                (这个有效果,和 上上上楼的 传runs 一样)
                      第三行  空

回复

使用道具 举报

14#
发表于 2021-12-13 19:08:53 | 显示全部楼层

delmod -l %~nx0 > nul || insmod %~f0 > nul && set runs=%~nx0 && set runpath=%~p0
这个分成两行,不管 imsmod 加载 算了,外部运行 即可 (扣出来 试,才麻烦了,yaya 你试下)

delmod -l %~nx0 > nul || insmod %~f0 > nul
set runs=%~pnx0 && set runpath=%~p0



回复

使用道具 举报

15#
发表于 2021-12-13 20:43:28 | 显示全部楼层
本帖最后由 2011whp 于 2021-12-14 11:45 编辑

set了下,发现  usrpath
即:

set usrpath=/src/

#分离的
run /src/

是可行的


回复

使用道具 举报

16#
发表于 2021-12-14 11:35:13 | 显示全部楼层
2011yaya2007777 发表于 2021-12-14 08:53
尾随 ntboot 的 run,以及无尾随的批处理(man.txt)都正常了。

OK!

回复

使用道具 举报

17#
发表于 2021-12-14 13:47:55 | 显示全部楼层
本帖最后由 2011whp 于 2021-12-15 13:05 编辑

浏览启动 vhd   (run  ntoader方案),后置参数 是否不启作用,原理不清楚,

这是300MBvhdpe

minint=1 winload=/Windows/System32/boot/winload.efi hires=1 detecthal=0
s300PE.vhd.zip (392 Bytes, 下载次数: 7)
回复

使用道具 举报

18#
发表于 2021-12-14 21:31:19 | 显示全部楼层
本帖最后由 2011whp 于 2021-12-15 13:04 编辑
2011yaya2007777 发表于 2021-12-14 17:52
旧版本run使用ntloader启动wim/vhd。新版本run使用ntboot。

旧版 run 处理   vhd 是按 img 处理的  (我改成 vhdi)


然后把  :.wim   :.vhdx   那 加上  :.vhd

道 是 能  执行到  那 了,
回复

使用道具 举报

19#
发表于 2021-12-15 13:01:34 | 显示全部楼层
本帖最后由 2011whp 于 2021-12-15 13:27 编辑

run ntloader vhd 传后置参数 :(\ 是转义符,参数 中 出现时,要注意)
minint=1 winload=/Windows/System32/boot/winload.efi hires=1 detecthal=0

代码改造:
:.vhd
:.wim
:.vhdx
uuid %~d1
call Fn.15 "%2" "" && set par111=%2=%3
call Fn.15 "%4" "" && set par222=%4=%5
call Fn.15 "%6" "" && set par333=%6=%7
shift
call Fn.15 "%7" "" && set par444=%7=%8
chainloader /ntloader initrd=/initrd.lz1 uuid=%?_UUID% file=%~pnx0 %par111% %par222% %par333% %par444%
boot

注: 只适合 个人 DIY,g4e run 对 vhd 是按 img类处理,再说微软 也提倡 用vhdx做系统。

回复

使用道具 举报

20#
发表于 2021-12-15 13:20:18 | 显示全部楼层
本帖最后由 2011whp 于 2021-12-15 13:45 编辑

一旦   定义了 前置参数(也可以叫  外部启动插件),

就会  执行   %usrpath%/前置参数指定的外部插件    (理论上 自己 做个批处理 当外部插件也是 可以的 )
(因为 run 本身 就是 集成了  众多启动插件)
回复

使用道具 举报

21#
发表于 2021-12-15 13:25:05 | 显示全部楼层
grub4dos    批处理  =也是 参数分隔符 ,相当于 空格
回复

使用道具 举报

22#
发表于 2021-12-16 12:28:34 | 显示全部楼层
本帖最后由 2011whp 于 2021-12-16 17:50 编辑

博大精深啊!看了几行,看不下去了

这是 dos中的 本地变量 延时吧
set g4dver=20140117
set g4dver= && echo %g4dver%
回复

使用道具 举报

23#
发表于 2021-12-16 13:11:23 | 显示全部楼层
g4e:       map --mem /*.iso  才是重点
回复

使用道具 举报

24#
发表于 2021-12-18 11:12:32 | 显示全部楼层
本帖最后由 2011whp 于 2021-12-18 11:22 编辑


黑框问题,是没有了,因为 我以前  一直是 敲 命令行的,这次 放菜单内 了


回复

使用道具 举报

25#
发表于 2021-12-20 18:40:02 | 显示全部楼层
应把 usrpath 设定死,不要让随 当前分区改变

title XXXXXXXX
find
%@boot%/efi/grub/run  --set-usrpath=%@boot%/efi/grub/   /path/boot.wim
回复

使用道具 举报

26#
发表于 2021-12-20 21:12:19 | 显示全部楼层
多试吧,公开的 条件 太有限了  

想办法,证明  是 run 有问题,

起码的知道,        资源文件分布
         菜单  
         浏览的话 ,按e键 的 拍照
回复

使用道具 举报

27#
发表于 2021-12-25 20:22:30 | 显示全部楼层
启动 ramos 的话,还是 利用   同名_config.txt  , 加前置 后置参数,自己 写 批处理 做 启动插件

run  的核心 是 浏览,并启动 内置了 的 ,启动插件。

要不 run 越来越复杂, 或者 版本 越来越多。

点评

一个hires=0参数,不会复杂多少的,RAMOS用的g4e+wintolash的NTloader方案,感觉还是有些问题,有时候chainloader+ntloader方案可以,有时候不行;有时候kernel+ntloader方案可以,有时候又不行。网友也有反馈的,我  详情 回复 发表于 2021-12-25 20:41
回复

使用道具 举报

28#
发表于 2021-12-25 20:28:04 | 显示全部楼层
比如 ,扩展名 .vhd

1.    可以 当img类   map    /*.vhd  (hd)

2.    可以  当  微软的系统vhd  这时 需要  bcd

一个run 内 不可能 再区分 扩展名了,只能 选择 其一。
回复

使用道具 举报

29#
发表于 2021-12-25 20:45:51 | 显示全部楼层
ramos  在run里 ,另外来一个 启动分支
(run根据扩展名   跳到 标签 估计是   echo *** | goto  :.%扩展名%=)

:.vdf

启动代码(用好 后置参数)
boot
回复

使用道具 举报

30#
发表于 2022-1-14 17:59:19 | 显示全部楼层
是  :name_fix 引起的,具体看不懂

加上 --set-showsize=0  短路了   :name_fix 时   扩展名 能显示全
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-18 06:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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