pxeboot.com ;bootmgr.exe , then the network boot is almost the same as booting from other media;BCD file (boot configuration data), where the configuration information (the location of the boot files) is written, loads the necessary font ( wgl4_boot.ttf ) and the boot.sdi virtual disk boot.sdi , then the WinPE image is loaded;boot.sdi and bcd files can be taken in the boot directory, here you can also take the entire fonts subdirectory (the font wgl4_boot.ttf is located there), and from the sources directory you need only the boot.wim file. You will need two more files that are located in the boot.wim image. The easiest way is to use the 7Zip graphical file manager, but if you are going to add drivers or packages to your WinPE image, it is best to use the dism utility. Next, we will consider the option with dism, and for those who only need a standard image, we inform you that the necessary files ( pxeboot.n12 and bootmgr.exe ) are located in the windows\boot\pxe . The pxeboot.n12 file differs from the above, pxeboot.com in that it does not require pressing the F12 key. dism /? /Get-Wiminfo by typing in the console: dism /get-wiminfo /? dism /mount-wim /wimfile:<__WIM-> /index:<_> /mountdir:<_> /Get-Wiminfo . In the connection directory, we find the windows \ boot \ pxe folder, in which we take two files: pxeboot.n12 and bootmgr.exe . dism /image:<_> /Add-Driver /driver:<_c_> /recurse /ForceUnsigned Dism /image:<_> /Add-Package /PackagePath: <____cab> dism /unmount-wim /mountdir:<_> /commit C:\tftpd32 . Further, we will count all the paths from this directory, but we will not indicate it; moreover, the paths will use forward slash, and not the reverse, as in Windows. That is, if pxelinux.cfg/default specified, then the real path will be C:\tftpd32\pxelinux.cfg\default , and default is the file with no extension. Copy the following files from the directory where syslinux was unpacked into the root directory (that is, C:\tftpd32 ):bios\core\pxelinux.0 (actually the network bootloader itself);bios\com32\menu directory two files: menu.c32 and vesamenu.c32 (we will use the menu.c32 only for those machines where vesamenu.c32 does not work);bios\com32\chain\chain.c32 (loader management module, usually used for local loading);bios\com32\elflink\ldlinux\ldlinux.c32 (secondary bootloader, required when using pxelinux.0);bios\com32\lib\libcom32.c32 (required when using chain.c32);bios\com32\libutil\libutil.c32 (required when using chain.c32);bios\memdisk\memdisk (boot driver for floppy images, hard disk, ISO, etc.). UI vesamenu.c32 MENU TITLE PXE Special Boot Menu LABEL bootlocal MENU LABEL ^Boot local disk MENU DEFAULT LOCALBOOT 0 TIMEOUT 80 TOTALTIMEOUT 9000 LABEL winpe MENU LABEL ^WinPE KERNEL pxeboot.0 pxeboot.com , copied pxeboot.n12 , and we registered pxeboot.0 . The fact is that pxelinux has its own requirements for the name of network bootloaders - the extension of such files is .0 , by the way, do not confuse pxeboot.0 , which we took from the WinPE image with pxelinux.0 , taken from syslinux. The second is required to display the menu, and the first is loaded only after selecting the appropriate menu. So, we have to rename pxeboot.n12 to pxeboot.0 and put it in the root folder.bootmgr.exe . Create a boot subdirectory in the root folder where you need to place two files: bcd and boot.sdi and the fonts directory, you also need to create the sources directory, where you copy the boot.wim file. If you are satisfied with the similar location of all the boot files, then the bcd file does not need to be changed. The trick here is that network boot is similar to booting from a CD or USB flash drive.C:\tftpd32 , the file is pxelinux.0 , the choice of network interface, etc. If there are errors or lack of the desired result, see the log viewer. Separately it is necessary to say about computers with the lack of compatibility with the BIOS, that is, only with UEFI. For such computers need other files:pxelinux.0 syslinux.efi , which is located in efi32\efi\syslinux.efi for 32-bit systems or efi64\efi\syslinux.efi for 64-bit systems;ldlinux.c32 respectively - efi32\com32\elflink\ldlinux\ldlinux.e32 or efi64\com32\elflink\ldlinux\ldlinux.e64 . bcdedit /? bcdedit /createstore %BCD% bcdedit /store %BCD% /create {ramdiskoptions} /d "Ramdisk options" bcdedit /store %BCD% /set {ramdiskoptions} ramdisksdidevice boot bcdedit /store %BCD% /set {ramdiskoptions} ramdisksdipath %SDI% bcdedit /store %BCD% -create /d "WinPE Boot Image" /application osloader bcdedit /store %BCD% /set %GUID% systemroot \Windows bcdedit /store %BCD% /set %GUID% detecthal Yes bcdedit /store %BCD% /set %GUID% winpe Yes bcdedit /store %BCD% /set %GUID% osdevice ramdisk=[boot]%WIM%,{ramdiskoptions} bcdedit /store %BCD% /set %GUID% device ramdisk=[boot]%WIM%,{ramdiskoptions} bcdedit /store %BCD% /create {bootmgr} /d "Windows BootManager" bcdedit /store %BCD% /set {bootmgr} timeout 30 bcdedit /store %BCD% /set {bootmgr} displayorder %GUID% Source: https://habr.com/ru/post/258717/
All Articles