无忧启动论坛

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

[分享] uefi+grub4efi引导win+vhd+wim+iso的多个写法学习小结

[复制链接]
跳转到指定楼层
1#
发表于 昨天 13:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
uefi+grub4efi引导win+vhd+wim+iso的多个写法学习小结


在学习grub4efi的过程中,得到了多个网友的热心指导,特别是几位大大的悉心指导,让我获益非浅。
为此,我也想作了小小的贡献,把我学习中的小结贴出。
若下述有误的,敬请指出。
对uefi+grub4efi引导win+vhd+wim+iso的方法,我未能列出的,敬请各位列出,供大家学习借鉴为谢!
所需引导工具是从本论坛下载的


==========================
一、引导win分区系统


#试图列出我所知道的 uefi+g4e 方式下引导winnt6主要是win10+win11 分区系统的多个写法


title win11-bcd
chainloader /efi/win/win11/bootx64.efi
#/efi/win/win11/bcd是通用的,即可引导安装在不同电脑、不同磁盘不同分区中的win11分区系统


title win10-bcd
chainloader /efi/win/win10/bootx64.efi
#/efi/win/win10/bcd是通用的,即可引导安装在不同电脑、不同磁盘不同分区中的win10分区系统


title win10-run
find /efi/grub/ext/run | set bd=
find --set-root /Windows/system32/AzureSettingSyncProvider.dll
#该文件为win10的特征文件
#win10的特征文件也可为\Windows\system32\DiskSnapshot.exe,或\Windows\system32\DataUsageLiveTileTask.exe
%bd%/efi/grub/ext/run %@root%/efi/boot/bootx64.efi
#本法要在windows分区上添加\efi\boot\bootx64.efi+bcd,bcd不能是通用的,只能设置引导win10所在分区。
boot


title Win10-wimboot
find /efi/grub/ext/wimboot | set bd=
#find --set-root /efi/win/win10/bootx64.efi
find --set-root /Windows/system32/AzureSettingSyncProvider.dll
#该文件为win10的特征文件
kernel %bd%/efi/grub/ext/wimboot
#initrd @bcd=/boot/bcd @boot.sdi=/boot/boot.sdi @bootmgfw.efi=/boot/bootmgfw.efi @boot.wim=/boot/winpe.wim
#上句是其用法
#initrd @bcd=/efi/win/win10/bcd @bootmgfw.efi=/efi/win/win10/bootx64.efi
initrd @bcd=/efi/boot/bcd @bootmgfw.efi=/efi/boot/bootx64.efi
#使用外部/efi/win/win10/bcd,及系统分区\efi\boot\bcd均可,但wimboot支持的bcd不能是通用的,只能设置引导win10所在分区。
#若是后者要在windows分区上添加\efi\boot\bootx64.efi+bcd
boot


title win10-ntboot
find /efi/grub/ext/ntboot | set bd=
find --set-root /Windows/system32/AzureSettingSyncProvider.dll
#该文件为win10的特征文件
%bd%/efi/grub/ext/ntboot %@root%/win
boot


title win10-ntloader-源版
find --set-root /Windows/system32/AzureSettingSyncProvider.dll
#该文件为win10的特征文件
uuid ()
find --set-root /ntloader/ntloader
kernel /ntloader/ntloader uuid=%?_UUID%
initrd /ntloader/initrd.cpio
boot


title win10-ntloader-g4e版-chainloader
find --set-root /Windows/system32/AzureSettingSyncProvider.dll
#该文件为win10的特征文件
uuid ()
find --set-root /efi/grub/ext/ntloader
chainloader /efi/grub/ext/ntloader initrd=/efi/grub/ext/initrd.lz1 uuid=%?%
boot


title win10-ntloader-g4e版-kernel
find --set-root /Windows/system32/AzureSettingSyncProvider.dll
#该文件为win10的特征文件
uuid ()
find --set-root /efi/grub/ext/ntloader
kernel /efi/grub/ext/ntloader uuid=%?%
initrd /efi/grub/ext/initrd.lz1
boot


