无忧启动论坛

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

[发布] grub2文件管理器(BIOS/UEFI启动 ISO/WIM/VHD...)

    [复制链接]
421#
发表于 2022-6-7 09:56:31 | 只看该作者
wintoflash 发表于 2022-6-7 09:43
是写死的文件名列表
https://github.com/a1ive/grub2-filemanager/blob/918524dc18f08eba1ade421282b54a ...

哈哈,太笨了吧,不过复杂了可能就慢了

点评

本来我也考虑过用通配符,比如 /BOOT/H3_*.wim。但是这样也会把 03pe (wim) 和 native pe 列出来,有的 pe 还带 wim 格式的外置包。 所以我就偷懒了。 你可以在 iso 里面创建 /boot/grub/loopback.cfg 这个文件,  详情 回复 发表于 2022-6-7 10:14
回复

使用道具 举报

422#
 楼主| 发表于 2022-6-7 10:14:18 | 只看该作者
本帖最后由 wintoflash 于 2022-6-7 10:18 编辑
hhh333 发表于 2022-6-7 09:56
哈哈,太笨了吧,不过复杂了可能就慢了

本来我也考虑过用通配符,比如 /BOOT/H3_*.wim。但是这样也会把 03pe (wim) 和 native pe 列出来,有的 pe 还带 wim 格式的外置包。
所以我就偷懒了。
你可以在 iso 里面创建 /boot/grub/loopback.cfg 这个文件,grubfm 会检测显示 "加载 loopback.cfg" 这种菜单项,并把 iso_path 这个变量设为 iso路径。
-- 示例 loopback.cfg,仅供参考 --
  1. menuentry "启动 /BOOT/H3_XXX.WIM" --class nt6 {
  2.   set lang=en_US;
  3.   terminal_output console;
  4.   set installiso="${iso_path}";
  5.   tr --set=installiso "/" "\\";
  6.   loopback -m envblk ${prefix}/null.cpio;
  7.   save_env -s -f (envblk)/null.cfg installiso;
  8.   cat (envblk)/null.cfg;
  9.   loopback wimboot ${prefix}/wimboot.xz;
  10.   loopback install ${prefix}/install.xz;
  11.   wimboot --highest=no --testmode=no \
  12.             @:bootmgfw.efi:(wimboot)/bootmgfw.efi \
  13.             @:null.cfg:(envblk)/null.cfg \
  14.             @:mount_x64.exe:(install)/mount_x64.exe \
  15.             @:mount_x86.exe:(install)/mount_x86.exe \
  16.             @:start.bat:(install)/silent.bat \
  17.             @:winpeshl.ini:(install)/winpeshl.ini \
  18.             @:boot.wim:(loop)/BOOT/H3_XXX.WIM;
  19. }
复制代码

原理是把 iso 路径写入 null.cfg ,并通过 wimboot 把 null.cfg 和 imdisk 及批处理注入 wim。
winpeshl 读取 winpeshl.ini 加载 start.bat,start.bat 安装 imdisk,调用 imdisk 挂载 null.cfg 里面记录的 iso。

点评

我的好说,反正EFI都是64位,h3_*64.wim,但别人的难说,还有就是refind不知是什么技术,64位wim可以自动搜索判断,不合规的或32位的就不出现  详情 回复 发表于 2022-6-7 10:24
回复

使用道具 举报

423#
发表于 2022-6-7 10:24:33 | 只看该作者
wintoflash 发表于 2022-6-7 10:14
本来我也考虑过用通配符,比如 /BOOT/H3_*.wim。但是这样也会把 03pe (wim) 和 native pe 列出来,有的 p ...

我的好说,反正EFI都是64位,h3_*64.wim,但别人的难说,还有就是refind不知是什么技术,64位wim可以自动搜索判断,不合规的或32位的就不出现

点评

估计就是根据文件名判断吧,比如判断文件名包含 32,86 之类的  详情 回复 发表于 2022-6-7 10:52
回复

使用道具 举报

424#
 楼主| 发表于 2022-6-7 10:52:44 | 只看该作者
hhh333 发表于 2022-6-7 10:24
我的好说,反正EFI都是64位,h3_*64.wim,但别人的难说,还有就是refind不知是什么技术,64位wim可以自动 ...

估计就是根据文件名判断吧,比如判断文件名包含 32,86 之类的
回复

使用道具 举报

425#
发表于 2022-10-6 12:29:15 | 只看该作者
感谢分享
回复

使用道具 举报

426#
发表于 2022-10-6 14:44:05 | 只看该作者
好分享要支持
回复

使用道具 举报

427#
发表于 2022-10-12 13:53:35 来自手机 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

