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