无忧启动论坛

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

RUN/NTBOOT for GRUB4EFI

    [复制链接]
发表于 2021-4-24 11:27:23 | 显示全部楼层 |阅读模式
本帖最后由 2011yaya2007777 于 2023-7-28 16:30 编辑

先辈们的 GRUB4DOS 批处理,博大精深,到现在我也没有全部消化。
由于 GRUB4EFI 运行在保护模式,有些变量不能使用,所以 GRUB4DOS 批处理需要做一些适应性修改。

使用 sratlf 0619 版本作为样本,对 RUN 做了一些适应性修改。抛砖引玉,发布在这里。

批处理调试:
debug 批处理文件名 参数
b  设置断点(10个)。  例如: b 45  (当前批处理, 45行)         b p2,134  (2号批处理, 134行)
b l   显示断点  (断点号,批处理号,批处理行号)
b c  清除断点   例如: c2 (清除2号断点);  c (清除全部断点)
n  运行至断点
c  进入命令行  按'ESC'键返回批处理调试
s  跳过本行
e  运行批处理至结束
q  退出批处理
p  单步执行(跨过子程序)
其他  单步执行(遇到子程序进入)

2023-07-28
改进启动wim及vhd(x)。补充帮助信息。

2023-07-22
配合支持尾续的ntboot。
配套使用2023-07-16及以上版本的G4E及ntboot。G4E下载有2个网址,其中一个失效。

2023-07-01
修正 GPT 分区启动 wim/vhd
请与今天发布的 G4E 新版本及附件中的 NTBOOT,配合使用。NTBOOT 应当放在 /efi/grub/ext/ 目录。

2023-06-23
使用 RUN 启动 wim 及 vhd参数:(默认值可以不用设置)
highest  值为yes|no 强制使用最高分辨率。默认no。
winpe    值为yes|no 启动到 WinPE 模式。默认yes。
示例:
set highest=yes
run --automenu

2023-06-15
修正RUN启动vhd.

2021-12-10:
1. 可以使用 NTBOOT 启动 WIM/VHD。假设 NTBOOT 位于 /efi/grub/ext/,winpe.wim 位于 (hdx,y)/boot/imgs/
title 启动 Windows WIM/VHD
map --mem /efi/grub/ext/NTBOOT (hd)
(hd-1,0)/loaderNT (hdx,y)/boot/imgs/winpe.wim
boot

2. RUN 重新修订。一个内部包含 NTBOOT。另一个不包含,需要把 NTBOOT 放在 RUN 指定的默认位置。
title 启动 Windows WIM/VHD
command /efi/grub/ext/RUN   (hdx,y)/boot/imgs/winpe.wim












RUN_2023-07-28.rar

25.37 KB, 下载次数: 456, 下载积分: 无忧币 -2

点评

辛苦了  发表于 2024-5-11 18:40

评分

参与人数 19无忧币 +93 收起 理由
cuicongyuan + 5 赞一个!
yyz2191958 + 2 赞一个!
diskmans + 5 很给力!
sz_kent + 5 很给力!
eset-230620 + 1 赞一个!,可惜新人下载不了
879792799 + 5 run 支持 DIY文件夹吗???
gues1688 + 5 很给力!
AndyChen + 5 很给力!
f111 + 5
2011cwj6958 + 5 很给力!
2012kwy + 5 很给力!
蓝星明月 + 5 赞一个!
ksafei + 5 赞一个!
dian + 5 很给力!
lbw2007 + 5 感谢分享!
liuzhaoyzz + 10 很给力!
2011slkj + 5 赞一个!
有阴也有阳 + 5 很给力!
wuxin9712 + 5

查看全部评分

 楼主| 发表于 2021-4-24 14:31:10 | 显示全部楼层
自己摸索用法,真的太累了。

我收藏的一篇用法,上传到一楼。
这个程序,以前很火,还有 SISO。
说实话,我也不是很会使用。共同学习!

点评

希望大大可以实现5大siso功能 可以在菜单中秒覆盖还原 和 一键run所有vhd img wim iso的系统 这样才是完美的efi g4d啊!!!  详情 回复 发表于 2022-2-27 18:46

评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 要的就是efi siso模块啊!哈哈

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2021-4-24 15:37:24 | 显示全部楼层
find --ignore-floppies --ignore-cd --set-root /EFI/grub/RUN
command --set-path=/efi/grub
command run --loadfont --mem --top --set-showsize=0 --automenu show.iso.wim /boot/imgs/

我按照你的菜单测试,出来一个RUN菜单,选择其中一个,回车,正常!

点评

I'm sorry! 我忘记了一个很重要的前提,这个uefi版本的run模块,必须搭配最新版本的g4e使用。刚才在官网下载2021-4-24日发布的g4e,搭配uefi-run模块遍历显示pe.iso正常,选择之后,启动正常。 我还不知道这个run  详情 回复 发表于 2021-4-24 16:02
回复

使用道具 举报

 楼主| 发表于 2021-4-24 20:48:24 来自手机 | 显示全部楼层
本帖最后由 2011yaya2007777 于 2021-4-24 20:49 编辑

