无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 2011whp

[分享] GRUB4DOS for UEFI 教程(抄作业)

    [复制链接]
发表于 2022-11-3 21:10:41 | 显示全部楼层
回复

使用道具 举报

发表于 2022-11-4 10:22:45 | 显示全部楼层
很好
回复

使用道具 举报

发表于 2022-11-4 18:12:25 | 显示全部楼层
谢谢,正想学习一下
回复

使用道具 举报

发表于 2022-11-14 12:29:07 | 显示全部楼层
2011whp 发表于 2020-11-23 19:58
————————————————————————————————————————————
title 启动 ...

各位大师,想学用 GRUB4DOS for UEFI (下面简称 G4E)
抄作业的时候发现,用G4E引导 ISO的时候,用下面的方式引导:

title 启动 *** winpe   (或 含svbus的win安装盘)
find --set-root /src/z.iso
map --mem  /src/z.iso (0xff)
chainloader (0xff)

但我好像有很多的 ISO 不能正常被引导启动,如我在 GRUB4DOS 中一直用的 Acronics ISO,和 Paragon HD Manager ISO。不知是什么原因?

在 GRUB4DOS中, 我用:
title [4] PHDM14p
        set iso_file=/PE/iso/PHDM14p.iso
        map %iso_file% (hd32)
        map --hook
        chainloader (hd32)

title [5] ATI2014
        set iso_file=/PE/iso/ATI_2014.iso
        map %iso_file% (hd32)
        map --hook
        chainloader (hd32)

能够正常引导。

在 G4E中我用
title 启动虚拟光盘 PHDM14p
        set iso_file=/PE/iso/PHDM14p.iso
        find --set-root %iso_file%
        map %iso_file% (0xff)
        chainloader (0xff)

title 启动虚拟光盘 ATI_2014
        set iso_file=/PE/iso/ATI_2014.iso
        find --set-root %iso_file%
        map %iso_file% (0xff)
        chainloader (0xff)

不能正常引导,跳回了菜单。

这个情况,有解吗? 谢谢。。。


回复

使用道具 举报

发表于 2022-11-14 20:10:42 | 显示全部楼层
谢谢,正想学习一下
回复

使用道具 举报

发表于 2022-11-15 16:31:32 | 显示全部楼层
xianglang 发表于 2020-11-27 14:07
我也不清楚,反正我的 G4D 菜单,有关颜色的就如 10 楼的那样几句,再没有特殊设置了,其他都是默认的。 ...

我想问一下你的启动菜单这个Mem86+是新版本的Mem测试?可以支持4代和5代内存测试的那个最新版本的?

点评

好几年前的了,是否支持新内存不清楚,这些检测内存有没有坏的,和硬盘检测一样,应该不分是和代的吧。  详情 回复 发表于 2022-11-16 12:34
回复

使用道具 举报

发表于 2022-11-16 12:34:40 | 显示全部楼层
xuejm 发表于 2022-11-15 16:31
我想问一下你的启动菜单这个Mem86+是新版本的Mem测试?可以支持4代和5代内存测试的那个最新版本的?

好几年前的了,是否支持新内存不清楚,这些检测内存有没有坏的,和硬盘检测一样,应该不分是和代的吧。
回复

使用道具 举报

发表于 2022-11-20 03:50:00 | 显示全部楼层
过来看看,学习一下
回复

使用道具 举报

发表于 2022-11-22 16:57:08 | 显示全部楼层
2011whp 发表于 2020-11-23 19:58
————————————————————————————————————————————
title 启动 ...

****
title 启动本机系统(硬盘)
chainloader (hdx)
#此菜单出错时,用这个http://bbs.wuyou.net/forum.php?m ... =422652&pid=4321966
****

正在尝试上面的启动功能。。。。但不理解下面这段代码的实际作用,在实体机上试,也是一闪二过,好像没有工作:

****
title 启动本机硬盘(hd1)\n修改菜单内的相应磁盘号 启动其它硬盘
!BAT
command
find /efi/boot/bootx64.efi > (md)0x301+1
set @extend 0x60000 1
write (md)0x300+1 hdaaaa
:forstar
if "%%hdaaaa%%a"=="a" goto :end
if "%%hdaaaa:~0,4%%"=="(hd1" chainloader %%hdaaaa:~0,7%%/efi/boot/bootx64.efi && boot
set hdaaaa=%hdaaaa:~1%
goto :forstar
:end
******

