无忧启动论坛

 找回密码
 注册
搜索
WEPE笔记本电脑手机维修小包 IT发烧友的必备工具最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站
查看: 1755|回复: 17

[讨论] 两个需求建议,不知道好不好实现

[复制链接]
发表于 2019-5-30 10:34:36 | 显示全部楼层 |阅读模式
我在使用grub2的过程中,遇到了很多不方便,如果GRUB2的命令行命令ls或者search.file模块可以支持通配符*和?并且增加一个--set参数,使得我可以在菜单中使用它列出我需要的文件目录名并存到某个变量,然后我就可以用 for in 循环这些文件,那么启动菜单的功能可以更加容易实现。
不知道论坛里没有开发组的成员,希望这个建议可以被早点实现。
发表于 2019-5-31 00:15:02 | 显示全部楼层
楼主好想法,希望早日实现,能出个成品
回复

使用道具 举报

发表于 2019-5-31 08:57:05 | 显示全部楼层
本帖最后由 青青草 于 2019-5-31 08:59 编辑
wintoflash 发表于 2019-5-30 10:45
如果你加了regexp模块,就自动支持通配符 (*可以,?没用过不清楚)
search.file是个阉割版模块,正常情况下 ...


       分区格式为 FAT,卷标为 SYSTEM 的磁盘根目录下有文件夹WXPE,该文件夹下有:10PEX64.wim、10PEX86.wim、WIN7PEX64.wim 等等。
      下面的代码,目的是:以64位 wim 的文件名为菜单条名称,分别启动相应的PE。该段代码错在哪了?
  • if [ "${grub_platform}" == "efi" ]; then
  •    for dev in (*); do       
  •         test -e ${dev};
  •         if test "$?" = "1"; then
  •                 continue;
  •         fi;
  •         regexp --set=device '\((.*)\)' $dev;
  •         probe --set=fs -f "${device}";
  •         probe --set=label -l "${device}";
  •         if [ "$fs" = "fat" ]; then
  •              if [ "$label" = "SYSTEM" ]; then
  •                 set czdz=($device)/WXPE/*;
  •                 for file in $czdz; do                                
  •                      test -f ${file};                   
  •                           if [ "${grub_cpu}" == "x86_64" ]; then                            
  •                                regexp --set=pewim '^.*\/(.*[6][4].*\.[wW][iI][mM]$)' $file;       
  •                                regexp --set=pemane '^.*\/(.*[6][4].*)\.[wW][iI][mM]$' $file;                                         
  •                           fi;
  •                           if test -f ($device)/WXPE/$pewim; then                                         
  •                                menuentry "启动 $pemane ($device)" "$device"  --users zhc{       
  •                                     insmod progress        
  •                                     set root=$2;
  •                                      loopback wimboot (memdisk)/boot/grub/wimboot.gz
  •                                      wimboot @:boot.wim:($root)/WXPE/$pewim @:bootmgfw.efi:    (wimboot)/bootmgfw.efi @:bcd:(wimboot)/bcd @:boot.sdi:(wimboot)/boot.sdi
  •                }
  •                         fi;                                
  •                           unset $pewim
  •                           unset $pemane
  •                done;       
  •             fi;
  •         fi;       
  •   done;
  • fi;
特此请教,谢谢了!
回复

使用道具 举报

发表于 2019-5-31 09:31:39 | 显示全部楼层
wintoflash 发表于 2019-5-31 09:08
menuentry "启动 $pemane ($device)" "$device" "$pewim"  --users zhc{   
set pewim=$3

解决了。谢谢!
回复

使用道具 举报

发表于 2019-6-1 17:23:12 | 显示全部楼层
wintoflash 发表于 2019-5-31 09:08
menuentry "启动 $pemane ($device)" "$device" "$pewim"  --users zhc{   
set pewim=$3

再请教个问题:
      1、用您修改的grub2定制的grldr 【BIOS】,可以放在UD区吗?
      2、读取UD区文件需要加载哪个模块?依稀记得您好像在哪个帖子里有提到过,却找不到了。

点评

1.可以。我是这样用的 2.好像是fb  详情 回复 发表于 2019-6-1 17:47
回复

使用道具 举报

发表于 2019-6-1 17:47:02 | 显示全部楼层
青青草 发表于 2019-6-1 17:23
再请教个问题:
      1、用您修改的grub2定制的grldr 【BIOS】,可以放在UD区吗?
      2、读取UD区 ...

1.可以。我是这样用的
2.好像是fb

点评

记得当时曾经成功定制了可以放在UD区的grldr,后来U盘坏了,就没有再弄。 昨天新买了一个U盘,想重新定制一个放在UD区的grldr,却怎么也想不起来当初是怎么定制成功的; 唉,老了... ... 依稀记得好像是:  详情 回复 发表于 2019-9-5 11:02
谢谢! 另外,在grub2中,UD区是如何标识的?如,路径 UD区/WXPE/bios.cpio,应如何书写?  详情 回复 发表于 2019-6-2 08:43
回复

使用道具 举报

发表于 2019-6-2 08:43:15 | 显示全部楼层
ksafei 发表于 2019-6-1 17:47
1.可以。我是这样用的
2.好像是fb

谢谢!
      另外,在grub2中,UD区是如何标识的?如,路径 UD区/WXPE/bios.cpio,应如何书写?

点评

下个grub2文件管理器抄一下好了嘛,ud貌似一直是(hd0)  详情 回复 发表于 2019-6-2 10:12
回复

使用道具 举报

发表于 2019-6-2 10:12:51 | 显示全部楼层
本帖最后由 江南一根葱 于 2019-6-2 10:14 编辑
青青草 发表于 2019-6-2 08:43
谢谢!
      另外,在grub2中,UD区是如何标识的?如,路径 UD区/WXPE/bios.cpio,应如何书写?


下个grub2文件管理器抄一下好了嘛,ud貌似一直是(hd0),模块是fb.mod,我直接用grubfm来生成的,又不怕缺模块,又能抄。。

点评

谢谢!  详情 回复 发表于 2019-6-2 17:40
回复

使用道具 举报

发表于 2019-6-2 17:40:58 | 显示全部楼层
江南一根葱 发表于 2019-6-2 10:12
下个grub2文件管理器抄一下好了嘛,ud貌似一直是(hd0),模块是fb.mod,我直接用grubfm来生成的,又不怕 ...

谢谢!
回复

使用道具 举报

发表于 2019-6-2 17:41:16 | 显示全部楼层
wintoflash 发表于 2019-6-2 10:17
第一块硬盘 (hd0) ud区 (hd0) 第一分区 (hd0,1) 第二分区 (hd0,2)
第二块硬盘 (hd1) ud区 (hd1) 第一 ...

谢谢!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2019-12-14 01:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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