IPXE Boot - Windows 10 ISO via UEFI



  • Hey Guys,

    I’m trying to do something “tricky” with our FOG install.
    I’ve already customized our PXE boot menu to use isos like dban, live debian…

    New project: Using Windows 10 ISO in UEFI!

    So i added the PXE boot menu entry like that:

    kernel http://${fog-ip}/fog/boot/wimboot
    initrd http://${fog-ip}/w10x64/boot/bcd BCD
    initrd http://${fog-ip}/w10x64/boot/boot.sdi boot.sdi
    initrd -n boot.wim http://${fog-ip}/w10x64/sources/boot.wim boot.wim
    boot
    

    Then i configured the DHCP to load ipxe.efi (option 67), and the computer to boot on PXE Uefi

    Everything loads Well, but the Windows installation doesn’t find the hard drive, because i think the windows 10 installation is loaded in bios mode (like screen resolution is bad, dell logo isn’t displayed in the loading…)
    I think it’s due to the PXE entry configuration, i don’t really know how to configure it to load bootmgr.efi in the ISO…

    Thank in advance for your help
    Arnaud

    Edit: if it can helps, here are the interesting files available in the Win10 iso;
    w10x64/efi/boot/bootx64.efi
    w10x64/boot/bcd
    w10x64/boot/boot.sdi
    w10x64/bootmgr
    w10x64/bootmgr.efi
    w10x64/sources/manyregularfileslikeineverywindowsisohahaha(including boot.wim)



  • @george1421 Thank you very much for your time George. I’ll try today and back to you asap


  • Moderator

    I found my notes on this. This one is for BIOS mode. I used the nfs protocol instead of tftp. Both will work. You just have to place the files in a different location based on the protocol.

    kernel nfs://${fog-ip}:/images/os/mswindows/wimboot gui
    initrd nfs://${fog-ip}:/images/os/mswindows/10-1607/bootmgr.exe bootmgr.exe
    initrd nfs://${fog-ip}:/images/os/mswindows/10-1607/boot/bcd bcd
    initrd nfs://${fog-ip}:/images/os/mswindows/10-1607/boot/fonts/segmono_boot.ttf segmono_boot.ttf
    initrd nfs://${fog-ip}:/images/os/mswindows/10-1607/boot/fonts/segoe_slboot.ttf segoe_slboot.ttf
    initrd nfs://${fog-ip}:/images/os/mswindows/10-1607/boot/fonts/segoen_slboot.ttf segoen_slboot.ttf
    initrd nfs://${fog-ip}:/images/os/mswindows/10-1607/boot/fonts/wgl4_boot.ttf wgl4_boot.ttf
    initrd nfs://${fog-ip}:/images/os/mswindows/10-1607/boot/boot.sdi boot.sdi
    initrd -n boot.wim nfs://${fog-ip}:/images/os/mswindows/10-1607/sources/BOOT.wim boot.wim
    imgstat
    boot
    

    I have not tested this, but a quick file change and this should work for UEFI. Also for uefi booting, you must send the ipxe.efi iPXE boot kernel. You can not boot into uefi mode from undionly.kpxe boot kernel.

    kernel nfs://${fog-ip}:/images/os/mswindows/wimboot gui
    initrd nfs://${fog-ip}:/images/os/mswindows/10-1607/bootx64.efi bootx64.efi
    initrd nfs://${fog-ip}:/images/os/mswindows/10-1607/boot/bcd bcd
    initrd nfs://${fog-ip}:/images/os/mswindows/10-1607/boot/fonts/segmono_boot.ttf segmono_boot.ttf
    initrd nfs://${fog-ip}:/images/os/mswindows/10-1607/boot/fonts/segoe_slboot.ttf segoe_slboot.ttf
    initrd nfs://${fog-ip}:/images/os/mswindows/10-1607/boot/fonts/segoen_slboot.ttf segoen_slboot.ttf
    initrd nfs://${fog-ip}:/images/os/mswindows/10-1607/boot/fonts/wgl4_boot.ttf wgl4_boot.ttf
    initrd nfs://${fog-ip}:/images/os/mswindows/10-1607/boot/boot.sdi boot.sdi
    initrd -n boot.wim nfs://${fog-ip}:/images/os/mswindows/10-1607/sources/BOOT.wim boot.wim
    imgstat
    boot
    

    Just be aware these instructions will NOT boot "Windows 10 ISO via UEFI" so you can install WIN10 as in the OP's question. The only way I found to boot the win10 ISO so you can install Win10 is by using the link I posted previously.


  • Moderator

    This is untested but should be pretty close.

    kernel tftp://${fog-ip}/wimboot gui
    initrd -n bootx64.efi   tftp://${fog-ip}/boot/bootx64.efi                 bootx64.efi    
    initrd -n bcd           tftp://${fog-ip}/boot/bcd                         bcd
    initrd -n boot.sdi      tftp://${fog-ip}/boot/boot.sdi                    boot.sdi
    initrd -n segmono_boot.ttf tftp://${fog-ip}/boot/fonts/segmono_boot.ttf   segmono_boot.ttf
    initrd -n segoe_slboot.ttf tftp://${fog-ip}/boot/fonts/segoe_slboot.ttf   segoe_slboot.ttf
    initrd -n segoen_slboot.ttf tftp://${fog-ip}/boot/fonts/segoen_slboot.ttf segoen_slboot.ttf
    initrd -n wgl4_boot.ttf tftp://${fog-ip}/boot/fonts/wgl4_boot.ttf         wgl4_boot.ttf
    initrd -n boot.wim      tftp://${fog-ip}/boot/boot.wim                    boot.wim
    boot
    

    It relies on the files existing in the /tftpboot/boot directory.



  • This post is deleted!

  • Moderator

    @arnaudrigole I have seen uefi boot for windows winpe before.
    This structure is close. But I think you use bootmgr.efi and bootmgfw.efi instead of wimboot. I’m trying to see if I can find the instructions. There are also more initrd lines since some fonts are also needed. I had that all in the post I linked, but removed them when booting that way did not help me install windows.

    kernel http://${fog-ip}/fog/boot/wimboot
    initrd http://${fog-ip}/w10x64/boot/bcd BCD
    initrd http://${fog-ip}/w10x64/boot/boot.sdi boot.sdi
    initrd -n boot.wim http://${fog-ip}/w10x64/sources/boot.wim boot.wim
    


  • Hey George
    Thanks for your help
    Yeah i’m sure that’s due to the wrong files specified in my entry configuration, but i don’t know the equivalent file to boot via UEFI, as well i haven’t find anything about it on Internet :(
    I’ll have a look to your topic
    Thank you


  • Moderator

    I can give you a few bits of advice here.

    1. What you posted above is for bios mode, you do need to send the uefi equivalent files to the target system.
    2. Even if you do send the right files and the boot.wim file, that is only the boot.wim for the winpe environment. You won’t be able to access the .sdi (I think) files that contain the win10 image to deploy.

    At the moment this is the only way I found to install win10 from a pxe boot. You need to create and send a custom winpe environment via pxe that connects to a network share. From there you can install win10. Its kind of a cheat, but it can work. For full disclosure I have not tested this in uefi mode. So I can’t say for sure if it will fit your situation.

    https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images/7


 

446
Online

41.8k
Users

12.3k
Topics

116.1k
Posts