• Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login
  • Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login

Booting WinePE on uefi system

Scheduled Pinned Locked Moved Solved
FOG Problems
2
11
3.6k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M
    mgrondin
    last edited by mgrondin Jun 29, 2018, 10:19 AM Jun 29, 2018, 4:18 PM

    Hello,

    I am quite new to FOG but loving it so far. I’m not sure if this issue is directly related to FOG or something else.

    I am attempting to add a menu entry to boot WinPE on uefi systems. This is my entry:

    kernel nfs://10.100.0.55:/winimgs/iso/Winpe/EFI/Boot/bootx64.efi
    initrd nfs://10.100.0.55:/winimgs/iso/Winpe/Boot/BCD BCD
    initrd nfs://10.100.0.55:/winimgs/iso/Winpe/Boot/boot.sdi boot.sdi
    initrd nfs://10.100.0.55:/winimgs/iso/Winpe/sources/boot.wim boot.wim
    boot

    This was adapted from things i found in other guides. Mainly this https://forums.fogproject.org/topic/6284/booting-mdt-2013-litetouch-with-fog/6

    It gets pretty far but then i end up with a connection timed out error when it gets to the boot.wim.

    Error ScreenShot

    I have another entry to boot WinPE on legacy systemsd this one works 100%. The extracted files are from the ISO that boots on legacy systems.

    This is the legacy entry for reference:

    login
    kernel memdisk
    initrd nfs://10.100.0.55:/winimgs/iso/win10install/WinPE_amd64.iso
    chain memdisk iso raw
    boot || goto MENU

    Again i’m not sure this relates directly to FOG but was not sure where else to post. I currently only have 1 uefi system in my environment but would like to get it working before uefi becomes more common here.

    Thank you for any help/advice in advance.
    Marc

    1 Reply Last reply Reply Quote 0
    • M
      mgrondin
      last edited by Jun 29, 2018, 5:09 PM

      @george1421 said in Booting WinePE on uefi system:

      I did not post this in the thread because it didn’t work for the tutorial. Here is what I was working on for the boot image. Its not 100% accurate for what you need, but it does explain a few things.

      1. You need to use wimboot to fix a few evils that MS imposes.
      2. The file name on the end is needed for bios systems
      3. the -n <name> is needed for uefi systems.
      4. You can use the same concepts and even menu for both uefi and bios systems, you just have to be a little sneaky.

      Assume this code snippet is broken because I haven't proved that it works or not.

      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
      

      If you look at this post you can see how you can dynamically detect between bois and uefi systems. https://forums.fogproject.org/topic/11873/single-ipxe-menu-entry-for-both-bios-uefi

      So for uefi systems you load the uefi kernel and for the bios systems you load the bios winpe kernel.

      This worked great. WinePE booted on UEFI system. Thank you again for the great fast reply @george1421 So with your guidance this is my final entry for Winpe:

      login
      iseq ${platform} pcbios && goto mem_bios || goto no_mem
      :mem_bios
      kernel memdisk
      initrd nfs://10.100.0.55:/winimgs/iso/win10install/WinPE_amd64.iso
      chain memdisk iso raw
      boot || goto MENU
      :no_mem
      kernel nfs://10.100.0.55/winimgs/iso/Winpe/wimboot gui
      initrd -n bootx64.efi   nfs://10.100.0.55/winimgs/iso/Winpe/bootx64.efi                 bootx64.efi    
      initrd -n bcd           nfs://10.100.0.55/winimgs/iso/Winpe/BCD                         bcd
      initrd -n boot.sdi      nfs://10.100.0.55/winimgs/iso/Winpe/boot.sdi                    boot.sdi
      initrd -n segmono_boot.ttf nfs://10.100.0.55/winimgs/iso/Winpe/segmono_boot.ttf   segmono_boot.ttf
      initrd -n segoe_slboot.ttf nfs://10.100.0.55/winimgs/iso/Winpe/segoe_slboot.ttf   segoe_slboot.ttf
      initrd -n segoen_slboot.ttf nfs://10.100.0.55/winimgs/iso/Winpe/segoen_slboot.ttf segoen_slboot.ttf
      initrd -n wgl4_boot.ttf nfs://10.100.0.55/winimgs/iso/Winpe/wgl4_boot.ttf         wgl4_boot.ttf
      initrd -n boot.wim      nfs://10.100.0.55/winimgs/iso/Winpe/boot.wim                    boot.wim
      boot || goto MENU
      

      Now it’s still odd…it booted fine the first time on my uefi system but the second time i got the connectiuon timed out again…seems like something odd with the uefi network stack on this dell latitude E5550 laptop or something…

      G 1 Reply Last reply Jun 29, 2018, 5:24 PM Reply Quote 0
      • G
        george1421 Moderator
        last edited by george1421 Jun 29, 2018, 10:26 AM Jun 29, 2018, 4:26 PM

        The above method doesn’t work with win10. You CAN boot into winpe, but winpe can’t find the install.wim files because its looking on a local physical device not a memory device. I do have an alternate plan here you can look at: https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images/7

        The idea is to boot winpe and connect to a network share that has the win10 installer files on it and then run setup from the network share. This process works.

        FWIW: memdisk only works in bios mode. UEFI mode is not supported by memdisk.

        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

        M 1 Reply Last reply Jun 29, 2018, 4:28 PM Reply Quote 0
        • M
          mgrondin @george1421
          last edited by mgrondin Jun 29, 2018, 10:29 AM Jun 29, 2018, 4:28 PM

          @george1421 That is already what i do. I followed your guide to setup the Legacy entry i have.

          My only issue is with getting this to work on a uefi system.

          EDIT: and now i see the other post on uefi systems…This post will probably be useless after i read that facepalm

          G 1 Reply Last reply Jun 29, 2018, 4:32 PM Reply Quote 0
          • G
            george1421 Moderator @mgrondin
            last edited by Jun 29, 2018, 4:32 PM

            @mgrondin Ah OK. I got you, my tutorial only supports bios booting.

            In your case of the error message how large is your boot.wim?

            Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

            M 1 Reply Last reply Jun 29, 2018, 4:37 PM Reply Quote 0
            • M
              mgrondin @george1421
              last edited by Jun 29, 2018, 4:37 PM

              @george1421 It is 405mb

              G 1 Reply Last reply Jun 29, 2018, 4:38 PM Reply Quote 0
              • G
                george1421 Moderator
                last edited by george1421 Jun 29, 2018, 10:43 AM Jun 29, 2018, 4:37 PM

                I did not post this in the thread because it didn’t work for the tutorial. Here is what I was working on for the boot image. Its not 100% accurate for what you need, but it does explain a few things.

                1. You need to use wimboot to fix a few evils that MS imposes.
                2. The file name on the end is needed for bios systems
                3. the -n <name> is needed for uefi systems.
                4. You can use the same concepts and even menu for both uefi and bios systems, you just have to be a little sneaky.

                Assume this code snippet is broken because I haven't proved that it works or not.

                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
                

                If you look at this post you can see how you can dynamically detect between bois and uefi systems. https://forums.fogproject.org/topic/11873/single-ipxe-menu-entry-for-both-bios-uefi

                So for uefi systems you load the uefi kernel and for the bios systems you load the bios winpe kernel.

                Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                1 Reply Last reply Reply Quote 0
                • G
                  george1421 Moderator @mgrondin
                  last edited by george1421 Jun 29, 2018, 10:43 AM Jun 29, 2018, 4:38 PM

                  @mgrondin said in Booting WinePE on uefi system:

                  @george1421 It is 405mb

                  405MB is OK. You just have to remember that ipxe has a 1GB total memory limit for all dynamically loaded (initrd) files. This includes the kernel plus all initrd files.

                  This is what I had in my records for bios booting. Assume that this is also broken since I have not documented it worked. BUT the point of this one is you see that bootmgr.exe is used for bios system.

                  kernel nfs://${fog-ip}:/images/os/mswindows/wimboot
                  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
                  

                  Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                  1 Reply Last reply Reply Quote 0
                  • G
                    george1421 Moderator
                    last edited by Jun 29, 2018, 4:45 PM

                    As you can see below you can use both tftp, nfs, or even http to access the files. You just need to have the files in the proper location to be able to find them with different protocols.

                    nfs == /images/…
                    tftp == /tftpboot/…
                    http == /var/www/html/…

                    Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                    1 Reply Last reply Reply Quote 0
                    • M
                      mgrondin
                      last edited by Jun 29, 2018, 4:49 PM

                      Thank you for all the great information @george1421 lets see how far i can get with this.

                      1 Reply Last reply Reply Quote 1
                      • M
                        mgrondin
                        last edited by Jun 29, 2018, 5:09 PM

                        @george1421 said in Booting WinePE on uefi system:

                        I did not post this in the thread because it didn’t work for the tutorial. Here is what I was working on for the boot image. Its not 100% accurate for what you need, but it does explain a few things.

                        1. You need to use wimboot to fix a few evils that MS imposes.
                        2. The file name on the end is needed for bios systems
                        3. the -n <name> is needed for uefi systems.
                        4. You can use the same concepts and even menu for both uefi and bios systems, you just have to be a little sneaky.

                        Assume this code snippet is broken because I haven't proved that it works or not.

                        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
                        

                        If you look at this post you can see how you can dynamically detect between bois and uefi systems. https://forums.fogproject.org/topic/11873/single-ipxe-menu-entry-for-both-bios-uefi

                        So for uefi systems you load the uefi kernel and for the bios systems you load the bios winpe kernel.

                        This worked great. WinePE booted on UEFI system. Thank you again for the great fast reply @george1421 So with your guidance this is my final entry for Winpe:

                        login
                        iseq ${platform} pcbios && goto mem_bios || goto no_mem
                        :mem_bios
                        kernel memdisk
                        initrd nfs://10.100.0.55:/winimgs/iso/win10install/WinPE_amd64.iso
                        chain memdisk iso raw
                        boot || goto MENU
                        :no_mem
                        kernel nfs://10.100.0.55/winimgs/iso/Winpe/wimboot gui
                        initrd -n bootx64.efi   nfs://10.100.0.55/winimgs/iso/Winpe/bootx64.efi                 bootx64.efi    
                        initrd -n bcd           nfs://10.100.0.55/winimgs/iso/Winpe/BCD                         bcd
                        initrd -n boot.sdi      nfs://10.100.0.55/winimgs/iso/Winpe/boot.sdi                    boot.sdi
                        initrd -n segmono_boot.ttf nfs://10.100.0.55/winimgs/iso/Winpe/segmono_boot.ttf   segmono_boot.ttf
                        initrd -n segoe_slboot.ttf nfs://10.100.0.55/winimgs/iso/Winpe/segoe_slboot.ttf   segoe_slboot.ttf
                        initrd -n segoen_slboot.ttf nfs://10.100.0.55/winimgs/iso/Winpe/segoen_slboot.ttf segoen_slboot.ttf
                        initrd -n wgl4_boot.ttf nfs://10.100.0.55/winimgs/iso/Winpe/wgl4_boot.ttf         wgl4_boot.ttf
                        initrd -n boot.wim      nfs://10.100.0.55/winimgs/iso/Winpe/boot.wim                    boot.wim
                        boot || goto MENU
                        

                        Now it’s still odd…it booted fine the first time on my uefi system but the second time i got the connectiuon timed out again…seems like something odd with the uefi network stack on this dell latitude E5550 laptop or something…

                        G 1 Reply Last reply Jun 29, 2018, 5:24 PM Reply Quote 0
                        • G
                          george1421 Moderator @mgrondin
                          last edited by george1421 Jun 29, 2018, 11:25 AM Jun 29, 2018, 5:24 PM

                          Something you might consider.

                          login
                          kernel nfs://10.100.0.55/winimgs/iso/Winpe/wimboot gui
                          iseq ${platform} pcbios && goto mem_bios || goto no_mem
                          :mem_bios
                          initrd -n bootmgr.exe    nfs://10.100.0.55/winimgs/iso/Winpe/bootmgr.exe bootmgr.exe
                          goto mem_cont
                          :no_mem
                          initrd -n bootx64.efi   nfs://10.100.0.55/winimgs/iso/Winpe/bootx64.efi                 bootx64.efi    
                          :mem_cont
                          initrd -n bcd           nfs://10.100.0.55/winimgs/iso/Winpe/BCD                         bcd
                          ...
                          

                          Also realize that ${fog-ip} is a variable that expands out to the IP address of your fog server. If you use the variable it makes your pxe menus portable between FOG servers.

                          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                          1 Reply Last reply Reply Quote 1
                          • 1 / 1
                          1 / 1
                          • First post
                            9/11
                            Last post

                          243

                          Online

                          12.1k

                          Users

                          17.3k

                          Topics

                          155.3k

                          Posts
                          Copyright © 2012-2024 FOG Project