有朋友可以帮忙解惑一下吗?万分感谢。。。

回复

使用道具 举报

发表于 2022-11-30 23:59:54 | 显示全部楼层
学习
回复

使用道具 举报

发表于 2022-12-9 01:57:05 | 显示全部楼层
3q
回复

使用道具 举报

发表于 2022-12-9 01:57:36 | 显示全部楼层
谢谢大佬无私
回复

使用道具 举报

发表于 2022-12-16 16:17:44 | 显示全部楼层
教程很好,很实用,谢谢了
回复

使用道具 举报

发表于 2023-1-3 14:50:13 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

发表于 2023-1-14 12:10:02 | 显示全部楼层
多谢楼主分享GRUB4DOS的教程,进来看看,学习学习
回复

使用道具 举报

发表于 2023-1-29 10:01:40 | 显示全部楼层
建议搞个安装程序包,下载,解压,运行,然后选择安装到硬盘还是U盘就搞定,这样利于推广。
回复

使用道具 举报

发表于 2023-1-31 03:11:07 | 显示全部楼层
感谢楼主分享,ZSBD
回复

使用道具 举报

发表于 2023-2-8 22:34:46 | 显示全部楼层
眼都花了
回复

使用道具 举报

发表于 2023-2-20 11:43:24 | 显示全部楼层
111111111111111111111111111111111111
回复

使用道具 举报

发表于 2023-2-20 11:44:02 | 显示全部楼层
111111111111111111111111111111111111
回复

使用道具 举报

发表于 2023-4-6 09:15:27 | 显示全部楼层
2011whp 发表于 2022-9-1 13:58
软碟通 添加 efi启动:(软碟通版本 9.7 以后)添加efi引导快捷键:ctrl+alt+i
具体:
1. 新建udf dvd光盘 ...

有些PE没有efisys_noprompt.bin,它是怎样做到可引导EFI的?我试过用软碟通保存可引导信息,再导入也是不可以引导的,有什么方法吗?谢谢

点评

直接用 bootmgfw.efi 做成 efisys.bin软盘  发表于 2023-4-7 11:49
回复

使用道具 举报

 楼主| 发表于 2023-4-7 11:52:47 | 显示全部楼层
本帖最后由 2011whp 于 2023-6-1 12:39 编辑

1. linux6.2变更vmlinuz,   致 引导提交准备 及 bios入口 变化
   原来:为 efi handover(efi移交方式)
   现在:为 loadfile2 方式

2. g4e启动linux方式  变更:
    g4e2023-3-11以前版本,
          启linnux6.2内核以前版:直用:kernel
          启linnux6.2内核以后版:直用:不能
    g4e2023-3-11以后版本(建议用 新版),
          启linnux6.2内核以前版:更为:chainloader /vmlinuz initrd=initrd
          启linnux6.2内核以后版:直用:kernel
http://bbs.wuyou.net/forum.php?m ... 3224&fromuid=413782
3. 用法类似 ntloader V2


          原贴:http://bbs.wuyou.net/forum.php?m ... 9929&fromuid=413782

(暂时 理解,不知 对不对)
linux6.2后loadf2.jpg


g4e2023-3-29后,kernel默认 为 efi hanlder,  
          支持参数:kernel --loadfile2
回复

使用道具 举报

 楼主| 发表于 2023-4-7 17:52:07 | 显示全部楼层
wimboot 启动 winpe.wim(g4e 2023-3-19版以后)可以注入一个文件到wim内的\windows\system32\aaaa.bat  ,实现diy内部(传统信息)


————————————————————————————————————————————
title wimoboot方式启wim \n(可注入一个文件start.bat到windows\system32\aaaa.bat)
find --set-root /EFI/grub/wimboot/wimboot | set x=
kernel /EFI/grub/wimboot/wimboot
find --set-root /winpe.wim
initrd @bootmgfw.efi=%x%/EFI/grub/wimboot/bootmgfw.efi
initrd @bcd=%x%/EFI/grub/wimboot/bcd
initrd @boot.sdi=%x%/EFI/grub/wimboot/boot.sdi
initrd @wgl4_boot.ttf=%x%/EFI/grub/wimboot/wgl4_boot.ttf
initrd @aaaa.bat=%x%/EFI/grub/wimboot/start.bat
initrd @boot.wim=/winpe.wim