==============================
二、引导vhd/vhdx


#试图列出我所知道的 uefi+g4e 方式下引导win7/8/10/11_x64的原生vhd/vhdx系统引导的多个写法
#用win7_x64.vhd及win8.1_x64.vhdx系统作的测试。因电脑中未安装win10vhdx及win11vhdx系统,未用后两者作测试。


title Win8vhd-bcd
find --set-root --devices=h /efi/win/win8vhd/bootx64.efi
chainloader /efi/win/win8vhd/bootx64.efi
#/efi/win/win8vhd/bcd,设定为引导win8.1_x64.vhdx
boot


title Win8vhd-run
find /efi/grub/ext/run | set bd=
command %bd%/efi/grub/ext/run /vhds/win8.1_x64.vhdx
boot


title Win7vhd-bcd
find --set-root --devices=h /efi/win/win7vhd/bootx64.efi
chainloader /efi/win/win7vhd/bootx64.efi
#/efi/win/win7vhd/bcd,设定为引导win7_x64.vhd
boot


title Win7vhd-run-7B蓝屏
find /efi/grub/ext/run | set bd=
command %bd%/efi/grub/ext/run /vhds/win7_x64.vhd
#上句中若无runs代替run,将把vhd装入内存,但vhd较大,是无法装入内存的,因此会出错
boot
#能引导,但引导win7_x64.vhd出现7B蓝屏


title Win7vhd-wimboot
find /efi/grub/ext/wimboot | set bd=
find --set-root /efi/win/win7vhd/bootx64.efi
kernel %bd%/efi/grub/ext/wimboot
#initrd @bcd=/boot/bcd @boot.sdi=/boot/boot.sdi @bootmgfw.efi=/boot/bootmgfw.efi @boot.wim=/boot/winpe.wim
#上句是其用法
initrd @bcd=/efi/win/win7vhd/bcd @bootmgfw.efi=/efi/win/win7vhd/bootx64.efi
boot


title Win7vhd-ntboot
find /efi/grub/ext/ntboot | set bd=
find --set-root /vhds/win7_x64.vhd
#%bd%/efi/grub/ext/ntboot  /vhds/win7_x64.vhd winload=/Windows/System32/boot/winload.efi minint=1
#引导win7_x64.vhd出现7B蓝屏,引导win8/10/11.vhdx未作测试
%bd%/efi/grub/ext/ntboot  /vhds/win7_x64.vhd
boot


title Win7vhd-ntloader_源版
find --set-root /vhds/win7_x64.vhd
uuid ()
find --set-root /ntloader/ntloader
kernel /ntloader/ntloader uuid=%?_UUID% vhd=/vhds/win7_x64.vhd
initrd /ntloader/initrd.cpio
boot


title Win7vhd-ntloader_g4e版-kernel
find --set-root /vhds/win7_x64.vhd
uuid ()
find --set-root /efi/grub/ext/ntloader
kernel /efi/grub/ext/ntloader uuid=%?% file=/vhds/win7_x64.vhd
initrd /efi/grub/ext/initrd.lz1
boot


title Win7vhd-ntloader_g4e版-chainloader
find --set-root /vhds/win7_x64.vhd
uuid ()
find --set-root /efi/grub/ext/ntloader
chainloader /efi/grub/ext/ntloader initrd=/efi/grub/ext/initrd.lz1 uuid=%?% file=/vhds/win7_x64.vhd
boot


=========================================


三、引导wim+iso


#试图列出我所知道的 uefi+g4e 方式下引导winnt6主要是win10pe+win11pe-wim+iso系统的多个写法


title Win10pe-wim-bcd
find --set-root --devices=h /efi/win/win10wimpe/bootx64.efi
chainloader /efi/win/win10wimpe/bootx64.efi
#/efi/win/win10wimpe/bcd,设定为引导/winpe/win10pe_x64_bios_uefi.wim
boot


title Win10pe-wim-run
find /efi/grub/ext/run | set bd=
command %bd%/efi/grub/ext/run /winpe/win10pe_x64_bios_uefi.wim
boot