428#
发表于 2022-10-14 16:54:39 | 只看该作者
grub2文件管理器是款精品软件,值得拥有
回复

使用道具 举报

429#
发表于 2022-11-7 08:56:34 | 只看该作者
2012sunyu4506 发表于 2021-1-14 10:12
经过一段时间的研究给跟自己一样的小白。
如果想要用grubfm做自已的Grub引导菜单
search --set=user -f - ...

可以自定义主题吗?似乎不可以。
回复

使用道具 举报

430#
发表于 2022-11-8 22:33:33 | 只看该作者
本帖最后由 青青草 于 2022-11-18 16:42 编辑

wintoflash大:你好!
     grubfm通过config:configfile (hd0)/boot/grubfm/grub.cfg可以加载自定义菜单。
请问:可以自定义主题么?     不用解答了,已解决。谢谢!
回复

使用道具 举报

431#
发表于 2022-11-8 22:39:11 | 只看该作者
好东西,谢谢分享!
回复

使用道具 举报

432#
发表于 2022-11-17 10:09:28 | 只看该作者
本帖最后由 青青草 于 2022-11-17 12:38 编辑

请教大神:
      今天得空,下载了你的grub2-filemanager-7.4.0源码,在wsl中重新构建,
git clone https://github.com/a1ive/grub2-filemanager.git  正常运行
cd grub2-filemanager-7.4.0 却出现:-bash: cd: grub2-filemanager-7.4.0: No such file or directory                       
    没有这样的文件或目录。这是什么原因造成的?应如何处理?我对Ubuntu是外行,麻烦赐教!谢谢!                                                                       不用解答了。已解决了。谢谢!


回复

使用道具 举报

433#
发表于 2022-11-27 16:13:48 | 只看该作者
  谢谢分享
回复

使用道具 举报

434#
发表于 2022-12-11 16:40:28 | 只看该作者
请教一下:
      用grubfm.iso启动的Wim文件是否对大小有限制?
谢谢!

点评

你指的是哪种方式? wimboot 还是 ntboot?bios 还是 uefi ? 如果是 BIOS 启动, wimboot: (1) FAT32 硬性限制: 4GB (2) grub2 和 bootmgr 分别要把 wim 镜像加载到内存,因此至少需要两倍 wim 体积的内存。  详情 回复 发表于 2022-12-11 20:58
回复

使用道具 举报

435#
 楼主| 发表于 2022-12-11 20:58:04 | 只看该作者
青青草 发表于 2022-12-11 16:40
请教一下:
      用grubfm.iso启动的Wim文件是否对大小有限制?
谢谢!

你指的是哪种方式? wimboot 还是 ntboot?bios 还是 uefi ?
如果是 BIOS 启动,
wimboot:
(1) FAT32 硬性限制: 4GB
(2) grub2 和 bootmgr 分别要把 wim 镜像加载到内存,因此至少需要两倍 wim 体积的内存。
(3) grub2 阶段加载的限制比较少,只需 4GB 以下的连续内存即可。
(4) bootmgr 阶段加载的限制比较多,要求 2GB 以下的连续内存。
以上四个条件都要满足。不同的机器,内存映射 (memory map) 不同,限制也是不同的。
ntboot:
只需满足条件 (4) 即可,即 2GB 以下有能够容纳 wim 的连续内存,和 bootmgr 正常启动 wim 的要求是一样的。

如果是 UEFI 启动,
wimboot:
(1) FAT32 硬性限制: 4GB
(2) 有能容纳 wim 的连续空闲内存,且 UEFI 固件允许启动管理器分配并使用它。
ntboot:
只需满足条件 (2) 即可。

点评

谢谢!  详情 回复 发表于 2022-12-12 12:11
回复

使用道具 举报

436#
发表于 2022-12-12 12:11:47 | 只看该作者
wintoflash 发表于 2022-12-11 20:58
你指的是哪种方式? wimboot 还是 ntboot?bios 还是 uefi ?
如果是 BIOS 启动,
wimboot:

谢谢!
回复

使用道具 举报

437#
发表于 2022-12-20 19:54:18 | 只看该作者
看起来好漂亮,感觉也复杂的
回复

使用道具 举报

438#
发表于 2022-12-20 20:42:29 | 只看该作者
谢谢
回复

使用道具 举报

439#
发表于 2023-1-7 12:25:49 来自手机 | 只看该作者
可惜
回复

使用道具 举报

440#
发表于 2023-2-25 21:22:45 | 只看该作者
很给力!
回复

使用道具 举报

441#
发表于 2023-2-25 21:41:56 | 只看该作者
很给力!
回复

使用道具 举报

442#
发表于 2023-2-26 13:26:31 | 只看该作者
这个东西,挺深奥的,看不懂
回复

