|
|
#bios_g4d_vhd.lst
#试图列出我所知道的 bios+g4d 方式下引导win7/8/10/11_x64的原生vhd/vhdx系统引导的多个写法
#用win7_x64.vhd及win8.1_x64.vhdx系统作的测试,但以下各菜单项均按引导win7_x64.vhd来书写
#因电脑中未安装win10vhdx及win11vhdx系统,未用后两者作测试。
#以下各项在grub4dos-0.4.6a-2019-02-22版的grldr中测试通过,其中ntboot和siso目前只能用该版本引导,其他项可用该版至2025-8-19间的各版本引导。
#g4d(含ext下各文件)及bwin7vhd.ima等各引导文件可存放在gpt分区硬盘的fat/exfat/ntfs分区(如esp分区),也可是mbr分区硬盘的fat/exfat/ntfs分区。但用bcd引导项仅后者(见该项说明)。
title === ★ legacy+Grub4dos+winnt6-vhd/vhdx 多引导菜单 ★ ===
clear
title Win7VHD-ntboot
find /vhds/win7_x64.vhd | set bd=
find --set-root /boot/g4d/ext/ntboot
#/boot/g4d/ext/ntboot NT6=%bd%/vhds/win7_x64.vhd NTPATH=system32
/boot/g4d/ext/ntboot NT6=%bd%/vhds/win7_x64.vhd
#上两行之一均可
boot
#目前需grub4dos-0.4.6a-2019-02-22版+ntboot的2014版才能成功引导,g4d+ntboot的其他版本组合,将出现"不识别的命令"的出错提示
title Win7VHD-siso
find /vhds/win7_x64.vhd | set bd=
find --set-root /boot/g4d/ext/siso
/boot/g4d/ext/siso ntboot NT6=%bd%/vhds/win7_x64.vhd
#siso内置ntboot
boot
#目前需grub4dos-0.4.6a-2019-02-22版+siso(1955kb)才能成功引导,该两者外的其他g4d+siso版本组合,将出现"不识别的命令"的出错提示
title Win7vhd_bcd
find --set-root --devices=h /boot/win/win7vhd/bootmgr
chainloader /boot/win/win7vhd/bootmgr
boot
#\boot\win\win7vhd\bootmgr、bootvhd.dll(bios引导vhd的支持文件)均用BMplus_v1.3.5生成,bootmgr引导\boot\win\win7vhd\中的bcd,bcd需解除数字签名,设定引导x:\vhds\win7x64.vhd。
#bcd解除数字签名的方法是:假如bcd在e:\boot\目录下,先按win+r键,运行cmd,再运行cd e:\boot,再运行bcdedit /store BCD /set {bootmgr} nointegritychecks yes。一般需在win10pe或win11pe中进行。
#该目录只能存放在mbr分区硬盘的fat/exfat/ntfs分区,不能放在gpt分区硬盘的某分区,因微软不支持bios+gpt方式引导。
title Win7VHD-ima
find /boot/win/bwin7vhd.ima | set bd=
map (hd0) (hd)
map --mem %bd%/boot/win/bwin7vhd.ima (hd0)
map --hook
chainloader (hd0)+1
boot
#bwin7vhd.ima含有\bootmgr、\boot\bootvhd.dll、\boot\bcd,bcd设定引导x:/vhds/win7_x64.vhd。
title Win7VHD-ntloader_g4d版
find --set-root /vhds/win7_x64.vhd
uuid ()
find --set-root /boot/g4d/ext/ntloader
kernel /boot/g4d/ext/ntloader uuid=%?% file=/vhds/win7_x64.vhd
initrd /boot/g4d/ext/initrd.lz1
#需将ntloader、initrd.lz1这两个文件复制到\boot\g4d\ext\目录下
boot
title Win7VHD-ntloader_源版
find --set-root /vhds/win7_x64.vhd
uuid ()
find --set-root /boot/ntloader/ntloader
kernel /boot/ntloader/ntloader uuid=%?_UUID% vhd=/vhds/win7_x64.vhd
initrd /boot/ntloader/initrd.cpio
#将ntloader源版的整个目录/ntloader拷入某盘某分区的根目录或某目录下,如/boot/目录
boot
title Win7VHD-map_需足够内存
find --set-root /vhds/win7_x64.vhd
map (hd0) (hd)
map --mem /vhds/win7_x64.vhd (hd0)
#因需装入内存后生成硬盘头信息,--mem参数不可省,否则将出现分区有问题或参数大多等出错提示。
map --hook
root (hd0,0)
chainloader /bootmgr
boot
#这项是网上所说的方法,因我的内存较小,无条件作测试。
#经我测试,bios+g4d+run 似不支持引导vhd/vhdx,是否是我下载的run未内置ntboot所致,所以未列出。
#g4d之wimboot,似只支持wim文件的引导,也未列出。
#若上述有误敬请指出。或还有bios+g4d引导vhd的方法未列出,敬请列出,供大家学习借鉴为谢!
|
|