RUN有很多版本。这个版本没有运行wim的语句,但是内置了wimboot,我给精简了。倒是有个1206版本,有启动wim的语句,可惜调试不成功,进入死循环。0619版本我添加了启动wim的语句,与g4e相同。所需的2个外置文件,放在/boot/imgs/即可。
回复

使用道具 举报

 楼主| 发表于 2021-4-25 08:56:20 | 显示全部楼层
这个错误提示不是RUN的。
你是启动的wim吧,在那台笔记本是试一试g4e启动可否成功。如果也失败,则是另外的问题。
RUN对以前的bios模式启动,有许多条件判断和自适应,启动可能会比较成功,相对于初学者。比如交换盘符,比如判断ud是0x80还是0x00,等等。具有独特的作用。
而现在的uefi环境,没有chs的困扰,没有启动盘必须是0x80的限制,不需要交换磁盘,它的优势有所降低。但是具有魅力的搜索功能,作为一个GRUB4DOS批处理的典型范例,还是可以继续学习,研究,发扬的。

点评

不是启动wim出错的,启动g4e正常,选择run那个菜单项之后,抛出了一个错误,右上角显示failed at error.135.0x0。正常情况下会出现13楼的那种菜单。 出现13楼的菜单之后,才有选择pe.iso或者pe.wim的二级菜单,  详情 回复 发表于 2021-4-25 09:16
回复

使用道具 举报

 楼主| 发表于 2021-4-30 19:23:01 来自手机 | 显示全部楼层
使用转意符\

点评

我指的是RUN搜索.iso\.wim文件时,文件名中有空格或_的.iso\.wim文件不会列表出来。 菜单如下: title 运行任意映像文件\n运行/imgs/下映像文件 command --set-path=/efi/ext/ command run --loadfont --mem --t  详情 回复 发表于 2021-5-1 08:43
回复

使用道具 举报

 楼主| 发表于 2021-5-1 09:56:39 | 显示全部楼层
可能是你的RUN版本问题。RUN的版本特别多。
使用我1#提供的RUN测试(不使用转义符):
/boot/imgs/
    hdd_boot_gd.vhd
    z-c s.iso
一切正常!

点评

EFI下的RUN只有楼主您这一个吧,就在此贴下载的,-符号没问题,_符号有问题。  详情 回复 发表于 2021-5-1 10:10
回复

使用道具 举报

 楼主| 发表于 2021-5-7 09:28:08 | 显示全部楼层
路径错误
应当是全路径。可能是 /boot/imgs/

点评

一般应该这么写吧: command --set-path=()/BOOT/GRUB/EXT 如果写成这样: command --set-path=/BOOT/GRUB/EXT 是不是前者是绝对路径,后者是相对路径,或者是一样的?我一般是用第一样写法  详情 回复 发表于 2021-5-7 16:12
路径没错,原因是重复加载了字体文件,RUN是否能判断字体加载情况?  详情 回复 发表于 2021-5-7 09:59
回复

使用道具 举报

 楼主| 发表于 2021-5-11 12:26:47 | 显示全部楼层
"file=" 后面不能有驱动器,如(hd0,0)
修改如下:
chainloader /EFI/grub/ntloader initrd=/EFI/grub/initrd.lz1 uuid=%?_UUID% file=%~pnx1

点评

改成这样,通过: 后面的语句不干扰  详情 回复 发表于 2021-5-11 12:44
回复

使用道具 举报

 楼主| 发表于 2021-5-16 10:55:23 | 显示全部楼层
grub4dos-0.4.6a-2021-04-28有问题,grub4dos-0.4.6a-2021-01-27正常。

已经修正,提交官网。

点评

hotkey一直有问题总未见修正,用4月8日发布的hotkey正常。  详情 回复 发表于 2021-5-17 06:58
回复

使用道具 举报

 楼主| 发表于 2021-5-17 09:29:13 来自手机 | 显示全部楼层
hhh333,你提出来的视乎是热键功能的改进与提升。不是bug。改进的事,我看了源代码,不容易实现。况且只是锦上添花,不是必要的重要的新功能。

点评

no,no,不是改进的问题,是我用你在论坛4月8日发的那个hotkey就可以用,但换成你在正式版本中发的hotkey就黑屏死机。 至于改进,当然有空做一做更好,更符合通用的热键定义习惯。  详情 回复 发表于 2021-5-17 12:12
回复

使用道具 举报

 楼主| 发表于 2021-5-17 17:44:00 来自手机 | 显示全部楼层
终于明白你的意思了。是官网文件的问题。

点评

另外想问一下,G4E如何用winboot  详情 回复 发表于 2021-5-18 18:20
这种写法似乎不行是吧?  详情 回复 发表于 2021-5-17 22:39
回复

使用道具 举报

 楼主| 发表于 2021-5-19 14:32:39 来自手机 | 显示全部楼层
hhh333,grub4dos for bios的热键函数已经修正,下载地址https://github.com/chenall/grubutils

点评

