|
本帖最后由 hlowld 于 2023-12-18 16:39 编辑
说下我的启动方案。
用grub4dos uefi的BOOTX64.EFI替换\EFI\Microsoft\Boot\bootmgfw.efi,原来的bootmgfw.efi重命名为bootmgfw1.efi
grub4dos uefi的menu.lst中3个启动项:1、bootmgfw1.efi,来自原版bootmgfw.efi重命名,启动windows boot manager;2、WePE_64_V2.3.iso,启动微PE;3、ventoy.vhd,安装了ventoy的vhd文件,用于进入ventoy后按F2自由启动任意镜像文件
该方案工作正常,但如果重装系统,bootmgfw.efi就会被windows替换回原版,即使在winntsetup中不"更新引导代码“也没用,估计windows系统第一次初始化时会强制替换bootmgfw.efi。
设置自启,让windows启动时执行以下批处理代码恢复即可
:repair_grub4uefi
::恢复grub4dos UEFI
mountvol R: /s
set bootmgfw=R:\EFI\microsoft\boot\bootmgfw.efi
call :getsize %bootmgfw%
set /a bootmgfw_size=%size%
set bootx64=R:\EFI\grub\bootx64.efi
call :getsize %bootx64%
set /a bootx64_size=%size%
if %bootx64_size% neq %bootmgfw_size% copy R:\EFI\grub\bootx64.efi R:\EFI\microsoft\boot\bootmgfw.efi /y
mountvol R: /d
goto :eof
:getsize
::获取文件大小
set /a size=%~z1
goto :eof
|
|