————————————————————————————————————————————
附件: wimboot方式启动.zip (1.22 MB, 下载次数: 102)

点评

对于一般的 winpe (拒绝抬杠) 来说,注入 winpeshl.ini 就可以在启动过程中执行我们注入的批处理,进行挂载 ISO 或者其他的骚操作。 还可以直接把微软原版ISO的boot.wim改造成带任务栏的winpe。 示例 (仅供参考,W  详情 回复 发表于 2023-4-12 11:50
回复

使用道具 举报

发表于 2023-4-7 17:56:17 | 显示全部楼层
请教一下楼主,以前用grub4dos将WIN10.VHD(安装了SVbus)注入内存运行,一切正常。现想升级成grub4dos_uefi,直接COPY的以前那个win10.vhd,再在menu.lst里写入
title 启动 Ramos vhd
find --set-root /win10/w10.vhd
map --mem --top /win10/w10.vhd (hd)
chainloader (hd-1)
能将VHD文件读入内存,但读完后就出现error 21  selected disk does not exist 的提示,请问这个如何解决?谢谢!

点评

vhd内没引导,建议用ntloader  发表于 2023-4-7 18:02
回复

使用道具 举报

发表于 2023-4-8 15:23:06 | 显示全部楼层
cl20170609 发表于 2023-4-7 17:56
请教一下楼主,以前用grub4dos将WIN10.VHD(安装了SVbus)注入内存运行,一切正常。现想升级成grub4dos_uefi ...

检查了一下 ,VHD里应该能引导启动的,我用Virtaulbox虚拟机单独使用这个盘(BIOS方式启动)能正常进入系统。用DiskGenius查看分区是MBR=>550MB系统保留区(NTFS格式)=》10GB文件区(NTFS格式)。
回复

使用道具 举报

发表于 2023-4-9 21:33:32 | 显示全部楼层
前来学习,感谢分享
回复

使用道具 举报

发表于 2023-4-11 10:53:24 | 显示全部楼层
2011whp 发表于 2022-1-2 12:42
qbus.vhd 测试g4e菜单 (网盘内 :双分区vhd)qbus.vhd文件 放在ntfs分区(BCD有镜像 内外同驱 问题)

t ...

请教楼主,用您提供的qbus.vhd这些菜单都能正常运行,但若用GHOST或DiskGenius克隆一个大小相同的VHD盘就没法运行。请教您这个qbus.vhd是用什么方法制作的?

另外,您指点的ntloader能直接运行硬盘上的VHD系统,但无法让它在内存里运行。下面是我能直接运行系统的menu.lst
title Boot Windows NT6+ PE
uuid (hd0,2)
chainloader /efi/grub/ntloader initrd=/efi/grub/initrd.lz1 uuid=%?_UUID% file=/win2022/win2022.vhd

若设置成这样就没法运行了。
find --ignore-floppies --ignore-cd /EFI/grub/ntloader
find --ignore-floppies --ignore-cd --set-root /win2022/win2022.vhd
map --mem --top /win2022/win2022.vhd (hd)
uuid (hd-1,2)
chainloader /efi/grub/ntloader initrd=/efi/grub/initrd.lz1 uuid=%?_UUID% file=/win2022/win2022.vhd

请教如何让这VHD在内存里运行,谢谢!

点评

内存方式:不需要 file参数  发表于 2023-4-11 12:52
回复

使用道具 举报

发表于 2023-4-12 11:50:04 | 显示全部楼层
2011whp 发表于 2023-4-7 17:52
wimboot 启动 winpe.wim(g4e 2023-3-19版以后)可以注入一个文件到wim内的\windows\system32\aaaa.bat  , ...

对于一般的 winpe (拒绝抬杠) 来说,注入 winpeshl.ini 就可以在启动过程中执行我们注入的批处理,进行挂载 ISO 或者其他的骚操作。
还可以直接把微软原版ISO的/sources/boot.wim改造成带任务栏的winpe。
示例 (仅供参考,WinXShell 可以在论坛里面下载,explorer.exe 就是 Explorer++)
  1. title wimboot
  2. find --set-root /EFI/grub/wimboot/wimboot | set x=
  3. kernel /EFI/grub/wimboot/wimboot index=2
  4. find --set-root /winpe.wim
  5. initrd @bootmgfw.efi=%x%/EFI/grub/wimboot/bootmgfw.efi
  6. initrd @bcd=%x%/EFI/grub/wimboot/bcd
  7. initrd @boot.sdi=%x%/EFI/grub/wimboot/boot.sdi
  8. initrd @winpeshl.ini=%x%/EFI/grub/wimboot/winpeshl.ini
  9. initrd @explorer.exe=%x%/EFI/grub/wimboot/explorer.exe
  10. initrd @WinXShell.exe=%x%/EFI/grub/wimboot/WinXShell.exe
  11. initrd @WinXShell.jcfg=%x%/EFI/grub/wimboot/WinXShell.jcfg
  12. initrd @boot.wim=/sources/boot.wim
复制代码

winpeshl.ini
  1. [LaunchApps]
  2. %SYSTEMROOT%\System32\WinXShell.exe, -winpe
复制代码

点评

diy 普通pe (pecmd.ini) 可行的 initrd @aaaa.bat=%x%/EFI/grub/wimboot/start.bat initrd @Pecmd.ini=%x%/EFI/grub/wimboot/Pecmd.ini  详情 回复 发表于 2023-4-12 17:28
回复

使用道具 举报

 楼主| 发表于 2023-4-12 17:28:08 | 显示全部楼层
wintoflash 发表于 2023-4-12 11:50
对于一般的 winpe (拒绝抬杠) 来说,注入 winpeshl.ini 就可以在启动过程中执行我们注入的批处理,进行挂 ...

diy 普通pe  (pecmd.ini)  可行的

initrd @aaaa.bat=%x%/EFI/grub/wimboot/start.bat
initrd @Pecmd.ini=%x%/EFI/grub/wimboot/Pecmd.ini

回复

使用道具 举报

发表于 2023-5-2 12:22:22 | 显示全部楼层
感谢楼主的指点分享,成功的使用上硬盘和内存模式的系统。
我的UEFI模式的MENU.LST

title win7 --mem(hd)
map --mem --top (hd0,2)/win7/win7.vhd (hd)
chainloader (hd-1)

title 命行
commandline

title 重启
reboot

title win2022 --mem(hd)
map --mem --top (hd0,2)/win2022/win2022.vhd (hd)
chainloader (hd-1)

title win7 HD
uuid (hd0,2)
chainloader /efi/grub/ntloader initrd=/efi/grub/initrd.lz1 uuid=%?_UUID% file=/win7/win7.vhd

title win2022 HD
uuid (hd0,2)
chainloader /efi/grub/ntloader initrd=/efi/grub/initrd.lz1 uuid=%?_UUID% file=/win2022/win2022.vhd

title 启动虚拟光盘(加载到内存)
find --set-root  /win11pe/win11pe.iso
map --mem  /win11pe/win11pe.iso (0xff)
chainloader (0xff)

title 关机
halt

**************************************

map --mem --top<=必须要加上top,否则制做的VHD文件就不能太大,不然会出错。

系统VHD是通过用Virtaulbox安装ISO制做完成的,然后取消虚拟内存,还原点,压缩 c:盘,最后压缩WINSXS文件夹,全部操作完成后,WIN7旗舰版占用空间8G,WIN2022占用空间7G。
附上网上其它网友提供的压缩WINSXS的BAT批处理文件。

sc stop msiserver
sc stop TrustedInstaller
sc config msiserver start= disabled
sc config TrustedInstaller start= disabled
icacls "%WINDIR%\WinSxS" /save "%WINDIR%\WinSxS.acl" /t
takeown /f "%WINDIR%\WinSxS" /r
icacls "%WINDIR%\WinSxS" /grant "%USERDOMAIN%\%USERNAME%":(F) /t
compact /c /s:"%WINDIR%\WinSxS" /i
icacls "%WINDIR%\WinSxS" /setowner "NT SERVICE\TrustedInstaller" /t
icacls "%WINDIR%" /restore "%WINDIR%\WinSxS.acl"
del "%WINDIR%\WinSxS.acl"
sc config msiserver start= demand
sc config TrustedInstaller start= demand
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 13:05

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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