G4D经过测试可以了 G4E看了一下,外置了,是为了与g4d保持使用习惯一致吧,这个思路好,希望能够尽量保持g4d的使用习惯。但启用后虚拟机出现意外错误退出了  详情 回复 发表于 2021-5-19 16:41
好,我测试一下  详情 回复 发表于 2021-5-19 15:51
回复

使用道具 举报

 楼主| 发表于 2021-11-10 09:37:38 来自手机 | 显示全部楼层
uuid %@root%   修改为    uuid ()  试一试
回复

使用道具 举报

 楼主| 发表于 2021-11-10 09:39:12 来自手机 | 显示全部楼层
三个文件要都在同一个卷
回复

使用道具 举报

 楼主| 发表于 2021-12-3 15:14:19 | 显示全部楼层
本帖最后由 2011yaya2007777 于 2021-12-3 15:15 编辑
对通常Wim格式,run没任何问题,我猜测对于某些特殊WIM,W大的NTboot或WIMboot似乎能强行将其改造并顺利引导,我这里启动失败不知算不算个例?其他人有没有出现类似情况?

试一试这个。去掉.txt。
/run (hdx,y)/boot/imge/pe.wim
/run /pe.wim


RUN.txt

822.02 KB, 下载次数: 39, 下载积分: 无忧币 -2

回复

使用道具 举报

 楼主| 发表于 2021-12-3 16:26:18 来自手机 | 显示全部楼层
在命令行试一试。如果不行,把指令参数贴上来。
回复

使用道具 举报

 楼主| 发表于 2021-12-3 16:47:14 来自手机 | 显示全部楼层
我没有测试自动查找。只是附加了ntboot。
回复

使用道具 举报

 楼主| 发表于 2021-12-3 18:06:54 来自手机 | 显示全部楼层
嗷,是我的问题,没有把新g4e打包上传。星期天下午吧。
回复

使用道具 举报

 楼主| 发表于 2021-12-4 05:38:36 来自手机 | 显示全部楼层
这些都与RUN无关。分辨率是由启动后的操作系统设定的。iso不能加载外置应用程序,可能是没有使用诸如svbus子类的驱动,启动到windows,没有挂载iso实模式映像。

点评

这2个包用Grub2FM、ventoy启动的话显示挂载外置都正常,只是期待grub4dos在使用体验上更完善些,如启动wim时外置中的bcd或RUN运行参数设分辨率为1024x768及以上也许更好些; USBOS挂镜像使用的是Ventoy Compatible  详情 回复 发表于 2021-12-4 11:17
回复

使用道具 举报

 楼主| 发表于 2021-12-5 18:26:09 | 显示全部楼层
不管是Run还是Wim文件,都指定了路径,不知什么原因

配套的g4e。


BOOTX64.rar

140.07 KB, 下载次数: 26, 下载积分: 无忧币 -2

回复

使用道具 举报

 楼主| 发表于 2021-12-6 10:48:15 | 显示全部楼层
还是加载失败

使用新的 BOOTX64.efi 及 RUN,在命令行指定路径文件名,仍然失败?截图如何。
回复

使用道具 举报

 楼主| 发表于 2021-12-6 12:59:40 来自手机 | 显示全部楼层
当然可以。run在网上搜了下,都附加了ntboot了,缺点是体积大,好处是一个文件搞定。
回复

使用道具 举报

 楼主| 发表于 2021-12-10 14:52:20 | 显示全部楼层
上传新版 RUN 及 NTBOOT.
回复

使用道具 举报

 楼主| 发表于 2021-12-11 13:21:33 来自手机 | 显示全部楼层
菜单不透明,有黑背景,与g4e有关?还是与run有关?还是菜单设置原因呢?
回复

使用道具 举报

 楼主| 发表于 2021-12-11 15:37:31 来自手机 | 显示全部楼层
run 可以指定路径文件名。如果省略,或者使用自动列表、自动菜单,文件必须放在默认位置。默认位置可以指定(如何指定?有专门的指令参数)。如果省略,则是 /boot/imgs/  。

点评

找到了, 分体式的有效 run --set-usrpath=/ntbootpath/ /src/  详情 回复 发表于 2021-12-11 16:05
回复

使用道具 举报

 楼主| 发表于 2021-12-11 16:34:59 来自手机 | 显示全部楼层
尾ntboot的,必须使用2021-12-10版本的g4e。
回复

使用道具 举报

 楼主| 发表于 2021-12-11 17:06:06 来自手机 | 显示全部楼层
2011whp:我测试的时候,发现自动菜单没有run,准备第二天看看是哪里的问题。第二天修改了一个内存位置,好像是由0x200100修改为0x400,然后测试就有了run。发布前测试,一直正常。搞不懂怎么问题又出现了。你可以看懂批处理,帮忙看看,有个变量runs,是在哪里赋值的run的,是否跳过了。或者是在哪里给清空了?
回复

使用道具 举报

 楼主| 发表于 2021-12-11 18:00:42 来自手机 | 显示全部楼层
你使用自动菜单,命令行是怎么写的?   我是:    /run --auromenu
回复

使用道具 举报

 楼主| 发表于 2021-12-12 14:44:06 来自手机 | 显示全部楼层
传统的含有ntboot。我没有测试能不能启动wim。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-24 18:23

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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