Trying to add iPXE option to boot WinPE
-
Hi there all,
I am trying to add an option to my fog server to boot PCs into Sergei Strelec (an ISO file). I have found some tutorials but no success.Here is what I used:
https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images/10
https://wiki.fogproject.org/wiki/index.php?title=Include_any_ISO_in_the_FOG_BootmenuSergei Strelec is 4GB, hence I tried a 300MB WinPE but it didn’t work either.
This is the codes I tried, each with different problem (X.X.X.X is for my IP address):set tftp-path X.X.X.X set pe-path ${tftp-path}/tftpboot/os kernel ${tftp-path}/wimboot gui imgfetch --name BCD ${pe-path}/BCD BCD imgfetch --name boot.sdi ${pe-path}/boot.sdi boot.sdi imgfetch --name boot.wim ${pe-path}/boot.wim boot.wim boot || goto MENU
This code shows it finds all files but instead of booting, it just restarts the computer
set tftp-path tftp://${X.X.X.X}
If I’m trying to do it like that (instead of the first line in the code) it says connection timeout.
chain memdisk iso raw
Adding this line before the
boot
shows MEMDISK: bootstrap too large to load when trying to boot to Sergei and WinPE (even though WinPE is only 300MB).initrd X.X.X.X/os/Sergei/Sergei.iso chain memdisk iso raw boot || goto MENU
Same error with this code.
-
@willingmost7 Ok first lets say the memdisk route only works for BIOS systems. memdisk does not support uefi environments.
These instructions do work from the tutorial because I pxe boot into MDT all of the time and it boots just fine. On a side note loading a 4GB wim file over tftp will take a really long time, so you might get a timeout. We can switch that over to http file transfer and cut the download time. But as you said a 300mb wim file is still not booting. The only thing I can think off the top of my head (assuming all of the files are in the right spot) is that your wim file is damaged or wimboot is broken for some reason. Wimboot should at least load (it might reboot after downloading though).
-
@george1421 I know it’s for legacy, that’s what my boot is set here.
It seems like I am not able to connect to the fog server with ftfp or http (like: tftp://X.X.X.X/tftp/os/Sergei/BCD). And the thing about the reboot is that it is just rebooting and than not booting to the WinPE after that.
-
Update: I managed to get a connection with the fog server and it loads the files. Problem now is that it says “no bootmgr.exe”, do I need to extract the whole ISO file in the same folder with BCD, boot.wim and etc…?
-
I looked inside the “boot.wim\Windows\Boot” and there is no PXE folde, thus it doesn’t have bootmgr.exe.
What can I do to fix it? Can I just modify it and copy PXE folder from boot.wim who does have that folder (say, windows 10)? -
@willingmost7 You know I had an issue with hiren’s boot image where it was giving me an error that I traced down to wimboot where it didn’t understand the advanced compression applied to the wim file. It was throwing an error about bootmgr.exe not being available. The error is outlined here: https://forums.fogproject.org/post/144293
The key was to download and install winboot 2.7.3. Lets have you try that. Because when I was testing with hirens, wimboot would start to load throw the error and reboot, which is inline with what you are saying.
Lets load up wimboot 2.7.3 (which is not listed as current on github).
-
@george1421 On your tutorial you linked 2.6.0, but I managed to find myself 2.7.3 and it didn’t work either.
Here is the error (after I updated to 2.7.3):
It seems the WIM file lacks the folder PXE
-
@willingmost7 OK I ran into that issue with the Hiren’s disk too. I ended up finding bootmgr.exe on a older windows 10 like 1503 or something iso image. I loaded that via FOG iPXE. From my previous linked post where I mentioned 2.7.3, if you look in the picture you will see it find bootmgr.exe file. Let me get the ipxe menu settings.
-
@george1421 Here is what I have for the ipxe menu
set tftp-path tftp://${fog-ip}/os set pe-path ${tftp-path}/Hiren101 kernel ${tftp-path}/wimboot gui imgfetch --name BCD ${pe-path}/BCD BCD imgfetch --name boot.sdi ${pe-path}/boot.sdi boot.sdi imgfetch --name bootmgr ${pe-path}/bootmgr bootmgr imgfetch --name boot.wim ${pe-path}/boot.wim boot.wim boot || goto MENU
Now you might need to add/exchange this line
imgfetch --name bootmgr ${pe-path}/bootmgr bootmgr
with
imgfetch --name bootmgr.exe ${pe-path}/bootmgr.exe bootmgr.exe
I didn’t test this completely because I ran out of time.
-
@george1421 Wow thanks a ton! It did bring me to the load screen, but it has a different error now. The thing about Sergei Strelec is that there are a lot of dependencies outside the wim file. I think I might need to take a different approach and load the whole ISO.
-
load the whole ISO.
The problem with this code is that it doesn’t boot into the ISO it loads, it just says Loading boot sector… booting… and then skips to windows:
initrd tftp://${fog-ip}/os/Sergei/Sergei.iso chain tftp://${fog-ip}/os/memdisk iso raw
This code just crashes when loading the WinPE in the ISO (meaning it loaded the whole 4GB ISO, but I don’t know why it crashes. The PC has 16GB of RAM):
sanboot http://${fog-ip}/html/Sergei/Sergei.iso
This code just says input/output error 1d0c62 fix (on the ISO file):
initrd http://${fog-ip}/html/Sergei/Sergei.iso kernel tftp://${fog-ip}/os/memdisk iso raw
-
initrd tftp://${fog-ip}/os/Sergei/Sergei.iso chain tftp://${fog-ip}/os/memdisk iso raw
You have 2 fundamental problems here.
- memdisk only works with BIOS based computers not UEFI
- sergei.iso is greater than 2GB (memdisk is a 32 bit program so the maximum amount of data memory it can address is 2GB).
Where do you get this Sergei Strelec iso file from? Is that something you created?
Is it free to download and try? -
@george1421 Here is a link to the iso, very powerful useful tool.
@george1421 said in Trying to add iPXE option to boot WinPE:
memdisk only works with BIOS based computers not UEFI
PCs there are able to boot both from legacy and UEFI, but their OS is set to legacy boot. Is it possible to set this to boot from UEFI? It won’t cause any problems?
-
@george1421 Do you boot on MDT with en iPXE entry or did you make a new Task Type for it ?