使用道具 举报

443#
发表于 2023-3-3 20:10:02 | 只看该作者
感谢楼主热心分享
回复

使用道具 举报

444#
发表于 2023-3-12 23:04:50 | 只看该作者
        很给力!
回复

使用道具 举报

445#
发表于 2023-4-12 20:22:24 | 只看该作者
受益者很多
回复

使用道具 举报

446#
发表于 2023-5-5 19:53:12 | 只看该作者
感谢分享,学习
回复

使用道具 举报

447#
发表于 2023-5-5 23:58:59 | 只看该作者
感谢分享
回复

使用道具 举报

448#
发表于 2023-6-4 11:58:36 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-6-4 20:03 编辑

Oraclelinux用grub2filemanager,BIOS/UEFI都启动不了,检测到是基于Fedora的发行版。
Fedora、partnew、map,三种方案都不行,这个iso很邪门,估计是不支持吧。还有兴趣研究吗?
详见截图。

DistroWatch.com: Oracle Linux
https://distrowatch.com/table.php?distribution=oracle
操作系统类型: Linux
基于何种发行: Red Hat
来源: USA
处理器架构: aarch64, x86_64
桌面: GNOME
类型: Server
状态: 活跃发展中
受欢迎程度排名: 99 (136 每日点击次数)
Oracle Linux是由Oracle支持的企业级Linux发行,它从红帽企业Linux(RHEL)的源代码包生成。Oracle Linux的独有特性包括一份定制且严格测试过的名为“Oracle Unbreakable Kernel”的Linux内核,与Oracle的多数数据库应用在内的软硬件产品的紧密集成,以及“零掉线打补丁”技术——该特性能让系统管理员在不重启的情况下更新内核。

受欢迎程度排名 (每日点击次数): 12 个月: 78 (148), 6 个月: 99 (136), 3 个月: 91 (140), 4 个星期: 62 (186), 1 个星期: 26 (416)

Oracle Linux ISOs | Oracle, Software. Hardware. Complete.
https://yum.oracle.com/oracle-linux-isos.html

Customizing Boot Loader Actions
https://docs.oracle.com/en/opera ... s.html#boot-options
安装引导选项
此列表包含一些最常用的引导选项,这些选项进一步确定安装的进行方式。在启动安装过程之前,您可以在安装菜单中指定这些选项。

您可以参考这些附加信息源以获取更多引导选项:

https://anaconda-installer.readt ... t/boot-options.html
手册dracut.cmdline(7)页提供了 Dracut 内核命令行选项。

安装类型

inst.graphical
指定基于图形的安装。

inst.gpt
仅适用于磁盘大小小于 2 TiB 的基于 BIOS 的系统。指定在安装引导加载程序时使用 GUID 分区表而不是默认的 MBR。

安装源

inst.repo=cdrom[:设备]
将 CD 或 DVD 驱动器指定为包含安装软件所需的一切的位置。

安装程序搜索所有系统的 CD 或 DVD 驱动器,除非 指定了 设备。

如果需要访问网络并且未指定网络引导选项,则安装程序会在所有可用的网络设备上启用 DHCP。

inst.repo=ftp://用户 : 密码@ FTP_server /路径
将 FTP 服务器指定为包含安装软件所需的一切的位置。

如果需要访问网络并且未指定网络引导选项,则安装程序会在所有可用的网络设备上启用 DHCP。

inst.repo=hd:设备:路径
将本地磁盘指定为包含安装软件所需的一切的位置。

device您可以通过其设备名称 ( sdb2)、标签 ( ) 或 UUID ( ) 来指定。 LABEL=label UUID=uuid

inst.repo=[http:|https:]// HTTP_server /路径
将 Web 服务器指定为包含安装软件所需的一切的位置。如果您的系统可以访问 Internet,则可以使用 Oracle Linux yum 服务器上的 BaseOS 存储库来安装您正在安装的 Oracle Linux 版本。例如,您可以将此值设置为 https://yum.oracle.com/repo/OracleLinux/OL9/baseos/latest/x86_64

inst.repo=nfs:[选项:] NFS_server :路径
将 NFS 共享指定为包含安装软件所需的一切的位置。

用于options指定以逗号分隔的 NFS 安装选项列表。

NFS 共享可以是 ISO 映像或目录的路径。

inst.stage2=[安装源]
指定获取安装程序运行时映像的位置;包被忽略。如果未指定此选项,inst.repo则使用。为installation_source指定的路径可以匹配用于 的任何协议和路径选项inst.repo。

为installation_source指定的目录路径应包含.treeinfo指定运行时映像位置的有效文件。如果.treeinfo文件不存在于源中,安装程序将用作LiveOS/squashfs.img指定源中的默认位置。

