|
本帖最后由 wintoflash 于 2022-6-7 10:18 编辑
本来我也考虑过用通配符,比如 /BOOT/H3_*.wim。但是这样也会把 03pe (wim) 和 native pe 列出来,有的 pe 还带 wim 格式的外置包。
所以我就偷懒了。
你可以在 iso 里面创建 /boot/grub/loopback.cfg 这个文件,grubfm 会检测显示 "加载 loopback.cfg" 这种菜单项,并把 iso_path 这个变量设为 iso路径。
-- 示例 loopback.cfg,仅供参考 --
- menuentry "启动 /BOOT/H3_XXX.WIM" --class nt6 {
- set lang=en_US;
- terminal_output console;
- set installiso="${iso_path}";
- tr --set=installiso "/" "\\";
- loopback -m envblk ${prefix}/null.cpio;
- save_env -s -f (envblk)/null.cfg installiso;
- cat (envblk)/null.cfg;
- loopback wimboot ${prefix}/wimboot.xz;
- loopback install ${prefix}/install.xz;
- wimboot --highest=no --testmode=no \
- @:bootmgfw.efi:(wimboot)/bootmgfw.efi \
- @:null.cfg:(envblk)/null.cfg \
- @:mount_x64.exe:(install)/mount_x64.exe \
- @:mount_x86.exe:(install)/mount_x86.exe \
- @:start.bat:(install)/silent.bat \
- @:winpeshl.ini:(install)/winpeshl.ini \
- @:boot.wim:(loop)/BOOT/H3_XXX.WIM;
- }
复制代码
原理是把 iso 路径写入 null.cfg ,并通过 wimboot 把 null.cfg 和 imdisk 及批处理注入 wim。
winpeshl 读取 winpeshl.ini 加载 start.bat,start.bat 安装 imdisk,调用 imdisk 挂载 null.cfg 里面记录的 iso。 |
|