/build/static/layout/Breadcrumb_cap_w.png
10/08/2019 178 views

One of the PSO techs at UserKon mentioned that there is a process for using the WinRE volume to push the KBE media to a system and then flagging the systems to boot to it on next startup.

Would anyone happen to have a link to instructions for this process? 


Our current DHCP server cannot simultaneously support Legacy and UEFI PXE booting. We are primarily using legacy on systems but gradually switching over to UEFI.  I'm currently having to manually boot UEFI systems to the KBE via a USB drive which is rather time consuming.


If there is already a documented process for this it'll save me a bit of time and trial/error.


Thanks!

Answer Summary:
0 Comments   [ + ] Show comments

Comments


Answer Chosen by the Author

3

This is something I haven't seen in years.. but the steps were like:

• Store KBE on the local workstation, eliminating PXE

• Copy KBE as a midlevel task (or copy to workstation

as a k1 script), naming it winre.wim

• Run ReagentCcommands to boot to the KBE.

– reagentc /disable

– reagentc /setreimage /path %systemdrive%\kace_recovery

(path points to the directory containing winre.wim)

– reagentc /enable

– reagentc /boottore

– shutdown /r

mkdir c:\KACE\Recovery
start /wait xcopy winre.wim c:\KACE\Recovery
ReAgentC.exe /disable
ReAgentC.exe SetReImage /Path c:\kace\recovery /Target c:\windows
ReAgentC.exe /enable
ReAgentC.exe /boottoRE
shutdown /r

I understand your might be using Windows Server 2008.... just so you know, the KACE SDA has it's own DHCP that supports UEFI and Legacy, the problem is this only works for customers who have a separate network for imaging.

Also, free solutions such as the Linux ISC DHCP, have this ability and it's free.
If you are using Infoblox, (which is a Linux DHCP), that's possible via console, contact your vendor about it.

Anyways, I remember seeing a DELL KCE from 2014, it was  a PDF with those instructions very detailed, it was popular back then, when DHCP couldn't UEFI PXE Boot

Answered 10/09/2019 by: Channeler
Red Belt

  • Thanks, will play around with this later in the week.
    • Sweet, got it working.. here is my draft script. Thanks again.

      # Script for creating a custom WinRE Volume
      # See accompanied readme.md for instructions.
      # Script Author: William Myers
      # v0.01 (Alpha)
      # 0.01: 2019-10-16: Initial script development.


      # Define the path to create the WinRE folder under.
      $WinREFolder = "$ENV:SystemDrive\IT\WinRE"



      #### Do not edit anything below

      # Create the WinRE Folder if it does not exist and clear out the contents if it does.
      IF (!(Test-path -path $WinREFolder)){
      # Create the folder
      New-Item -Path $WinREFolder -ItemType Directory |Out-Null
      } ELSE {
      # Clear the contents of the folder.
      Write-Output "Clearing current contents of $WinREFolder" |Out-Host
      Remove-Item -Path "$WinREFolder\*" -Recurse -Force
      }


      # Rename the boot.wim file to winre.wim
      if (Test-Path -Path "$PSScriptRoot\BOOT.WIM"){
      Write-Output "Renaming boot wim file to winre.wim"|Out-Host
      Rename-Item -path "$PSScriptRoot\BOOT.WIM" -NewName "winre.wim" -Force
      }


      # Copy the winre.wim file to the target path.
      Write-Output "Copying winre.wim to $WinREFolder" |Out-Host
      Copy-Item -Path "$PSScriptRoot\winre.wim" -Destination $WinREFolder -Force

      # Get current boot information
      $BootInfo = bcdedit /enum "{current}"

      Write-Output "Displaying Current Boot information" |Out-Host
      Write-Output $BootInfo |Out-Host
      # Create a blank output line
      Write-Output "" |Out-Host


      # Temporarily disable the recovery agent so that the path can be changed.
      Write-Output "Temporarily disabling Windows Recovery so that the boot file can be updated" |Out-Host
      & "$ENV:SystemDrive\Windows\System32\ReAgentc.exe" /disable 2>&1 | %{ "$_" }


      # Set the WinRE path to the transfered WinRE image
      Write-Output "Updating the Windows Recovery Path" |Out-Host
      & "$ENV:SystemDrive\Windows\System32\ReAgentc.exe" /setreimage /path "$WinREFolder" /target "$ENV:SystemDrive\Windows" 2>&1 | %{ "$_" }


      # Re-Enable the recovery agent
      Write-Output "Re-Enabling Windows Recovery" |Out-Host
      & "$ENV:SystemDrive\Windows\System32\ReAgentc.exe" /enable 2>&1 | %{ "$_" }


      # Flag the system to boot to WinRE on next startup.
      Write-Output "Flagging Windows to boot to recovery on next startup" |Out-Host
      & "$ENV:SystemDrive\Windows\System32\ReAgentc.exe" /BoottoRE 2>&1 | %{ "$_" }