重要的:在 UEK 网络安装中指定运行时映像时,也将 UEK ISO 用于安装库。不要同时使用标准 Oracle Linux ISO 映像作为安装库,同时为运行时映像指定 Oracle Linux UEK 引导 ISO。
网络配置

ip=[接口:]dhcp|dhcp6|auto6|ibft
指定网络自动配置方法。如果 interface未指定,则配置所有接口。用于ibft使用系统 BIOS 或固件中 iSCSI 引导固件表 (iBFT) 指定的接口的 MAC 地址。

ip= ip::网关:网络掩码:主机名:接口:无
为 指定静态 IP 配置 interface。将 IPv6 地址括在方括号中,例如[2509:f0d0:1001::0004].

名称服务器= IP
指定要在安装期间使用的 DNS 服务器的 IP 地址。nameserver可以使用 多个 选项。

bootdev=接口
指定主网络接口。如果您使用多个 ip选项,则需要。

inst.dhcp类
为 DHCP 指定供应商类标识符。

启动安装

inst.ks=cdrom[:设备]/路径
指定 CD 或 DVD 驱动器上的 kickstart 文件。

inst.ks=ftp://用户 : 密码@ FTP_server /路径
指定 FTP 服务器上的 kickstart 文件。

inst.ks=hd:设备:路径
指定本地磁盘的 k??ickstart 文件。

device您可以通过其设备名称 ( sdb2)、标签 ( ) 或 UUID ( ) 来指定。LABEL=label UUID=uuid

inst.ks=[http:|https:]// HTTP_server /路径
指定 Web 服务器上的 kickstart 文件。

inst.ks=nfs:[选项:] NFS_server :路径
指定 NFS 共享上的 kickstart 文件。

用于options指定以逗号分隔的 NFS 安装选项列表。

远程安装

inst.vnc文件
通过启动 VNC 服务器启用基于图形的远程安装。

VNC 客户端可以使用诸如 之类的命令进行连接,其中服务器是正在安装的系统的 IP 地址。 vncviewer server:port

安装后,即使选择图形桌面环境作为基本环境,系统也会以文本模式启动。

inst.vncconnect=客户端[:端口]
指定侦听来自 VNC 服务器 ( vncviewer -listen) 的连接的 VNC 客户端和可选端口。默认端口为 5900。

inst.vncpassword=密码
指定使用 VNC 的客户端连接的密码。

其他引导选项

inst.keymap=布局
指定安装的键盘布局。

inst.lang=语言
指定安装语言。

inst.loglevel=级别
指定安装的日志记录级别:critical、 debug、error、info或 warning。默认级别是info.


GPT-TEST-2023-06-04-11-49-24.png (11.15 KB, 下载次数: 258)

GPT-TEST-2023-06-04-11-49-24.png

oracle启动脚本.rar

11.76 KB, 下载次数: 1, 下载积分: 无忧币 -2

点评

看截图没毛病啊,已经挂载 ISO 了。你用的是 Full ISO 吗,这玩意也忒大了,不支持 NTFS 吧。  详情 回复 发表于 2023-6-4 12:12
回复

使用道具 举报

449#
 楼主| 发表于 2023-6-4 12:12:17 | 只看该作者
liuzhaoyzz 发表于 2023-6-4 11:58
Oraclelinux用grub2filemanager,BIOS/UEFI都启动不了,检测到时基于Fedora的发行版。
Fedora、partnew、m ...

看截图没毛病啊,已经挂载 ISO 了。你用的是 Full ISO 吗,这玩意也忒大了,不支持 NTFS 吧。

点评

不是full iso,他叫做admincd,bootcd,好像是469MB,我在外面。这个发行版我尝试很多参数,菜单,都搞不定。如果你不想更新grub2fm,来个g4d/g4e/grub2启动的菜单也行啊。这个oracle linux来自于redhat,但是RHEL,  详情 回复 发表于 2023-6-4 13:03
回复

使用道具 举报

450#
发表于 2023-6-4 13:03:23 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2023-6-4 13:20 编辑
wintoflash 发表于 2023-6-4 12:12
看截图没毛病啊,已经挂载 ISO 了。你用的是 Full ISO 吗,这玩意也忒大了,不支持 NTFS 吧。

不是full iso,他叫做admincd,bootcd,好像是908MB,我在外面。这个发行版我尝试很多参数,菜单,都搞不定。如果你不想更新grub2fm,来个g4d/g4e/grub2启动的菜单也行啊。这个oracle linux来自于redhat,但是RHEL,CENTOS都没问题,类似的菜单就不行,奇怪的很。
我是放在FAT32分区尝试的。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

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

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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