|
本帖最后由 sairen139 于 2019-9-21 13:58 编辑
uefi启动Windows10的EFI分区仅需最少2个文件同在一个Boot文件夹里的bootx64.efi和BCD
今天做了一个实验(实验过程在两张截图里)得到了一个结果是微软原生的启动分区\EFI\Boot下bootx64.efi文件(即微软系统盘C:\Windows\Boot\EFI\bootmgfw.efi文件改名而来的bootx64.efi)优先启动同一个目录里的BCD,如果bootx64.efi在自身的文件夹里找不到BCD才会继续去找另外一个EFI\Microsof\boot文件夹下的BCD!
也就是说微软自带的bootx64.efi先启动和自己同在一个文件夹的BCD,找不到再去启动EFI\Microsof\boot下的文件夹。由此我们对于uefi启动的ramos可以利用下面的BAT语句来便利化引导小镜像vdf的制作(直接把C:\Windows\Boot\EFI\bootmgfw.efi复制到\EFI\BOOT\里并改名为bootx64.efi,这里的bat批处理把drivers下所有文件都拷贝了其实该文件夹下SYS驱动文件可以继续精简成果见我发的2楼内容):
set SrcDrv=c:
set DstDrv=d:\aaaaaaaaaayindaoWindows10VDF
md %DstDrv%
%DstDrv%
md %DstDrv%\EFI\BOOT
cd /d %DstDrv%\EFI\Boot
copy %SrcDrv%\Windows\Boot\EFI\bootmgfw.efi bootx64.efi
copy %SrcDrv%\EFI\BOOT\BCD
md %DstDrv%\windows\boot\Fonts
cd /d %DstDrv%\windows\boot\Fonts
copy %SrcDrv%\windows\boot\Fonts\msyh_boot.ttf
md %DstDrv%\windows\inf
cd /d %DstDrv%\windows\inf
copy %SrcDrv%\windows\inf\errata.inf
md %DstDrv%\windows\system32
cd /d %DstDrv%\windows\system32
copy %SrcDrv%\windows\system32\apisetschema.dll
copy %SrcDrv%\windows\system32\BOOTVID.DLL
copy %SrcDrv%\windows\system32\C_936.NLS
copy %SrcDrv%\windows\system32\ci.dll
copy %SrcDrv%\windows\system32\hal.dll
copy %SrcDrv%\windows\system32\kd.dll
copy %SrcDrv%\windows\system32\l_intl.nls
copy %SrcDrv%\windows\system32\ntoskrnl.exe
copy %SrcDrv%\windows\system32\PSHED.DLL
copy %SrcDrv%\windows\system32\winload.efi
md %DstDrv%\windows\system32\CodeIntegrity
cd /d %DstDrv%\windows\system32\CodeIntegrity
copy %SrcDrv%\windows\system32\CodeIntegrity\driver.stl
md %DstDrv%\windows\system32\config
Reg save HKLM\system %DstDrv%\Windows\system32\config\SYSTEM /y
md %DstDrv%\windows\system32\drivers
cd /d %DstDrv%\windows\system32\drivers
xcopy /s %SrcDrv%\windows\system32\drivers
pause >nul |
评分
-
查看全部评分
|