title Win10pe-wim-ntboot
find /efi/grub/ext/ntboot | set bd=
find --set-root /winpe/win10pe_x64_bios_uefi.wim
%bd%/efi/grub/ext/ntboot  /winpe/win10pe_x64_bios_uefi.wim
boot


title Win10pe-wim-wimboot
find /efi/grub/ext/wimboot | set bd=
find --set-root /winpe/win10pe_x64_bios_uefi.wim
kernel %bd%/efi/grub/ext/wimboot
#initrd @bcd=/boot/bcd @boot.sdi=/boot/boot.sdi @bootmgfw.efi=/boot/bootmgfw.efi @boot.wim=/boot/winpe.wim
#上句是其用法
initrd @boot.wim=/winpe/win10pe_x64_bios_uefi.wim
#bcd、bootmgfw.efi、boot.sdi,使用wimboot内置的
boot


title Win10pe-wim-ntloader-源版
find --set-root /winpe/win10pe_x64_bios_uefi.wim
uuid ()
find --set-root /ntloader/ntloader
kernel /ntloader/ntloader uuid=%?_UUID% wim=/winpe/win10pe_x64_bios_uefi.wim
initrd /ntloader/initrd.cpio
boot


title Win10pe-wim-ntloader-g4e版-kernel
find --set-root /winpe/win10pe_x64_bios_uefi.wim
uuid ()
find --set-root /efi/grub/ext/ntloader
kernel /efi/grub/ext/ntloader uuid=%?% file=/winpe/win10pe_x64_bios_uefi.wim
initrd /efi/grub/ext/initrd.lz1
boot


title Win10pe-wim-ntloader-g4e版-chainloader
find --set-root /winpe/win10pe_x64_bios_uefi.wim
uuid ()
find --set-root /efi/grub/ext/ntloader
chainloader /efi/grub/ext/ntloader initrd=/efi/grub/ext/initrd.lz1 uuid=%?% file=/winpe/win10pe_x64_bios_uefi.wim
boot


title Win11pe-iso-run
find /efi/grub/ext/run | set bd=
command %bd%/efi/grub/ext/run /winpe/win11PE_x64.iso
boot


title win11pe-iso-map-0xFF
find --set-root /winpe/win11PE_x64.iso
map --mem /winpe/win11PE_x64.iso (0xFF)
map --hook
chainloader (0xFF)
boot


title win11pe-iso-map-cd
find --set-root /winpe/win11PE_x64.iso
map --mem /winpe/win11PE_x64.iso (cd)
chainloader (cd-1)
boor


title win11pe-iso-isoldr
chainloader /efi/grub2_x64/isoldr.efi file=/winpe/win11pe_x64.iso
#事先把isoldr.efi拷入/efi/grub2_x64/目录下


2#
发表于 昨天 13:17 | 只看该作者
感谢分享!
回复

使用道具 举报

3#
发表于 昨天 13:25 | 只看该作者
感谢分享
回复

使用道具 举报

4#
发表于 昨天 13:35 | 只看该作者
感谢分享
回复

使用道具 举报

5#
发表于 昨天 13:37 | 只看该作者
感谢分享
回复

使用道具 举报

6#
发表于 昨天 14:02 | 只看该作者
感谢分享
回复

使用道具 举报

7#
发表于 昨天 14:12 | 只看该作者
好。。。。。。。。。。。。
回复

使用道具 举报

8#
发表于 昨天 14:37 | 只看该作者
感谢分享!
回复

使用道具 举报

9#
发表于 昨天 14:58 | 只看该作者
重复
回复

使用道具 举报

10#
发表于 昨天 15:01 | 只看该作者
感谢分享
回复

使用道具 举报

11#
发表于 昨天 15:20 | 只看该作者
感谢分享!
回复

使用道具 举报

12#
发表于 昨天 16:18 | 只看该作者
感谢分享!
回复

使用道具 举报

13#
发表于 昨天 18:19 | 只看该作者
感谢楼主专研分享精神。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-12-3 00:44

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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